一、前言
今天又学习了一遍sql查询语句,主要是增删改查,还有其他功能的语句,整理到这里。
注意写语句的时候符号一定要用半角,例如逗号,否则·会报错,一定要注意细节
二、内容
1.语句格式
sql语句的格式比较固定,例如
SELECT id,NAME,sex,age FROM student
基本是功能词+要查找的关键词+from+表,非常自然的语言逻辑(和平时说话差不多,感觉和英语的语言逻辑非常像)
2.具体语句
(1)查找(select...from)
-- 查找
SELECT id,NAME,sex,age FROM student
SELECT * FROM student
基本格式是:select+关键词,关键词+from+表
使用“*”可以代表表中的所有关键词
(2)添加(insert into...)
-- 添加
INSERT INTO student(name,age,sex) VALUES("马十",26,"男")
基本格式是:insert+into+表+(关键词,关键词)+values(内容)
数字可以不加双引号
(3)删除(delete from...)
-- 删除
DELETE FROM student WHERE id = 8
基本格式是delete+from+表+where+关键词+值
(4)修改(update...)
-- 修改
update student set `name`="马千",`age`=26,`sex`="男" where `id` = 8
基本格式是update+表+set+关键词和内容+where+关键词和内容
(5)筛选(用select语句举例)
①where
where是非常常用的筛选词,后面跟上你想要筛选的条件就可以达到筛选的目的
SELECT * FROM student WHERE age=20
这就是一条很基础的筛选语句
②数值运算符
-- > 大于
-- < 小于
-- >= 大于等于
-- <= 小于等于
-- != <> 不等于
SELECT * FROM student WHERE age > 20
上面就是SQL中的大于小于号
③逻辑运算符
-- 逻辑运算符
-- and并且
-- or或者
-- between .. and.. 在两个值之间[20,30]
-- in(..,..,..) 包含
SELECT * FROM student WHERE age BETWEEN 20 and 30
SELECT * FROM student WHERE age in(25,26,30)
逻辑运算符就是and和or
当你想进行多条件查询时就用and或者or将不同的条件连接就行
还有两个特殊的between...and...和in(...,...,...)可以快速地进行范围查询
④is null
is null就是判空,下面这条语句就是把关键词age值为空的字段查出来
-- is null ..是空
SELECT * FROM student WHERE age is null
⑤模糊查询 like
-- 模糊查询
-- like为模糊查询,需要配合占位符使用
-- _代表一位字符
-- %代表任意位字符
SELECT * FROM student WHERE name LIKE "张%"
模糊查询就是关键词后面跟上“like”而不是“=”
需要配合占位符使用
⑥分页查询 limit
-- 分页查询
-- limit a,b 限制查询子语句 a代表起始索引值,起始索引值从0开始 b代表查询个数
-- limit b offset a
-- 如果有其他子语句,limit子语句放在最后
SELECT * from student LIMIT 6,3
SELECT * from student where sex="男" LIMIT 0,3
分页查询就可以控制查询的个数和开始的位置
⑦排序 order by
-- 排序
-- order by 列名 desc(降序)|asc(升序,默认升序,可以省略)
-- 排序子语句的相对位置在where子语句之后,limit子语句之前
SELECT * from student ORDER BY age asc
SELECT * from student ORDER BY age LIMIT 0,3
排序就可以根据关键词来升序降序排序,默认是升序
⑧聚合函数
-- 聚合函数
-- sum求和
-- avg取平均
-- max最大
-- min最小
-- count 取得记录数 不会统计值为null的记录
SELECT avg(age) FROM student
SELECT sum(age) FROM student
SELECT max(age) FROM student
SELECT min(age) FROM student
SELECT count(age) FROM student
非常简洁明了的函数使用
⑨分组函数
-- 分组函数
-- group by 字段名称 分组 分组前用where筛选,分组后用having筛选
SELECT avg(age),class FROM student where sex="男" GROUP BY class HAVING class=1
三、总结
这些SQL查询语句是非常简单甚至通俗易懂的,虽然不复杂,但是需要自己多写多练,可以自己创建一张表来练习这些语句,来达到熟练掌握的效果。