一、什么是事务?
事务是一组逻辑操作,要么都执行,要么都不执行。从开始到结束。
事务四大特性:原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)。
二、Drop、Delete 和 Truncate 的区别?(简单理解)
drop > truncate > delete
drop删除整个表包括表结构
truncate删除表中所有数据保留表结构
delete删除表中一行数据
三、Where 和 Having 的区别?
where是在分组前过滤数据
having是在分组后过滤数据
四、实用sql语句
①增Insert
(特殊的如果id自动递增的话,就不需要插入id)
基本语法 insert into 表名(列1,列2,列3,列4,…) values(值,值,值)
例子 insert into student(name,sex,age) values(‘张三’,18,‘男’)
②删delete
基本语法 delete from 表名 where 列=值
例子 delete from student where id=1
#DELETE from 表名 一行行删除整张表
③改update
基本语法 update 表名 set 列=值,列=值,… where…
列子 update student set name = ‘张三’ where id=1
④查select
1.基本的select查询语句
select * from student(查询student表中所有列)
代表代表所有列,要查询哪一列就把改成哪一列,可以查询一列,也可以查询多列,多列用逗号隔开
from后面跟的是表名
查询的结果包含列名和每一列的数据
2.条件查询where
基本条件查询语句 select * from student where id =1(表示查询student表中id=1的学生的所有列)
where后跟查询条件,查询的如果是字符串,要带引号
多条件查询 如果是并且条件用and 或者用or
多条件查询例子:
查询出班级号为20201001班的学生并且要求是男生,年龄大于20
SELECT * from student where class_num = ‘20201001’ and sex = ‘男’ and age > 20
查询出班级号为20201001班的学生或者性别为女的学生
SELECT * from student WHERE class_num = ‘20201001’ or sex = ‘女’
3.#去重查询 DISTINCT
例子:查询出表当中有哪些性别 SELECT DISTINCT sex FROM student
4.模糊查询重点 模糊查询可以实现搜索功能
基本语法 like 通配符
例子 select * from student where name like ‘%王’ 表示模糊查询name以王结束的
select * from student where name like ‘王%’ 表示模糊查询name以王开头的
select * from student where name like ‘%王%’ 表示模糊查询name中包含王字的
5.排序查询 ORDER BY 倒序关键字DESC
默认排序规则是根据id进行排序,并且是id从小到大 SELECT * FROM student
例子 按照年龄从低到高进行排序
SELECT * FROM student ORDER BY age
按照年龄从高到低进行排序
SELECT * FROM student ORDER BY age DESC
6.分页查询
limit关键字 限定查询多少条数据
OFFSET关键字 从第几条数据开始查询 默认第一条数据是0
查询出第二页的数据,这一页有3条数据
SELECT * FROM student LIMIT 3 OFFSET 3
知道页数和每页查询的数据(固定)
SELECT * FROM student LIMIT 数据量 OFFSET 数据量 * (页数-1)
SELECT * from student LIMIT 0,3
LIMIT 0,3 limit后一个数据表示从第几条数据查起,后面数据是查询的条数
7.聚合查询
count() :记录查询列有多少行
SUM() :求数值序列的和
AVG() :求平均数
MAX() :求最大值
MIN() :求最小值