添加字段----add
alter table test add column gender varchar(2)
删除字段------drop
alter table test drop column gender
修改字段类型----modify
alter table test modify column gender char(2)
修改字段名称----change
alter table test change column gender sgender char(2)
修改表名称
alter table test rename to student
删除数据
delete from test(删除全部数据)只能删除表的数据,不能删除表的约束
delete from test where id = 1;
drop table test;删除表
truncate table test;可以删除表的数据和约束,不能回滚
null和空字符串的区别:
null:表示没有值。判断null is null
空字符串:有值。判断空字符串,address=“”
模糊查询:like
%和_
%表示任意个字符
_表示没有一个字符
count函数统计的数量不包含null的数据
添加外键约束的语法
constraint 外键名称 foreign key(本表字段) references 引用表的表名(字段)
添加数据:先添加主表,再添加副表
修改数据:先修改副表,再修改主表
删除数据:先删除副表,再删除主表
级联修改: ON UPDATE CASCADE
级联删除: ON DELETE CASCADE
CONSTRAINT emlyee_dept_fk FOREIGN KEY(deptId) REFERENCES dept(id) ON UPDATE CASCADE ON DELETE CASCADE -- ON CASCADE UPDATE :级联修改,级联删除
第一范式: 要求表的每个字段必须是不可分割的独立单元
第二范式: 在第一范式的基础上,要求每张表只表达一个意思。表的每个字段都和表的主键有依赖
第三范式: 在第二范式基础,要求每张表的主键之外的其他字段都只能和主键有直接决定依赖关系。
左[外]连接查询: 使用左边表的数据去匹配右边表的数据,如果符合连接条件的结果则显示,如果不符合连接条件则显示null
-- (注意: 左外连接:左表的数据一定会完成显示!)
SELECT
d.deptName,e.empName
FROM dept d
LEFT OUTER JOIN employee e
ON d.id=e.deptId;
右[外]连接查询: 使用右边表的数据去匹配左边表的数据,如果符合连接条件的结果则显示,如果不符合连接条件则显示null
-- (注意: 右外连接:右表的数据一定会完成显示!)
SELECT d.deptName,e.empName
FROM employee e
RIGHT OUTER JOIN dept d
ON d.id=e.deptId;