
【MySQL】(三)SQL 基础操作之 DML 数据操纵语言
发布日期:2021-05-08 01:08:58
浏览次数:19
分类:精选文章
本文共 2048 字,大约阅读时间需要 6 分钟。
DML操作
在数据库管理中,DML(Data Manipulation Language,数据操作语言)是用来对数据库中的数据进行增删改查的操作。以下是常见的DML操作示例。
1. 添加数据
1.1 插入单条记录
可以使用INSERT INTO
语句将单条记录插入数据库表中。
INSERT INTO person (id, age, phone) VALUES (5, '李白', 24, '155');
1.2 部分字段插入
如果只需要插入部分字段,可以指定字段名,并确保字段的顺序与表中定义一致。
INSERT INTO person (id, age, phone) VALUES (1, 27, '158');
1.3 插入多条记录
可以使用逗号分隔多个值来插入多条记录。
INSERT INTO person (id, age, phone) VALUES (2, 27, '157'), (3, 25, '159'), (4, 26, '156');
1.4 表复制
可以通过CREATE TABLE
和INSERT
语句来复制表中的数据。
CREATE TABLE person1 SELECT * FROM person WHERE 0 = 1; -- 创建与person结构相同的表INSERT INTO person1 SELECT * FROM person; -- 将person表数据复制到person1表
1.2 修改数据
修改操作
使用UPDATE
语句可以修改表中指定记录的字段值。
UPDATE person SET phone = '159' WHERE sname = '李白'; -- 修改电话号码为159的姓名
1.3 删除数据
删除操作
使用DELETE
语句可以删除表中的记录。默认情况下,DELETE
操作不会删除表结构。
DELETE FROM person WHERE id = 2; -- 删除指定id的记录
删除表数据
DELETE
操作可以删除表中的所有数据,但不会删除表结构。
DELETE FROM person;
删除表结构
DROP TABLE
语句会删除表及其所有数据。
DROP TABLE person1;
truncate操作
TRUNCATE TABLE
操作会删除表中的所有数据,但保留表结构。
TRUNCATE TABLE person1;
主键和外键
主键
主键是能够唯一标识表中一条记录的字段或字段组。可以通过ALTER TABLE
语句添加主键。
ALTER TABLE school_stu ADD CONSTRAINT pk_stu_stuId PRIMARY KEY school_stu(stuId);
外键
外键允许一张表引用另一张表的主键信息。外键通常用于维护数据一致性。
外键示例
在school_stu
表中添加一个外键,引用grade
表的主键。
ALTER TABLE school_stu ADD CONSTRAINT fk_stu_grade FOREIGN KEY (gradeId) REFERENCES grade(gradeId);
数据操作
插入数据
INSERT INTO
语句用于将数据插入表中。可以选择指定字段或全字段插入。
插入指定字段
INSERT INTO school_stu (stuId, stuName) VALUES (2, 'Jack');
插入全字段
INSERT INTO school_stu VALUES (3, 'Lucy', 'root', '女', 2, '12312', 'x', 'x', 'xxx', '2019-05-23');
插入多条数据
INSERT INTO school_stu (stuName) VALUES ('Chris'), ('Luck'), ('努力过');
从一个表插入到另一个表
INSERT INTO stu(stuId, stuName) SELECT stuId, stuName FROM school_stu;
更新数据
UPDATE
语句用于修改表中的数据。
UPDATE school_stu SET stuName = '李易峰' WHERE stuId = 7;
删除数据
DELETE
语句用于删除表中的记录。
DELETE FROM school_stu WHERE stuName = '李元霸' AND gender = '男';
truncate操作
TRUNCATE TABLE
用于清空表中的所有数据。
TRUNCATE TABLE school_stu;
数据操作区别
DELETE和TRUNCATE的区别
特性 | DELETE | TRUNCATE |
---|---|---|
删除条件 | 支持条件删除 | 只支持全表删除 |
保留自增序列 | 保留 | 不保留 |
事务处理 | 不会结束事务 | 会结束当前事务 |
通过以上操作,可以有效地管理数据库中的数据。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月09日 06时14分13秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
上周热点回顾(5.9-5.15)
2019-03-06
上周热点回顾(8.8-8.14)
2019-03-06
.NET跨平台之旅:将示例站点升级至 .NET Core 1.1 Preview 1
2019-03-06
上周热点回顾(1.16-1.22)
2019-03-06
上周热点回顾(1.23-1.29)
2019-03-06
上周热点回顾(3.20-3.26)
2019-03-06
上周热点回顾(4.24-4.30)
2019-03-06
[故障公告]博客站点1台负载均衡遭遇流量攻击,造成联通与移动用户无法正常访问
2019-03-06
上周热点回顾(5.1-5.7)
2019-03-06
上周热点回顾(5.29-6.4)
2019-03-06
上周热点回顾(6.19-6.25)
2019-03-06
云计算之路-阿里云上:docker swarm 集群故障与异常
2019-03-06
上周热点回顾(2.19-2.25)
2019-03-06
云计算之路-阿里云上:博客web服务器轮番CPU 100%
2019-03-06
云计算之路-阿里云上:服务器CPU 100%问题是memcached连接数限制引起的
2019-03-06
上周热点回顾(3.26-4.1)
2019-03-06
故障公告:IIS应用程序池停止工作造成博客站点无法访问
2019-03-06
【故障公告】极验验证码故障造成无法登录与注册
2019-03-06
上周热点回顾(6.25-7.1)
2019-03-06