Mysql错题集合:
1、使用case --when --流程控制语句 当条件判断为字符时候记得加引号
例如:错误 WHEN AD_PRES THEN A 正确:WHEN “AD_PRES” THEN “A”
2、在使用子查询的时候需要连接的时候记得要使用内连接外连接功能。
3、在查询结果列中需要最低、最高的行时可以巧妙使用排序(order by)以及分列(limit 0,1)函数就行筛选来取代MAX和MIN。
5、条件判断时可以使用括号 再连接 and or 等关系运算符
6、在使用case-when时 也可以在when 后面再加一个case-when子语句进行分类判断。
7、在使用INSERT INTO时 插入的只能是单行的对象,不能是整列。
例子:
ID | FIRST_NAME | LAST_NAME | USERID | SALARY |
---|---|---|---|---|
1 | patel | Ralph | Rpatel | 895 |
2 | Dancs | Betty | Bdancs | 860 |
3 | Biri | Ben | Bbiri | 1100 |
4 | Newman | Chad | Cnewman | 750 |
5 | Ropeburn | Audrey | Aropebur | 1550 |
- 正确:INSERT INTO 表名 VALUES( 1 ,‘patel’, ‘Ralph’, ‘Rpatel’, 895)
错误: INSERT INTO 表名.id VALUES( 1 ,2,3,4,5,)
8、使用INSERT INTO添加多行时正确使用方法:
INSERT INTO my_employees VALUES
(2,‘Dancs’ ,‘Betty’, ‘Bdancs’ , 860),
(3, ‘Biri’, ’ Ben ’ , ‘Bbiri’, 1100),
(4, ‘Newman’,’ Chad’ ,‘Cnewman’, 750),
(5, ‘Ropeburn’,‘Audrey’,‘Aropebur’, 1550);
每一个值都应该用括号括起来,用逗号分隔开
9、Truncate和Delete删除的区别
① truncate删除后,如果再插入,标识列从1开始
delete删除后,如果再插入,标识列从断点开始
②delete可以添加筛选条件,truncate不可以添加
③truncate 效率较高
④truncate没有返回值
delete可以返回受影响的行数
⑤truncate不可以回滚
delete可以回滚。