MySQL表的增删改查
MySQL 表的 CRUD
CRUD 即 新增(Create), 查询(Retrieve), 更新/修改(Update), 删除(Delete)
(针对成绩统计这个案例进行举例)
1.新增
1.1 新增单行数据
insert into 表名 values ( value1, value2 ...);
例如:
1.2 新增多行数据
insert into 表名 values
(value1, ...),
(value2, ...),
...
(valuen, ...);
例如:
1.3 指定列插入
(1.1 和 1.2 这两种情况就是全列插入)
value_list 的数量必须和指定列数相等.
insert into 表名 (字段1, 字段2) values(value1, value2)
例如:
- 查询
2.1 全列查询
!!!通常不建议使用 * 进行全列查询
----查询的列越多, 意味着要传输的数据量越大
----可能会影响到索引的使用
select * from 表名;
例如:
2.2 指定列查询
select 字段1, 字段2... from 表名;
例如:
2.3 查询表达式字段
select 字段1 + 字段2 .... from 表名;
例如:
2.4 别名
为查询结果中的列指定别名, 返回的结果中, 以别名作为该列的名称
select 字段1 as 别名1, 字段2 + 字段3 .. as 别名2 from 表名;
例如:
2.5 去重 distinct
select distinct 字段 from 表名;
例如:
去重前
去重后
2.6 排序 order by
没有 order by 语句查询得到的结果的顺序是未定义的,不值得依赖
(a) 默认为 asc 即 升序排序
NULL 认为比任何值都小
select 字段1, 字段2... from 表名 order by 字段2 (asc);
例如:
(b) 后面加上 desc 表示按照降序排序
select 字段1, 字段2... from 表名 order by 字段2 desc;
例如:
© 使用表达式及别名排序
select 字段1, 表达式 ... as 别名 from 表名 order by 别名/ 表达式 asc/desc;
例如:
(d) 对多个字段进行排序, 排序的优先级根据书写顺序
select 字段1, 字段2, 字段3... from 表名 order by 字段1 desc/asc, 字段2, 字段3;
2.7 条件查询 where
比较运算符:
逻辑运算符:
注:
where 条件可以试验表达式, 的但不能使用别名;
and 的优先级高于 or
语法实现:
select 字段1, 字段2... from 表名 where 表达式;
例如:
基本查询:
and 与 or :
范围查询:
(a)
between ... and ...
(b)
in
模糊查询:
like
(a) % 匹配多个字符(使用 % 的位置有若干个字符)
(b) _匹配一个字符
NULL 的查询:
(a)
is not null
(b)
is null
2.8 分页查询
从 s 开始筛选 n 条结果
limit n offset s
- 修改 (update … set … )
update 表名 set 字段1 = xxx, 字段2 = xxx [where...] [order by...][limit...];
- 删除 (delete)
delete from 表名 [where...] [order by..] [limit...]
总结:
新增:
查询:
修改:
删除:
上一篇: .Net性能调优-ArrayPool详情
下一篇: DVD出租系统【2】数据库设计