as 起别名
SELECT employee_id as "编号" , first_name as "名字" , salary*12 as "年薪" FROM t_employees;
DISTINCT 查询去重
SELECT DISTINCT manager_id FROM t_employees;
排序查询 ORDER BY DESC降序 ASC升序
SELECT employee_id , first_name , salary FROM t_employees ORDER BY salary DESC;
逻辑判断(and、or、not)
SELECT employee_id , first_name , salary FROM t_employees WHERE salary = 11000 AND commission_pct = 0.30;
区间判断(between and)
SELECT employee_id , first_name , salary FROM t_employees WHERE salary BETWEEN 6000 AND 10000
模糊查询 like
SELECT * FROM t_employee
WHERE ename LIKE ‘_冰%’;
分支结构查询
SELECT employee_id , first_name , salary , department_id ,
CASE
WHEN salary>=10000 THEN 'A'
WHEN salary>=8000 AND salary<10000 THEN 'B'
WHEN salary>=6000 AND salary<8000 THEN 'C'
WHEN salary>=4000 AND salary<6000 THEN 'D'
ELSE 'E'
END as "LEVEL"
FROM t_employees;
SUM() | 求所有行中单列结果的总和 |
AVG() | 平均值 |
MAX() | 最大值 |
MIN() | 最小值 |
COUNT() | 求总行数 |
SELECT sum(salary) FROM t_employees;
GROUP BY | 分组依据,必须在 WHERE 之后生效 |
左外连接(LEFT JOIN ON)
SELECT e.employee_id , e.first_name , e.salary , d.department_name FROM t_employees e
LEFT JOIN t_departments d
ON e.department_id = d.department_id;
删除
DELETE from film where id =5
更新
update film set name ='4444' where id=4
datetime 字段时间查询(一个月内的信息)(这个时间只能计算到天)(后面的秒不不会计算)
select * from film where date(aa)>='2021-10-1' and date(aa)<'2021-11-2'
字符串的连接方法
关键字 concat
select concat ('44ddd44','d') As asdas
limit 的使用方法
select * from table limit 5;: 检索前5行
select * from table limit 0,3: 检索0代表的是第一个数,从第一个数开始往后3个
select * from table limit 1,4: 检索从第2个数开始,往后显示4个数
事务管理(ACID)
谈到事务一般都是以下四点
原子性(Atomicity)
原子性是指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
一致性(Consistency)
事务前后数据的完整性必须保持一致。
隔离性(Isolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离。
持久性(Durability)
持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响