西安直播网站建设个人网页制作成品免费下载
开发中常用的SQL语句
- 1.update更新时不能引用本身表
 - 2.备份MySQL
 - 3.函数的使用
 - 1. case,when的使用
 - 2. IF
 - 3.其它
 - 4.拼接
 - 5. 处理时间
 
- 4.导出表结构注释等
 
1.update更新时不能引用本身表
UPDATE student SET valid_flag = 0
WHERE id IN (SELECT idFROM (SELECT su.idFROM student su JOIN teacher t ON su.goto_id = t.idWHERE t.valid_flag = 0 AND su.valid_flag != 0) AS subquery
)
 
2.备份MySQL
mysqldump -u admin -p 123456 > /root/backup_file.sql;
 
出现sock报错时
mysqldump -u admin -p 123456 --socket=/home/data/mysql/mysql.sock  > lwspace0927.sql
 
3.函数的使用
1. case,when的使用
select CASE   pidWHEN 1 THEN '语文'WHEN 2 THEN '数学'WHEN 3 THEN '英语'ELSE  '化学'	END as 学科
sum(case when se.rent_flag=1 then se.total_area else 0 end) as rentTrueCount,
 
2. IF
SELECT IFNULL(SUM(c.total_amount), 0)
 
select if(1=2,1,2);--2
 
3.其它
不包含数字
 where  periods not  REGEXP '[^0-9.]'
 
4.拼接
LEFT() 函数用于截取日期字符串的前10个字符,即日期的年月日部分。然后使用 ’ —— ’ 字符串作为连接符进行拼接。
 SELECT CONCAT(left('2000-01-01',10), ' —— ', left('2000-12-31',10) ) AS contractStartEndTime,CONCAT(left( '2023-01-01',10),' —— ', left('2023-12-31',10) ) AS rentStartEndTime
 

5. 处理时间
select CONCAT(YEAR(NOW()) - 1, '-01-31 23:59:59')
select year(now())--2023
 
相差天数
DATEDIFF(end_time, start_time) 
 
日期加n天
DATE_ADD(sc.rent_end_time, INTERVAL n DAY)
 
4.导出表结构注释等
SHOW FULL COLUMNS FROM table_name;
 

SELECT table_name, column_name, column_type, is_nullable, column_default, extra, column_comment
FROM information_schema.columns
WHERE table_schema = 'shequ-order';--table_schema库名字
 

