本篇博文会记录开发常用的sql语句,包括写法格式,会举例说明,以及注意事项,大家可以在点目录链接,直接跳转到对应位置。
举例表定义如下:
基础用法
插入
有两种形式
- 无需指定插入数据的列名,只需提供被插入的值即可:
INSERT INTO 表名 VALUES (值1,值2,值3,,...);
举例:INSERT into `user` VALUES(3,2,2);
注:value的字段数量需要和表的列一一对应,数量不对会报错
- 需要指定列名及被插入的值:
INSERT INTO 表名 (列名1,列名2,列名3,...) VALUES (值1,值2,值3,...);
举例:INSERT into `user` (id,name,age) VALUES(6,2,2);
删除
DELETE FROM 表名称 WHERE 列名称 = 值
举例:DELETE FROM `user` WHERE id = 1
注:删除操作一定要谨慎再谨慎!一定要带where条件!一定!!! 不加where全表删除。实际开发尽量用字段表示逻辑删除,比如1代表数据有效,0代表数据无效。这样采用更新字段来达到删除的效果,并且数据可恢复,达到禁用delete语句的目的。
查询
SELECT 列名称 FROM 表名称 //可以加where筛选条件
SELECT * FROM 表名称 //表示查全部列
举例:SELECT id FROM `user`
注:用什么列查什么列的数据,不要用select * , 高并发系统中很占服务器资源。
更新
查询数据
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
举例:UPDATE `user` SET name = 'sss', age = 10 WHERE name = 'ss'
数据去重
SELECT DISTINCT 列名称 FROM 表名称
举例:SELECT DISTINCT name,age FROM `user`
高级用法
IN 操作符
SELECT 列1,列2,... FROM 表名称 WHERE 列名称 IN (值1,值2,...)
举例:SELECT name ,age FROM `user` WHERE age IN (10,11)
相关函数
count()
- COUNT(列名) :用于函数返回指定列的值的数目(NULL 不计入)
SELECT COUNT(列名) FROM 表名
举例:SELECT COUNT(name) FROM `user`
- COUNT(*) :返回表中的记录数
SELECT COUNT(*) FROM 表名
举例:SELECT COUNT(*) FROM `user`
- COUNT(DISTINCT 列名) :返回指定列的不同值的数目
SELECT COUNT(列名) FROM 表名
举例:SELECT COUNT(DISTINCT name) FROM `user`