第一节:增删改语句
1、insert语句
语法
INSERT [INTO] table_name [(COLUMN1 [,COLUMN2 [,......]])]
VALUES (VALUE1 [,VALUE2 [,......]);
省略列名:前提条件是按顺序插入所有列
值要和列 一一对应(个数、类型、顺序)
一次录入多行:
语法:
INSERT [INTO] table_name [(COLUMN1 [,COLUMN2 [,......]])]
VALUES
(VALUE1 [,VALUE2 [,......]),
(VALUE1 [,VALUE2 [,......]),
(VALUE1 [,VALUE2 [,......])
2、update语句
语法:
UPDATE table_name SET
COLUMN1={}, COLUMN2={}......
WHERE
3、删除
删除表中的数据:
delete: 根据条件删除,逐行删除。
truncate:整表删除,无法设定条件,效率高,自增列会重新计数,无法恢复数据;无法直接删除有外键引用的表。
#删除数据
#[可选的]
#以数据行为单位进行逐行删除,删除速度较慢
# 安全,可以记录日志,需要的时候可以通过日志进行恢复
delete from 表 [where 条件]
#truncate 截断 、截取
# 直接删除整张表中的数据,相当于先把物理表删了,然后又创建了一个新表
# 执行效率高,但是无法设定条件
# 自增列会重新计数
truncate table 表名;
4、级联
涉及到有主外键关联的数据表:
1、删除数据时:需要先删外键表,再删主键表
2、更新数据时:
3、录入数据时:先录入主键,再录入外键
级联:当更新(删除)主键表中的数据时,外键表中引用的数据会自动更新(删除)
cascade:删除主键时自动删除外键表中引用的数据,修改时自动更新外键表中引用的数据
# on delete CASCADE :开启 删除 级联
# on update CASCADE : 开启 更新 级联
alter table emp
add CONSTRAINT fk_deptno FOREIGN key (deptno)
REFERENCES dept(deptno)
on delete CASCADE on update CASCADE
第二节:查询
sql调优/优化!
语法:
select 列名1,列名2 # 查询列
from 表名 # 从 某张表中
#可选
where 条件表达式
group