mysql第二章

mysql增删改查操作

一.增:insert

1.一次插入一条数据:insert into 表名 values (值1,值2…)

2.一次插入多条:insert into 表名 values (值1,值2…),(值1,值2…)

3.通过查询来插入数据:insert into 表1 select * from 表2 where 条件(把表2的符合条件的数据 插入到表1中)

例:INSERT INTO stuinfo2 SELECT * FROM stuinfo WHERE stusex=’男

二.删(删除有三种方法可以删除)

delete:

只删除数据,但是没有删除表结构,标识列不会清零

语法:delete from 表名

只删除一条数据:

delete from 表名 where 条件

truncate:

只删除数据,但是没有删除表结构,标识列会清零

语法:truncate 表名

drop:

直接删除表结构

语法:drop table 表名

只删除一条数据:

delete from 表名 where 条件

三.改:update

语法:update 表名 set 要修改的列=修改的值 where 条件

四. 查(重点)

一切的根源:

​ select * from 表名 查询整表
​ select 列名 from 表名 查询部分

关键字 :where + 条件
逻辑词的使用:and or not

​ and :并且
​ or: 或者
​ not: 非
​ 案例:查询年龄在18-22之间的学生
​ in

模糊查询

案例:学号最后一位是2或者3的学生
查询姓李的同学
like 关键字:
SELECT * FROM 表名 WHERE 字段名 LIKE “李%”;

%的用法: 前后都有,包含即可
在前面,以什么结尾
在后面,以什么开头
占位符的使用
LIKE “”;
下划线的长度决定了字符的长度

聚合函数

​ max:最大值
​ min:最小值
​ sum:求和
​ avg:平均数
​ count:统计/计数

排序

​ 排序的语法【order by】
​ SELECT * FROM 表名 ORDER BY 列名 ASC
​ SELECT * FROM 表名 ORDER BY 列名 DESC

分页 :limit

limit 起,截取几条

语法:LIMIT 2,3

分组: group by

​ 案例:给男女分组后,统计个数
​ having :分组后在过滤

总结顺序:

​ S……F…..W…..G…..H……O

去重复 :DISTINCT

​ 如何:SELECT DISTINCT(z_money) FROM zhangwu

合并查询结果集

​ 前提:两张表结构【字段个数、类型】必须一致
合并过滤重复结果集
​ select 字段列表1 from 表1
​ Union
​ Select 字段列表2 from 表2
合并不过滤重复结果集
​ select 字段列表1 from 表1
​ Union All
​ Select 字段列表2 from 表2

常见的多表查询的方式:

​ 交叉查询【不推荐】
​ 语法:
​ select * from 表1,表2
​ 现象:笛卡尔积

内连接查询【重点】

解释:
查询的结果集——两表有关联性的数据
语法:select * from 表1 as 别名1 inner join 表2 as 别名2 on 别名1.公共列=别名2.公共列;

​ select * from 表1,表2 where 表1.公共列=表2.公共列;

外连接查询
左外连接
​ 查询的结果集——两表有关联性的数据、左边表的全部
​ select * from 表1 as 别名1 left join 表2 as 别名2 on 别名1.公共列=别名2.公共列;

右外连接
​ select * from 表1 as 别名1 right join 表2 as 别名2 on 别名1.公共列=别名2.公共列;

© 2021 Hero All Rights Reserved. 本站访客数人次 本站总访问量
Theme by hiero