sql 语句(常用_常见)

结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种
数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
  • 添加一个自增ID字段
ALTER TABLE tblname ADD COLUMN csmid COUNTER (0, 1)
  • 删除一个字段
ALTER TABLE tblname DROP COLUMN csmid
  • 取某一列的最大值
SELECT MAX(fieldname) from tblname;
  • 查询一个字段有哪几种取值
SELECT DISTINCT fieldname From tblname;
  • 统计一个字段不同取值的数量,即有多少种取值。
SELECT COUNT(DISTINCT fieldname) FROM tblname;
  • 统计一个字段的几种取值,并按统计量降序排列。
SELECT fieldname, COUNT(*)
FROM tblname
GROUP BY fieldname
ORDER BY COUNT(*) DESC;
  • 统计学号相同,班级不同的学生
SELECT sno, COUNT(*) FROM
(
SELECT sno, sclass FROM students
GROUP BY sno, sclass
)
GROUP BY SNO
ORDER BY COUNT(*) DESC
  • MySQL查询时将日期加8小时。(DATE_ADD函数)
SELECT DATE_ADD(datefiled, INTERVAL 8 HOUR ) FROM tbl;
  • MySQL清除空白可查阅 trim 和 replace 函数。
  • 根据关键字段去重,需用到临时表。这里主要是提供思路,需根据具体数据库得到具体sql语句。(参考这里)
# 添加自增ID
select identity(int,1,1) as autoID, * into tmpTable from tableName
# 选出重复记录中值最小的自增ID
select min(autoID) as autoID into tmpTable2 from tmpTable group by keyField1, keyField2
# 得到最终结果
select * from tmpTable where autoID in(select autoID from tmpTable2)
  • mysql无重复插入。(参考这里)
    1、无则插入,有则忽略。
/*某些版本的mysql会有一个警告*/
INSERT IGNORE INTO tblname(a,b,c) VALUES (1,2,3);    
/*不会有警告*/
INSERT INTO tblname(a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c;    

2、无则插入,有则更新。

INSERT INTO tblname(a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;  
  • 两表相减。(in、not in、exists、not exists)
    1、单字段。
SELECT field FROM tableA
WHERE field NOT IN
(
SELECT field FROM tableB
)

2、多字段。

SELECT * FROM tableA
WHERE NOT EXISTS
(
SELECT * FROM tableB 
WHERE tableA.field1=tableB.field1 AND tableA.field2=tableB.field2
)
  • 查找以数字打头的数据。(MySQL,正则)
SELECT * FROM tableName WHERE fieldName REGEXP '^[0-9]' LIMIT 100;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值