插入数据
插入
插入检索数据(查询结果应该是单行单列)
mysql 方言
ignore 忽略冲突记录,写入不冲突记录
从一个表复制到另一个
更新
语法结构
DELETE [IGNORE] FROM 表名
[WHERE 条件]
[ORDER BY ...]
[LIMIT ...]
update 表联结
UPDATE 表1 JOIN 表2 ON 条件 SET 字段1 = 值1,字段2 = 值2;
UPDATE 表1 , 表2 SET 字段1 = 值1,字段2 = 值2 WHERE 条件;
- 不能写on子句。会把Allen 锁死在research部门
- 从员工表中找到allen,从部门表中找到research的编号,将编号赋值给allen
-- 底薪低于平均底薪的增加150
UPDATE t_emp e JOIN (SELECT AVG(sal) avg FROM t_emp) t
ON e.sal < avg
SET e.sal = e.sal+150
删除
DELETE 表1,... [IGNORE] FROM 表1 JOIN 表2 ON 条件
[WHERE 条件]
[ORDER BY ...]
[LIMIT ...]
-- 删除10部门中,工龄超过20年
DELETE FROM t_emp
WHERE deptno=10 AND DATEDIFF(NOW(),hiredate)/365 >=20
-- 删除20部门中工资最高的员工记录
DELETE FROM t_emp
WHERE deptno = 20
ORDER BY sal+IFNULL(comm,0) DESC
LIMIT 1
网友评论