【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 TABLEINSERT语句来复制表中的数据。

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
删除条件 支持条件删除 只支持全表删除
保留自增序列 保留 不保留
事务处理 不会结束事务 会结束当前事务

通过以上操作,可以有效地管理数据库中的数据。

上一篇:【MySQL】(四)SQL 基础操作之 DQL 数据查询语言
下一篇:【MySQL】(二)SQL 基础操作之 DDL 数据定义语言

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月09日 06时14分13秒