一. 什么是DML
DML(Data Manipulation Language)語句:數(shù)據(jù)操縱語句,用于添加、刪除、更新和查詢數(shù)據(jù)庫記錄,并檢查數(shù)據(jù)完整性,常用的語句關(guān)鍵字主要包括 insert、delete、udpate 等。
接下來在操作表數(shù)據(jù)之前, 我們先來創(chuàng)建一個(gè)學(xué)生表結(jié)構(gòu):
CREATE TABLE student (
SId varchar(10) DEFAULT NULL,
Sname varchar(10) DEFAULT NULL,
Sage datetime DEFAULT NULL,
Ssex varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二. 新增數(shù)據(jù)(INSERT)
SQL語法:
INSERT INTO 表名(列 1,列 2,列 3....) VALUES(值 1,值 2,值 3......);
添加一條信息
下面小編帶各位小伙伴進(jìn)行添加表數(shù)據(jù), 演練一番:
#添加一條學(xué)生信息
INSERT INTO student VALUES ('01', '趙雷', '1990-01-01 00:00:00', '男');
#一口氣添加四條學(xué)生信息
INSERT INTO student VALUES
('14', '青龍', '2018-01-01 00:00:00', '男'),
('15', '白虎', '2018-01-01 00:00:00', '女'),
('16', '朱雀', '2018-01-01 00:00:00', '女'),
('17', '玄武', '2018-01-01 00:00:00', '男');
注意:表名后的列名和 VALUES 里的值要一一對應(yīng)(個(gè)數(shù)、順序、類型)
三. 修改數(shù)據(jù)(UPDATE)
SQL語法:
UPDATE 表名 SET 列1=新值1, 列2=新值2, ..... WHERE 條件;
更改表中的數(shù)據(jù)在實(shí)際需求中必不可少,如下:
#修改編號(hào)為17的學(xué)生名字為饕鬄
UPDATE student SET Sname = '饕鬄' WHERE SId = 17;
#修改編號(hào)為17的學(xué)生名字為饕鬄, 性別為女
UPDATE student SET Sname = '饕鬄',Ssex='女' WHERE SId = 17;
注意:SET 后多個(gè)列名=值,絕大多數(shù)情況下都要加 WHERE 條件,指定修改,否則為整表更新
四. 刪除數(shù)據(jù)(DELETE)
SQL語法:
DELETE FROM 表名 WHERE 條件;
1.刪除一條信息
下面是刪除表中的數(shù)據(jù),可以根據(jù)需要進(jìn)行單條刪除或者根據(jù)條件批量刪除:
#刪除編號(hào)為17的學(xué)生
DELETE FROM student WHERE SId='17';
#刪除姓名叫朱雀并且性別是女的數(shù)據(jù)
DELETE FROM student WHERE Sname='朱雀' and ssex='女';
注意:刪除時(shí),如若不加 WHERE條件,刪除的是整張表的數(shù)據(jù)
2.清空整表數(shù)據(jù)(TRUNCATE)
SQL語法:
TRUNCATE TABLE 表名;
3.清空整張表
直接清空表速度更快哦:
#清空student整張表
TRUNCATE TABLE student;
注意:與 DELETE 不加 WHERE 刪除整表數(shù)據(jù)不同,TRUNCATE 是把表銷毀,再按照原表的格式創(chuàng)建一張新表, 所以TRUNCATE比DELETE語句更快速。
小編在這里對本文核心要點(diǎn)進(jìn)行總結(jié):
1.DML就是對表中的數(shù)據(jù)進(jìn)行增刪改的語句語法非常重要。
2.熟練掌握添加數(shù)據(jù)insert, 修改數(shù)據(jù)update, 刪除數(shù)據(jù)delete語句語法。
3.TRUNCATE語句是清空表, 原理是將原來的表銷毀再重新按照原來表結(jié)構(gòu)創(chuàng)建表, 速度比delete語句刪除表中所有數(shù)據(jù)更快。