文章目录
- DML
- 添加数据
- 删除数据
- 修改数据
DML
- DML(数据操作语言):增删改表中数据,针对的对象是数据库中表格的数据。
添加数据
-
语法
-- 方式一 insert into 表名(列名1 , 列名2 , ... , 列名n) values(值1 , 值2 , ... , 值n); -- 方式二 insert into 表名 values(值1 , 值2 , ... , 值n);
-
注意事项
- 列名 要和 值 一一对应
- 如果表名后,不定义列名,则默认给所有列添加值(方式二)
- 除了数字类型,其他类型需要使用 引号(单双都可以) 引起来
-
示例代码
-- 创建一个学校数据库并指定数据库字符集为 utf8 CREATE DATABASE IF NOT EXISTS school CHARACTER SET utf8;-- 使用学校数据库 USE school;-- 在学校数据库下创建一个学生表,学生表中包含学号和学生姓名 CREATE TABLE student(sid INT(11),sname VARCHAR(40) );-- 向表中插入一条数据,学号:1001,姓名:张三 INSERT INTO student(sid , sname) VALUES(1001 , '张三');-- 向表中插入一条数据,学号:1002,姓名:李四 INSERT INTO student VALUES(1002 , '李四');-- 查询student表中所有数据 SELECT * FROM student;
删除数据
-
语法
delete from 表名 [where 条件];
-
注意事项
- 如果不加条件,则删除表中所有记录
- 如果要删除所有记录(两种方式)
-- 方式一 delete from 表名; -- 不推荐使用,因为有多少条记录会执行多少次删除操作 -- 方式二 truncate table 表名; -- 推荐使用,效率更高,先删除表,然后再创建一张一样的表
-
示例代码(仍使用 student 表)
-- 根据学号 1002 ,删除表中一条数据 DELETE FROM student WHERE sid = 1002;-- 查询student表中所有数据 SELECT * FROM student;-- 插入一条数据,学号:1002 姓名:小哼 INSERT INTO student VALUES(1002 , '小哼');-- 插入一条数据,学号:1003 姓名:小恒 INSERT INTO student VALUES(1002 , '小恒');-- 查询student表中所有数据 SELECT * FROM student;-- 删除学号为 1002 姓名 小恒的这条记录 DELETE FROM student WHERE sid = 1002 AND sname = '小恒';-- 查询student表中所有数据 SELECT * FROM student;-- 删除表中所有记录 DELETE FROM student;-- 再次添加刚才两条的数据,并查询 INSERT INTO student(sid , sname) VALUES(1001 , '张三'); INSERT INTO student VALUES(1002 , '小哼');SELECT * FROM student;-- 再次删除表中所有记录 TRUNCATE TABLE student;
上述演示的代码,大家可一步一步执行,去看下他的效果!
修改数据
-
语法
update 表名 set 列名1 = 值1 , 列名2 = 值2, ... ,列名n = 值n [where 条件];
-
注意事项
- 如果不加任何条件,则会将表中所有记录全部修改
-
示例代码
-- 再次添加刚才两条的数据,并查询 INSERT INTO student(sid , sname) VALUES(1001 , '张三'); INSERT INTO student VALUES(1002 , '小哼');SELECT * FROM student;-- 根据学号修改学生姓名,修改学号1001,姓名改为李四 UPDATE student SET sname = '李四' WHERE sid = 1001;SELECT * FROM student;-- 不加条件,修改姓名为 中国 UPDATE student SET sname = '中国';-- 此时查询,姓名都成了 中国 SELECT * FROM student;