SQL - 基本操作

插入数据

插入

插入检索数据(查询结果应该是单行单列)

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 条件;
  1. 不能写on子句。会把Allen 锁死在research部门
  2. 从员工表中找到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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容