今天主要是实操练习,把练习中易忘记或易混淆知识点备档。
一、注意点
1、exists 使用时,存在就返回外部查询的结果,最终结果并不是exists中符合where条件的结果
2、limit: 只有一个数字,是取前几行记录,如;limit 3 取前三行记录;
有两个数字并用','隔开,前一个数字表示结果的起始位置(系统是从0开始),后一个数字是
取几行记录,如 limit 5,9 从第6行记录开始连续取9行记录,即第6、7、8、9、10、11、
12、13、14行的记录
3、从某位置开始取字符数据函数:substring(参照的字符串,取字符的起始位置[从1开始],连续取的字符数)
4、分组没有聚合,取得是多个度量值第一条记录
5、select 在MySQL中有查询和输入功能。比如 select 1=1 直接返回结果为2,不用带from
6、在使用update和delete时,5.7版本以上为了安全性禁止直接修改表数据,使用前或报1175错误执行'set sql_safe_updates = 0;'解除锁定
7、 0 和 '' 不是空值,什么都没有才是空值
8、 @ 定义的变量是全局变量,未用@引用的变量是局部变量
9、edit→format→beautify query 可以美化语句格式
10、 CROSS JOIN子句不具有连接条件 返回'表1行数*表2行数'结果,若有连接条件就是内连接;格式:select * from t1 cross join t2;
11、instr(源字符串,待查找字符)函数,查询某字符在字符串中的第一次出现的位置,从1开始
12、 replace(源字符串,待替换字符/待替换字符串,新的字符/字符串)函数,用新的字符或字符串替换某字符或字符串
13、 substr(源字符串,起始位置,截取多少位)函数,从某字符串中的某个位置开始截取多少个字符串
15、weekday(date字符串) 返回所属周几,从周一开始,周一为0以此类推;如weekday('2019-07-22')=0
16、subdate(curdate(),weekday(curdate())) 取当期日期所属本周周一的日期;subdate(curdate(),weekday(curdate())-6)取当期日期所属本周周日的日期;subdate(curdate(),weekday(curdate())-7) 取当期日期所属下周周一的日期;subdate(curdate(),weekday(curdate())-13)取当期日期所属下周周日的日期
网友评论