MySQL表的增删改查
一·新增(Create)
1.1语法
INSERT INTO <表名>[(字段1 字段2 … 字段n)] VALUES(<值1,值2…值n>)
1.2例子
新增需要首先建立一张表才可以添加元素
这里先创建一张学生表
create table student(
id int,
sn int comment '学号',
name varchar(20) comment '姓名',
email varchar(20) comment '邮箱‘
);
1.2.1单行数据+全列插入
--插入一条记录,插入的表中元素必须和定义表的列的数量及顺序完全一致
insert into student values(100,10001,’小明‘,’2348@126.com');
insert into student values(101,10002,’小李‘,’2356@126.com');
1.2.2多行数据+值定列插入
--插入多条记录,插入的表中元素必须和值定的列的数量及顺序完全一致
insert into student(id,sn,name)values
(102,10002,’小华‘),
(103,10003,’小纪‘),
(104,10004,’小五‘);
1.2.3插入查找值(结合了查找的语句)
-- 将学生表(student)中的姓名,邮箱,所有数据复制到用户表(test_user)
insert into test_user(name, email) select name, qq_mail from student;
二·删除(Delete)
2.1语法
**DELETE FROM <表名> [WHERE <条件>] **
[]表示可添加的方式
WHERE <条件>:删除对应条件的数据
2.2例子
--删除student表中所有信息
delete from student;
--删除student表中叫小明同学的信息
delete from student where name = ‘小明’;
三·修改(Update)
3.1语法
**UPDATE <表名> SET <修改的内容>[where] **
[]表示可添加的方式
WHERE <条件>:删除对应条件的数据
3.2例子
--将小明同学的学号修改为109
update student set sn=109 where name = ‘小明’;
--将小李同学的id翻倍
update student set id=id*2 where name = ‘小李’;
四·单表查询(Retrieve)
4.1语法
SELECT <列名> SET <修改的内容>[where] […]
[]表示可添加的方式
WHERE <条件>:删除对应条件的数据
4.2例子
--我们这里先设置一个成绩表
drop table if exists exam_result;
create table exam_result(
id int,
name varchar(20),
chinese decimal(3,1),
math decimal(3,1),
english decimal(3,1)
);
-- 插入测试数据
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
(1,'唐三藏', 67, 98, 56),
(2,'孙悟空', 87.5, 78, 77),
(3,'猪悟能', 88, 98.5, 90),
(4,'曹孟德', 82, 84, 67),
(5,'刘玄德', 55.5, 85, 45),
(6,'孙权', 70, 73, 78.5),
(7,'宋公明', 75, 65, 30);
4.3全列查询
--通常我们用 * 来表示全列
select * from exam_result;
4.3指定列查询
-- 查询id,姓名,和英语成绩(指定列的顺序不需要按定义表的顺序来)
SELECT id, name, english FROM exam_result;
4.4 查询字段为表达式及设置别名
select 字段名1 别名1,字段名2 别名2,[…] from 表名
-- 查询id,姓名,以及每人的英语成绩+10分的结果
SELECT id,