mysql增删改、查 语句
增:
INSERT 语句中指定所有字段名
语法:INSERT INTO 表名(字段名1,字段名2,…)VALUES(值1,值2,…);
1.1.2 INSERT语句中不指定字段名
若不指定字段名,则添加的值的顺序应和字段在表中的顺序完全一致。
INSERT INTO 表名 VALUES(值11,值2,…);
为表的指定字段添加数据:
为指定字段添加数据,即只向部分字段添加值,而其他字段的值为表定义时的默认值。从结果中可以看出,新记录的grade字段值为NULL,是因为添加时为指明grade的值,系统会自动添加默认值。
INSERT INTO 表名(字段1,字段2,…)VALUES(值1,值2,…)
INSERT语句的其他写法
INSERT INTO 表名 SET 字段名1=值1[,字段名2=值2,…]
同时添加多条数据
INSERT INTO 表名[(字段名1,字段名2,…)] VALUES (值1,值2,…),(值1,值2,…),…(值1,值2,…)
“删”——删除数据(以下图为例)
DELETE FROM 表名 [WHERE 条件表达式
删除部分数据
即删除指定的部分数据,需要使用WHERE子句来指定删除记录的条件。
DELETE FROM class WHERE id=3;
删除全部数据
若 DELETE 语句中没有使用WHERE语句,则会将表中所有记录都删除。
DELETE FROM 表名 但是表还在
“改”——更新数据
更新数据指对表中现存的数据进行修改。 (以下图为例)
UPDATE 更新部分数据
指更新指定表中的指定记录,使用WHERE 子句来指定。
update class set sno= 1 where id =1; (底下的3是因为我先进行了下面的全部更改操作)
UPDATE 更新全部数据
在UPDATE 语句中若不使用WHERE 子句,则会将表中所有记录的指定字段都进行更新。
UPDATE class SETsno =3;
查:(以下图为例)
4.1.1 查询所有字段
改变字段类型顺序:
4.1.2 在SELECT语句中使用(‘ * ’)通配符代替所有字段
4.1.3 查询指定字段
更改字段顺序:
4.2.1 带关系运算符的查询
Where 后面是数字:
1、
= |
等于 |
<> |
不等于 |
!= |
不等于 和上面的一样的效果 |
< |
小于 |
<= |
小于等于 |
> |
大于 |
>= |
大于等于 |
Where后面是字符:
4.2.2 带 IN 关键字的查询
第二种 * 可以换成字段名
4.2.3 带 BETWEEN AND 关键字的查询
(包括两边的)
当顺序颠倒时 不行
4.2.4 空值查询
当换成is not 后
4.2.5 带 DISTINCT 关键字的查询(明显的,清楚的)distinct
4.2.6 带 LIKE 关键字的查询
(1)百分号(%)通配符
例如:字符串“ k% ”匹配以字符 k 开始,任意长度的字符串:
例如:字符串“ k%7 ”表示以字符 k 开始,以 7 结尾的字符串;
例如:字符串“ %2% ”表示包含字符“ 2 ”的字符串,无论“ 2 ”在字符串的什么位置。
(2)下划线(_)通配符
例如,字符串“ k00_ ”匹配以字符串“ k00 ”开始,长度为4的字符
当改变长度时:
例如,字符串“ k__1”匹配在“ k ”和“ 1 ”之间包含两个字符的字符串,
当改变长度时:
例如:连续的“_”之间不能有空格,
4.2.7 带 AND 关键字的多条件查询
4.2.8 带 OR 关键字的多条件查询
4.2.9 OR 和 AND 一起使用的情况
OR 和 AND 一起使用的时候,AND 的优先级高于 OR,因此二者一起使用时,会先运算 AND 两边的表达式,再运算 OR 两边的表达式。
例如查询 价格为2.40并且数量 是70的 或者 价格为1.40 的水果名字:
4.3 高级查询
4.3.1 聚合函数
(1)COUNT()函数:统计记录的条数 count (总数) 看到是行数。
(2)SUM()函数:求出表中某个字段所有值的总和
(3)AVG()函数:求出表中某个字段所有值的平均值 average
(4)MAX()函数:求出表中某个字段所有值的最大值
(5)MIN()函数:求出表中某个字段所有值的最小值
4.3.2 对查询结果进行排序
ASC表示升序排列,
DESC 表示降序排列
4.3.3 分组查询
(1)单独使用 GROUP BY 进行分组
(2) GROUP BY 和聚合函数一起使用
例如将水果表按照stack 分组 查询每组有多少记录:
(3) GROUP BY 和 HAVING 关键字一起使用
例如:将水果表按照stack字段进行分组查询,查询出number字段值之和小于70的分组
4.3.4 使用 LIMIT 限制查询结果的数量
LIMIT 后面可以跟两个参数,第一个参数“ OFFSET ”表示偏移量,如果偏移量为0,则从查询结果的第一条记录开始,偏移量为1则从查询结果中的第二条记录开始,以此类推。OFFSET为可选值,默认值为0,第二个参数“记录数”表示指定返回查询记录的条数。
例如:查询表中的前三条记录:
例如:查询表中的第三到第四条记录:
4.4 为表和字段取别名
4.4.1 为表取别名
为水果表起一个别名f,并查询f表中price字段值为 2.40的记录;
4.4.1 为字段取别名
例如我将Ids取别名为Id