教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

JAVA培訓(xùn)DML之插入記錄

更新時(shí)間:2016年10月25日17時(shí)26分 來源:傳智播客JAVA培訓(xùn)學(xué)院 瀏覽次數(shù):

DML是數(shù)據(jù)操作語言,包括對數(shù)據(jù)庫表記錄的添加、刪除與修改。今天我們先來學(xué)習(xí)向表中插入數(shù)據(jù),向表中插入數(shù)據(jù)后需要查看數(shù)據(jù)是否插入成功,這時(shí)就需要使用DQL,DQL是數(shù)據(jù)查詢語言,它的語法是:
  • SELECT * FROM 表名:表示查詢指定表的所有記錄;
使用DML語句向表中插入記錄的語法是:INTERT INTO 表名(列名1,列名2, ...) VALUES(列值1, 列值2, ...);其中,“列名1,列名2…”指的是要向哪些列插入數(shù)據(jù),而values關(guān)鍵字后面的“列值1,列值2…”要與列名一一對應(yīng),表示插入的列值。
向表中插入數(shù)據(jù)有以下三種方式:

1.插入所有列

插入所有列指的是在插入的時(shí)候指定表的所有列名,如:
insert into 表名(列名1,列名2, ...) values(列值1, 列值2, ...)
(1)在user數(shù)據(jù)庫中有一張表emp,點(diǎn)擊此處 下載對應(yīng)sql語句,首先使用DQL語句查看該表的記錄,查詢語句是:select * from emp,如圖1-1所示:

圖1-1 emp表的所有記錄
(2)在查詢表記錄時(shí),如果表記錄中包含中文,那么在dos窗口中可能會出現(xiàn)亂碼,如圖1-2所示:

圖1-2 中文亂碼
(3)解決圖1-2中的亂碼,首先查看數(shù)據(jù)庫的字符集,命令為:show variables like 'character_set_%',如圖1-3所示:

圖1-3 查看數(shù)據(jù)庫字符集
(4)因?yàn)樵诎惭b數(shù)據(jù)庫服務(wù)器,我們設(shè)置的編碼是utf8,而dos窗口的編碼是gbk,因此我們需要將character_set_client以及character_set_results的值設(shè)置為gbk,如圖1-4所示:

(5)這時(shí)再來查看emp數(shù)據(jù)庫的所有記錄,如圖1-5所示:

圖1-5 無亂碼的emp
(6)然后再來查看另外一張表,student表,如圖1-6所示:

圖1-6 student表中的記錄
(7)student表的結(jié)構(gòu)如圖1-7所示:

圖1-7 student的表結(jié)構(gòu)
(8)由圖1-7可知,student表中有四列,現(xiàn)在向student表中插入數(shù)據(jù),如圖1-8所示:

圖1-8 插入數(shù)據(jù)
圖1-8中,向student表中插入數(shù)據(jù),每一列都有對應(yīng)的數(shù)據(jù),其中“itcast_0001”對應(yīng)的是number列,“zhangsan”對應(yīng)的是name列,“23”對應(yīng)的是age列,“male”對應(yīng)的是gender列。需要注意的是在數(shù)據(jù)庫中,所有的字符串類型必須使用單引號引起來,不能使用雙引號,日期類型也要使用單引號引起,數(shù)字類型不需要使用單引號引起。

2.插入部分列

插入部分列是指在插入數(shù)據(jù)時(shí)只插入部分?jǐn)?shù)據(jù),例如:insert into student(number,name) values(‘xxx’,’xxx’);只插入了number,name兩列數(shù)據(jù),其他兩列沒有插入數(shù)據(jù),默認(rèn)值就為null,如圖1-9所示:

圖1-9 插入部分列
插入數(shù)據(jù)時(shí)如果指定了列名,那么可不按照創(chuàng)建表時(shí)給出的列的順序,例如:insert into student(age,name,number,gender) values(23,’lisi’,’itcast_0003’,’female’),values后給出的列值,值的順序和個(gè)數(shù)必須與前面指定的列對應(yīng)。

3.不給出插入的列名

insert into student values(‘xxx’,’xxx’,33,’xxx’)就是不給出要插入的列名,使用這種方式插入數(shù)據(jù)時(shí)有以下要求:
  • 沒有給出要插入的列,那么表示插入所有列;
  • 值的個(gè)數(shù)必須是該表的列的個(gè)數(shù);
  • 值的順序,必須與表創(chuàng)建時(shí)給出的列的順序相同。
下面我們使用這種方式向數(shù)據(jù)庫中插入數(shù)據(jù),如圖1-10所示:

圖1-10 插入的數(shù)據(jù)

使用左外連接查詢,左表是e1,因此e1表中的所有員工姓名都被查詢出來,e2表中不滿足條件的位置用null代替。

本文版權(quán)歸傳智播客Java培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客Java培訓(xùn)學(xué)院

首發(fā):http://fskzgqt.cn/javaee

本文版權(quán)歸傳智播客java學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客java學(xué)院
0 分享到:
和我們在線交談!