MySQL表的增删改查(基础)CRUD
CRUD:
C: create,新增数据
R: retrieve查询数据
U: update 修改数据
D: delete 删除数据
一.新增(create):
语法:
insert into + 表名 {column,column...}values (value_list,value_list...).
1.单行数据全列插入:
value_list
数量必须和定义表的列的数量及顺序一致
EX:
在学生表(id,name)里新增学生:阿三。
insert into student values (1,'阿三');
2.单行数据指定列插入:
,
value_list
数量必须和指定列数量及顺序一致
insert into student(id,name) values (1,'阿三');
3. 多行数据+指定列插入:
insert into student(id,name) values (1,'张三'), (2.'李四');
二.查询(retrieve):
2.1 全列查询:
select * from + 表名;
2.2 指定列查询:
select + 指定列 + from + 表名
2.3、别名:为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称
语法:select
column
[
as
] 新名字 [...] from
+ 表名;
ex1:
select
id, name, chinese + math + english
总分
from exam;
2.4: 去重 distinct :
定义:
对某列数据进行去重
语法:
select distinct + 指定列 from + 表名;
2.6: 排序 (order by):
select + 指定列 + from + 表名 + order by + 要排序的列;
注:
-- ASC
为升序(从小到大)
-- DESC
为降序(从大到小)
2.7. 条件查询(where) :
ex1: 查询英语成绩不及格的同学的英语成绩:
select name,english from exam where english <60;
where 后可能会用到的查询:
范围查询:
1. between... and ...(某个区间)
2. in (自由指定)
模糊查询(like):
-- %
匹配任意多个(包括
0
个)字符
SELECT
name
FROM
exam_result
WHERE
name
LIKE
'
孙
%'
;
--
匹配到孙悟空、孙权
-- _
匹配严格的一个任意字符
SELECT
name
FROM
exam_result
WHERE
name
LIKE
'
孙
_'
;
--
匹配孙权
2.8 分页查询(limit):
--
起始下标为
0
--
从
0
开始,筛选
n
条结果:
select + 指定列 + from + 表名 (where...)+ (order by) limit n
--
从
s
开始,筛选
n
条结果
select + 指定列 + from + 表名 (where...)+ (order by) limit
s, n;
--
从
s
开始,筛选
n
条结果,比第二种用法更明确,建议使用
select + 指定列 + from + 表名 (where...)+ (order by) limit n
offerset
s
三. 修改(update):
语法:
update + 表 + set + 待修改的列 = ....;
四. 删除(delete):
delete from + 表名 + (where ...) + (order by...)+ (limit...)