mysql基本语句
首先创建一张学生信息表,这里我是用的是Navicat
查询语句
-- 查询学生表中的所有信息
SELECT * FROM student
-- 其中 WHERE 后面加的是筛选条件,这里我是查询学生表中所有女性的信息
SELECT * FROM student WHERE sex="女"
添加语句
-- 添加对应字段信息
INSERT INTO student(name,age,sex) VALUES("莫妮卡",25,"女")
修改语句
-- 修改 id 为 1 的学生信息
UPDATE student SET name="约翰",age=24,sex="女" WHERE id=1
删除语句
-- 删除 id 为 2 的学生信息
DELETE FROM student WHERE id=2
运算符
-- 不等于有两种写法 != 和 <>
-- 其他的还包括 = > < 以及 >= <=
-- 这里查询的是年龄不为 25 的学生信息
SELECT * FROM student WHERE age != 25
-- ************* 逻辑运算符 and or *************
-- 查询性别为女,并且年龄为 25 的学生信息
SELECT * FROM student WHERE sex="女" AND age=25
-- AND 还可以用在同一字段上,查询年龄区间在(20,25)的学生信息
SELECT * FROM student WHERE age>20 AND age<25
-- OR 查找性别为女性,或者年龄是 22 的所有学生信息,只要满足二者中任意一个条件,都会被筛选出来
SELECT * FROM student WHERE sex="女" OR age=22
-- ******* BETWEEN ... AND ... 闭区间 *********
-- 查找年龄区间为 [20,25] 的学生信息
SELECT * FROM student WHERE age BETWEEN 20 AND 25
-- ****************** IN 包含 ******************
-- 查询年龄是 22 和 25 的学生信息
SELECT * FROM student WHERE age IN(22,25)
-- ************ IS NULL 判断是否为空 ************
-- 找出 age 为 NULL 的信息
SELECT * FROM student WHERE age IS NULL
模糊查询
-- 模糊查询 LIKE 需要配合占位符使用
-- _代表一位字符
-- %代表任意字符
-- 查询张某
SELECT * FROM student WHERE name LIKE "张_"
-- 查询张某某
SELECT * FROM student WHERE name LIKE "张__"
-- 查询张... 第一个字为张,张后面可以有任意个字符
SELECT * FROM student WHERE name LIKE "张%"
-- 查询名字带张的学生信息
SELECT * FROM student WHERE name LIKE "%张%"
分页查询
-- 分页查询(限制查询)
-- LIMIT a,b 限制查询子语句 a代表起始索引值(从0开始,索引值跟id没关系),b代表查询个数,a(页数-1)*页数大小
-- 查询索引值为1,后面的两条信息
SELECT * FROM student LIMIT 1,2
-- 也可以使用 LIMIT b OFFSET a
SELECT * FROM student LIMIT 2 OFFSET 1
排序
-- 排序
-- ORDER BY 列名 DESC(降序) | ASC(升序)
-- 排序子语句的相对位置在where子语句之后,在limit子语句之前
-- 按照年龄降序
SELECT * FROM student ORDER BY age DESC
聚合函数
-- 聚合函数
-- SUM() 求和 AVG()平均 MAX()最大值
-- MIN()最小值 COUNT()取得记录数
SELECT SUM(age) FROM student
-- 获取记录数,NULL也会获取
SELECT COUNT(*) FROM student
-- GROUP BY 字段 后面想再加筛选条件用HAVING
-- 查询 1 班和 2 班女生的平均年龄
SELECT AVG(age),class FROM student WHERE sex="女" GROUP BY class HAVING class IN(1,2)