龙空技术网

青胜软件测试 | 常用的MySQL命令与常见的数据库管理系统介绍

郑说软件测试 46

前言:

今天你们对“mysql数据库管理系统”大致比较关注,兄弟们都需要知道一些“mysql数据库管理系统”的相关文章。那么小编在网摘上汇集了一些关于“mysql数据库管理系统””的相关内容,希望各位老铁们能喜欢,同学们快快来了解一下吧!

什么是数据库?

数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据进行增加,修改,删除及查询操作。

什么是数据库管理系统?

数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据。

常见的数据库管理系统

MYSQL :开源免费的数据库,小型的数据库.已经被Oracle收购了.MySQL6.x版本也开始收费。Oracle :收费的大型数据库,Oracle公司的产品。Oracle收购SUN公司,收购MYSQL。DB2 :IBM公司的数据库产品,收费的。常应用在银行系统中.SQLServer:MicroSoft 公司收费的中型的数据库。C#、.net等语言常使用SyBase :已经淡出历史舞台。提供了一个非常专业数据建模的工具PowerDesigner。SQLite : 嵌入式的小型数据库,应用在手机端。Java相关的数据库:MYSQL,Oracle.

这里使用MySQL数据库。MySQL中可以有多个数据库,数据库是真正存储数据的地方。

数据库与数据库管理系统的关系

一、连接MySQL

格式: mysql -h主机地址 -u用户名 -p用户密码

1.连接到本机上的MYSQL

首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -u root -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的。这里密码输入即可进入MySQL:

G:\>cd G:\mysql_log\bin --进入目录 mysqlbinG:\mysql_log\bin>mysql -u root -p --键入命令mysql -u root -pEnter password: ****** --输入密码即可Welcome to the MySQL monitor. Commands end with ; or \g.

2.连接到远程主机上的MYSQL

假设远程主机的IP为:110.110.110.110,用户名为root,密码为123456。则键入以下命令:mysql -h 110.110.110.110 -u root -p 123456,这里不做演示了。

二、修改密码

格式:mysql admin -u 用户名 -p 旧密码 password 新密码

1.给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以下命令:

mysqladmin -u root -password ab12;//注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

2.再将root的密码改为20220317。

`mysqladmin -u root -p ab12 password 20220317;

三、 创建数据库create database 数据库名;//如create database studentDB;

四、删除数据库drop database <数据库名>;//如 drop database studentDB;

五、选择数据库use studentDB;

六、数据类型

MySQL支持所有标准SQL数值数据类型。

这些类型包括严格数值数据类型(integer、smallint、decimal和numeric),以及近似数值数据类型(float、real和double precision)。

1.数值类型

2.日期和时间类型

3.字符串类型

注意:char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

七、创建数据表

create table IF NOT EXISTS `runoob_tbl`(`runoob_id` INT unsigned auto_increment,--unsigned表示无符号数,即值大于等于0`runoob_title` VARCHAR(100) NOT NULL,`runoob_author` VARCHAR(40) NOT NULL,`submission_date` DATE,PRIMARY KEY ( `runoob_id` )//完整性约束);

完整性约束包括:not null、auto_increment、primary key、foreign key(外码)referrences 参照表(主码)、unique、check() 等;

八、删除MySQL数据表drop table 表名;//如 drop table course;九、插入数据insert into 表名 ( field1, field2,...fieldN )values( value1, value2,...valueN );

十、查询数据select [all|distinct]<目标列1> 别名[,<目标列2> 别名.....]from <表名1/视图名1>[,<表名2/视图名2>...]|<select 语句> as 别名 [where <条件表达式>][group by <列名>][having <条件表达式>][order by <列名>[desc|asc]];//查询语句的一般格式;--如:select all name 姓名,sno 学号 from student where sex='男' order by class desc;

1.WHERE 子句

我们知道从 MySQL 表中使用 select语句来查询数据。如需有条件地从表中选取数据,可将 where子句添加到 select语句中,相当于做选择操作。where 子句也可以运用于 SQL 的 delete或者 update命令。

select field1, field2,...fieldN from table_name1, table_name2...[where condition1 [and|or] condition2.....--如:select * from student where sdept='计算机系' and sex='男' and sage>=20;--又如 delete from student where sno='23131423';--再如 update student set sname='张三' where sno='23403432';

2.like子句

我们知道在 MySQL 中使用 SQL select命令来读取数据, 同时我们可以在 SELECT 语句中使用 where 子句来获取指定的记录。where子句中可以使用= > <等操作符来设定条件,当时有时候我们需要一些模糊的条件查询,例如,查找学生表中学生姓名姓刘的所有学生,这时就需要用SQL like子句中使用百分号 **%**字符来表示任意长度的字符串,_字符代表任意单个字符,通过这两个字符可以达到模糊查询的效果。

select * from student where sname like '刘_' and sno like '2000%';--上述语句查询学生表中姓名为刘X开头且学号为'2000'开头的学生信息;

3.order by子句排序

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。

如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 order by 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

select field1, field2,...fieldN from table_name1, table_name2...order by field1 [ASC|DESC], [field2...] [ASC|DESC];--如:select * from student order by sage desc;//查询学生并按年龄降序排序,注意系统默认是asc排序

4.group by 子句分组

group by 语句根据一个或多个列对结果集进行分组,在分组的列上我们可以使用 count, sum, avg等函数。

例如: select class 班级,count(*) 人数 from student group by class;

5.join 和left join多表查询

我们已经学会了如果在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据。本章节我们将向大家介绍如何使用MySQL 的 join在两个或多个表中查询数据。你可以在select, update和 delete语句中使用Mysql 的 join 来联合多表查询。left join 与 join 有所不同。 MySQL left join 会读取左边数据表的全部数据,即便右边表无对应数据

select s.sno,s.sname,c.cno,s.score from student s,course c where s.sno =s.cno;//join方式相当于等值连接select a.tutorial_id, a.tutorial_author, b.tutorial_count from tutorials_tbl a left join tcount_tbl b on a.tutorial_author = b.tutorial_author;//左连接方式,即保留左边悬浮元组十一、更新数据

如果我们需要修改或更新 MySQL 中的数据,我们可以使用 SQL update命令来操作。

update 表名 set field1=new-value1, field2=new-value2...[where 子句];--例如:update student set sname='张三' where sno='23403432';十二、删除数据

你可以使用 SQL 的 delete from 命令来删除 MySQL 数据表中的记录。

delete FROM 表名 [where 条件子句];--例如;delete from student where sname='张三';

标签: #mysql数据库管理系统