Mysql知识点总结1
AS别名:
(1)可以给字段取别名、可以给表名取别名
(2)AS 可以省略
(3)如果给字段取别名,如果别名中包含特殊符号,例如“空格”等,建议给别名加上双引号或单引号
(4)如果是给表名取别名,那么不能加双引号或单引号,也不能有特殊符号,例如“空格”等
去重DISTINCT
着重号:
例如:select `name` from t_stu;
可以给字段或表名加着重号
如果字段名或表名与关键字一样更要加着重号了
MYSQL运算符:
(1)算术运算符:+ - * /(除也可以写成div,div取整) %(取模可以写成mod)
(2)比较运算符:= > >= < <= !=(不等于还可以写成<>) <=>(安全等于)
(3)逻辑运算符:&&(逻辑与也可以写成and) ||(逻辑或也可以写成or) not(逻辑非) xor(逻辑异或)
(4)范围:表达式 between ... and ... (也可以写成 表达式>=... and 表达式 <=...)
表达式 not between ... and ...(也可以写成 表达式<... || 表达式 >...)
(5)集合:in (值,值,值...) not in(值,值,值...)
(6)模糊查询:LIKE NOT LIKE,通配符:%表示0-n个字符,_下划线代表一个字符
(7)位运算符:&(按位与) |(按位或)^(按位异或)~(按位取反)>>(右移)<<(左移)
(8)NULL值判断,is null 或 is not null,如果使用null=null,null<>null,null=0,null<>0,null=false等都不对
不过xxx is null 可以使用xxx <=> null ,xxx is not null 可以写成 not xxx <=> null
结论:所有的运算符遇到NULL结果都是NULL,除了<=>
创建从表(外键链接主键)
constraint 外键名 foreign key 外键 references 主表名(主键);
交叉情况(生成一个笛卡尔积)
select * from 从表,主表;
内连接
select sfrom 从表 jnner join 主表 on 从表.id = 主表.id;
左外连接0
select sfrom 从表 left join 主表 on 从表.id = 主表.id;
右外连接
select sfrom 从表 right join 主表 on 从表.id = 主表.id;
全外连接
select sfrom 从表 left join 主表 on 从表.id = 主表.id union select sfrom 从表 right join 主表 on 从表.id = 主表.id;
多对一外键约束(双表,三表)
select sfrom 从表 jnner join 主表 on 从表.id = 主表.id on delete cascade on update cascade;
事务
开启手动处理事务模式
set autocommit = false;
开始事务(推荐)
start transaction;
回滚
rollback;
提交事务
commit;
保存还原点1
savepoint point1;
回滚到某个还原点
rollback to point1;
清空表,回滚,对于truncate无法回滚
truncate t_stu_detail;
修改表结构,回滚,对于修改表结构的语句无法回滚
alter table t_stu_detail add description varchar(50);
浙公网安备 33010602011771号