这是为了记录MySQL语法格式所创建的「系列文」,只有简单的实践,没有解读。
DML的英文全称是Data Manipulation Language,即数据操作语言,它是用于对数据库中表的记录进行更新的操作语句。
以三国人物信息表(People)来演示对表中数据的「增、改、删」操作,People表结构如下:
中文描述 | 字段名 | 数据类型 |
---|---|---|
人物ID | id | int |
姓名 | name | varchar(20) |
性别 | sex | char(1) |
国家 | country | char(1) |
1. 添加数据(增)
语法格式:
INSERT INTO 表名(字段名1,字段名2...) VALUES(字段值1,字段值2...);
例子:
- 方式一:写出全部字段名,插入全部字段
INSERT INTO People (id, name, sex, country) VALUES (1, '曹操', '男', '魏');
- 方式二:写出全部字段名,插入全部字段
INSERT INTO People VALUES (2, '司马懿', '男', '魏');
- 方式三:插入指定字段
INSERT INTO People (id) VALUES (3);
注意点:
-
值与字段必须对应,包括个数、数据类型
-
值的大小必须在字段指定的范围内
-
varchar 、char、date类型的值必须使用
''
或""
包裹 -
如果没有任何限制,空值是允许被插入的
2. 修改数据(改)
语法格式:
- 不带条件的修改:
UPDATE 表名 SET 列名 = 值;
- 带条件的修改:
UPDATE 表名 SET 列名 = 值 [WHERE 条件表达式: 字段名 = 值];
例子:
- 修改所有人的性别,设置为”女",一般不使用!
UPDATE People SET sex = '女';
- 带条件的修改,将id为1的人的性别改为“男”
UPDATE People SET sex = '男' WHERE id = 1;
- 带条件的修改,一次修改多个列
UPDATE People SET sex = '男', country = '蜀' WHERE id = 2;
3. 删除数据(删)
语法格式:
- 不带条件的删除,删除所有数据:
DELETE FROM 表名;
- 带条件的删除,删除指定数据:
DELETE FROM 表名 [WHERE 字段名 = 值];
例子:
- 删除id为1的数据
DELETE FROM People WHERE id = 2;
- 删除所有数据
DELETE FROM People;
注意点:
- 开发中更推荐
TRUNCATE
的方式进行整张表的删除DELETE FROM 表名
: 有多少条记录就删除多少条记录,执行效率低TRUNCATE TABLE 表名
: 删除整张表,然后再重新创建一张相同的空表,效率高
附录:
创建People表的语句:
CREATE TABLE People (
id INT,
name VARCHAR(20),
sex CHAR(1),
country CHAR(1)
);