INSERT 插入數(shù)據(jù)
前面幾節(jié)介紹了表的設(shè)計(jì)、修改、刪除等等操作,本小節(jié)主要介紹如何向數(shù)據(jù)表插入數(shù)據(jù)。
1.向數(shù)據(jù)表插入一條數(shù)據(jù)
這里以前面新建的 teacher 表為例, teacher 表的字段為 name、age、id_number,向教師表新增一條數(shù)據(jù)命令如下:
INSERT INTO teacher (name,age,id_number) VALUES ('秦小賢',18,'42011720200604088X');
執(zhí)行下上面的這條命令,執(zhí)行結(jié)果如下圖:
其中 “INSERT INTO” 關(guān)鍵字表示這條命令是插入數(shù)據(jù)命令,“teacher” 是要插入數(shù)據(jù)的目標(biāo)數(shù)據(jù)表名稱(chēng),“name,age,id_number” 是表的字段名,“VALUES” 后面跟的是字段對(duì)應(yīng)的值,值的順序和前面字段的順序一致。
2.查詢(xún)表所有數(shù)據(jù)
上面介紹了如何向數(shù)據(jù)表插入一條數(shù)據(jù),這里需要查看數(shù)據(jù)表已有的所有數(shù)據(jù):
SELECT * FROM teacher;
執(zhí)行結(jié)果如下圖:
“SELECT” 關(guān)鍵字表示這條命令是查詢(xún)相關(guān)命令,"*" 則代表要查詢(xún)出表中所有的數(shù)據(jù)?!癋ROM teacher” 則表明要查詢(xún)的是哪一個(gè)數(shù)據(jù)表。
關(guān)于 SELECT 查詢(xún)語(yǔ)句還有很多中使用場(chǎng)景,比如我們要查詢(xún)出表中 age 字段的值大于 20 歲的數(shù)據(jù)。關(guān)于 SELECT 的其他使用我們會(huì)在后面的小節(jié)詳細(xì)講解。
3. 向數(shù)據(jù)表插入多條數(shù)據(jù)
新增多條數(shù)據(jù)命令:
INSERT INTO teacher
(name,age,id_number)
VALUES
('王小花',19,'42011720200604077X'),
('張曉麗',18,'42011720200604099X'),
('劉美麗',20,'42011720200604020X'),
('吳帥',21,'42011720200604022X'),
('張平',22,'42011720200604033X')
執(zhí)行結(jié)果如下圖:
4.小結(jié)
本小節(jié)介紹了如圖向數(shù)據(jù)表插入一條數(shù)據(jù)、查詢(xún)表所有數(shù)據(jù)、向表插入多條數(shù)據(jù)。前面介紹數(shù)據(jù)表的設(shè)計(jì)規(guī)范時(shí)介紹了數(shù)據(jù)表的第二設(shè)計(jì)范式要求所有數(shù)據(jù)表需要有業(yè)務(wù)主鍵。需要注意的是本節(jié)中 teacher 表的業(yè)務(wù)主鍵為自增 id,因此插入數(shù)據(jù)的時(shí)候不需要插入 id 字段的值。id 字段的默認(rèn)是從 1 開(kāi)始自增的,也可以指定自增起始值,如下建表語(yǔ)句,id自增值是從100開(kāi)始的:
CREATE TABLE `teacher` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL DEFAULT '教師名',
`age` int(10) unsigned NOT NULL DEFAULT '0',
`id_number` varchar(18) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=100 DEFAULT CHARSET=utf8
其中 “AUTO_INCREMENT=100” 表示自增主鍵 id 的值默認(rèn)從 100 開(kāi)始自增加的。