目录

一、数据库的基本操作

1、数据库的登录及退出

2、查看所有数据库

3、显示数据库版本

4、显示时间

5、创建数据库

6、查看创建数据库的语句

7、查看当前使用的数据库

8、查看当前用户

9、使用某个数据库

10、删除数据库

二、数据表的基本操作

1、查看当前数据库中的所有表

2、创建表

3、查看表结构

4、查看创建表的语句

5、向表中插入,更新,删除数据

6、查看表中数据

7、修改表名字

8、修改表字段信息

9、删除表

三、mysql查询操作

1、基本查询

2、条件

3、排序

4、聚合函数

5、分组

6、连接查询

6.1、内连接查询

6.2、外连接查询

6.2.1、左连接查询

6.2.2、右连接查询

7、自关联

8、子查询和联合查询


一、数据库的基本操作

1、数据库的登录及退出

退出数据库,以下三种方式都可以:

exit

quit

ctrl+d

2、查看所有数据库

3、显示数据库版本

4、显示时间

5、创建数据库

6、查看创建数据库的语句

注意:在创建数据库或查看创建数据库语句时,database没有s。

7、查看当前使用的数据库

当选择了某个数据库时,显示如下:

8、查看当前用户

9、使用某个数据库

10、删除数据库

二、数据表的基本操作

1、查看当前数据库中的所有表

2、创建表

创建表的命令:create table 数据库表名字 (字段 类型 约束 [字段 类型约束]),中括号中的可以省略。

约束:

  • 主键 primary key : 物理上存储的顺序
  • 非空 not null : 此字段不允许填写空值
  • 唯一unique: 此字段的值不允许重复
  • 默认default: 当不填写此值时,会使用默认值。如果填写时,以填写的值为准
  • 外键foreign key : 对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存
  • 在,如果存在则写成功,如果不存在则写失败。 虽然外键约束可以保证数据的有效性,但是在进行
  • 数据的crud(增加,修改,删除,查询)时,都会降低数据库的性能。
  • auto_increment 表示自动增长

创建表

再创建一个students表

3、查看表结构

查看表结构也就是查看各个字段的信息。

4、查看创建表的语句

5、向表中插入,更新,删除数据

插入:

更新:

删除:

删除指定行:

删除所有行:

6、查看表中数据

查看所有数据:

也可以查看指定数据(把*换成想查找的具体字段就行):

7、修改表名字

8、修改表字段信息

添加字段:alter table 表名 add 列名 类型;

重新命名字段:alter table 表名 change 原字段名 新字段名 类型及约束;

修改字段:

删除字段:alter 表名 drop 列名

修改表的存储引擎:

常见引擎:MyISAM,InnoDB

查看之前的引擎:

修改之后:

9、删除表

三、mysql查询操作

1、基本查询

查询所有字段:

查询指定字段:

使用as给字段起名:

消除重复行:

2、条件

比较运算:大于,小于,大于等于,小于等于,相等,不相等;逻辑运算

查询年龄大于18岁的学生信息

查询年龄在大于21小于23的

查询18岁以上的男性

查询十八岁以上的身高大于180的同学

查询没有超过23岁的男性

查询没有超过十八岁的女性

模糊查询

模糊查询就是通一小部分信息查询对应的个体,如图:

查询姓名中以“小”开始的名字

查询姓名中含有“小”的所有名字

查询有两个字的名字

查询至少有两个字的名字

范围查询

查询年龄为18,20,24的学生信息

查询年龄不是18,20,24

查询年龄在18到24之间的所有学生所有信息

查询年龄不在18到24岁之间姓名,年龄信息

查询学生学号为空的学生

3、排序

查询年龄在18岁以上的学生,年龄从小到大

查询年龄在18岁以上的学生,年龄从大到小

查询年龄在18到24岁之间的学生,按照年龄从小到大,身高从高到底排序

4、聚合函数

count()总数,max()最大值,min()最小值,sum()求和,avg()平均值,round()四舍五入

新表信息:

查询男生有多少人

查询最大年龄

查询最小年龄

计算所有人的年龄总和

计算平均年龄

计算平均年龄,设置平均年龄的小数位数

5、分组

新表信息:

group by分组

按照性别分组

计算男生和女生的人数

查看性别分组中,年龄最大的

查看性别分组中,每个组的人名

6、连接查询

内连接查询时比较常见的连接查询,可以查询两张及两张以上的数据表信息

假设一个学生的姓名、年龄、性别信息在第一张表中,家庭住址、学号信息在另一张表中,现在需要这个学生的全部信息,我们就需要连接查询

6.1、内连接查询

  • 定义:从一张表中取出一条记录,去另一张表中匹配,当某个条件在这两张表中相同时就会保留下来。
  • 查询条件:当两张表中存在相同意义的字段的时候,就可以用过该查询方式来连接查询,当该字段的值相同时就可以查出该记录。

现在有两张表student1,student2,如下:

查询两张表能对应上得全部信息

查询方式一:

查询方式2:

6.2、外连接查询

对于内连接来说,我们只会保留符合连接条件的信息,而对于那些不符合连接条件的信息,我们不会保留,有时我们可能还需要这些信息,那么外连接就是解决这个问题的。外连接不仅仅会保留符合连接条件的信息,对于那些不符合连接条件的列,将会被填上NULL值,再返回到结果中。外连接中参与连接的表有主从之分,主表的每行数据去匹配从表的数据列。外连接分为左外部连接和右外部连接两种。

6.2.1、左连接查询

left join:以主表所在的方向区分外部连接,主表在左边,称为左外部连接;左表不管能不能匹配上连接条件,最终都会保留,只是右表不能匹配的字段都置为NULL;

6.2.2、右连接查询

right join:以主表所在的方向区分外部连接,主表在右边,称为右外部连接;右表不管能不能匹配上条件,最终都会保留,只是左表不能匹配的字段都置NULL(这里右表的所有结果都能匹配上左表,所以这里没有NULL值)。

7、自关联

但一个表与其自身进行连接时,称为表的自身连接

查询比id号为1的同学身高高的同学信息;

8、子查询和联合查询

下面这篇文章介绍的很详细

https://blog.csdn.net/weixin_39411321/article/details/90602030?spm=1001.2014.3001.5502