mysql常用语句二:数据操纵语言DML

数据操纵语言DML是对数据库中表的操作,分别是插入数据,删除数据,修改数据。

这篇博文以mysql为例,记录下常用的DML语句。

1 插入数据

# 创建表
CREATE TABLE tb_courses
(
course_id INT NOT NULL AUTO_INCREMENT,
course_name CHAR(40) NOT NULL,
course_grade FLOAT NOT NULL,
course_info CHAR(100) NULL,
PRIMARY KEY(course_id)
);

# 可以一次插入多行记录
# 这样写要严格按照表的字段顺序来
INSERT INTO tb_courses VALUES (3,'Java',4,'Java EE');

# 在表名后指定字段,可以不按照表中的顺序插入;
INSERT INTO tb_courses
(course_name,course_info,course_id,course_grade) 
VALUES('Database','MySQL',2,3);

# 重要的是可以只添加部分字段的值,那么这条记录的其他字段都为默认值。
INSERT INTO tb_courses
(course_name,course_grade,course_info)
VALUES('System',3,'Operation System');

# 复制表,要创建一个结构一样的表
CREATE TABLE tb_courses_new
(
course_id INT NOT NULL AUTO_INCREMENT,
course_name CHAR(40) NOT NULL,
course_grade FLOAT NOT NULL,
course_info CHAR(100) NULL,
PRIMARY KEY(course_id)
);

INSERT INTO tb_courses_new
(course_id,course_name,course_grade,course_info)
SELECT course_id,course_name,course_grade,course_info
FROM tb_courses;

2 删除数据

# 按条件删除
DELETE FROM 表名 [WHERE 子句] [ORDER BY 子句] [LIMIT 子句];
DELETE FROM tb_courses WHERE course_id=4;

# 删除表中的全部数据
DELETE FROM tb_courses_new;
# 删除表中的全部数据
TRUNCATE TABLE tb_courses_new;
# 两者区别
# DELETE 是逐行一条一条删除记录的;
#TRUNCATE 则是直接删除原来的表,再重新创建一个一模一样的新表,而不是逐行删除表中的数据,执行数据比 DELETE 快;
#因此需要删除表中全部的数据行时,尽量使用 TRUNCATE 语句, 可以缩短执行时间。

3 修改数据

UPDATE 表名 SET 字段1=1 [,字段2=2] [WHERE 子句 ]

# 修改所有记录的字段的值
UPDATE tb_courses_new SET course_grade=4;

# 根据条件修改表中的数据
UPDATE tb_courses_new
SET course_name='DB',course_grade=3.5
WHERE course_id=2;

猜你喜欢

转载自blog.csdn.net/Awt_FuDongLai/article/details/107643295