MySQL-常用DML语句
一.概念
数据操作语言(DML)是SQL的一个重要组成部分,主要用于对数据进行增(insert)删(delete)改(update)操作。
准备数据表:
DROP TABLE IF EXISTS stu;
CREATE TABLE stu (
id int NULL DEFAULT NULL,
name varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
age int NULL DEFAULT NULL,
sex varchar(5) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
address varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
math double(5, 2) NULL DEFAULT NULL,
english double(5, 2) NULL DEFAULT NULL,
hire_date date NULL DEFAULT NULL
)
运行结果:
二.添加数据 1.给指定列添加数据 INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);
2.给全部列添加数据 INSERT INTO 表名 VALUES(值1,值2,…);
3.批量添加数据** INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…; INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
示例:
-- 给指定列添加数据`
INSERT INTO stu (id, NAME) VALUES (1, '张三');
select * from stu ; --查询所有数据
运行结果:
`
--给所有列添加数据,其中列名的列表可以省略的
INSERT INTO stu (id,name,age,sex,address,math,english,hire_date) VALUES (2,'李四',20,'男','河北秦皇岛',90,99,'2000-12-12');
select * from stu ; --查询所有数据
运行结果:
-- 批量添加数据
INSERT INTO stu (id,name,age,sex,address,math,english,hire_date) VALUES
(3,'王五',20,'男','河北秦皇岛',90,99,'2000-12-12'),
(4,'赵六',20,'男','河北秦皇岛',90,99,'2000-12-12'),
(5,'马七',20,'男','河北秦皇岛',90,99,'2000-12-12');
select * from stu ; --查询所有数据;
运行结果:
三.修改数据
修改表数据 UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;
注意: 1.修改语句中如果不加条件,则将所有数据都修改! 2.像上面的语句中的中括号,表示在写sql语句中可以省略这部分
示例:
1.将张三的性别改为女
update stu set sex = '女' where name = '张三'; select * from stu ; --查询所有数据; 运行结果:
2.注意:如果update语句没有加where条件,则会将表中所有数据全部修改!
update stu set sex = '女'; select * from stu ; --查询所有数据;
运行结果:
四.删除数据 删除表数据 DELETE FROM 表名 [WHERE 条件] ;
注意:删除语句中如果不加条件,则将所有数据都删除!
示例:
-- 删除张三记录 delete from stu where name = '张三'; select * from stu ; --查询所有数据; 运行结果:
示例:删除语句中如果不加条件,则将所有数据都删除。
delete from stu ; select * from stu ; --查询所有数据;
**运行结果:**所有数据都被删除。