版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、3.1 MySQL數(shù)據(jù)類型MySQL提供的數(shù)據(jù)類型包括數(shù)值類型(整數(shù)類型和小數(shù)類型)、字符串類型、日期類型、復(fù)合類型MySQL整數(shù)類型123MySQL小數(shù)類型MySQL字符串類型(復(fù)合類型包括enum類型和set類型) 4MySQL日期類型以及二進(jìn)制類型 。MySQL復(fù)合類型53.1 MySQL數(shù)據(jù)類型MySQL提供的數(shù)據(jù)類型包括數(shù)值類型(整數(shù)類型和小數(shù)類型)、字符串類型、日期類型、復(fù)合類型(復(fù)合類型包括enum類型和set類型) 以及二進(jìn)制類型 。MySQL二進(jìn)制類型67為字段選擇合適的數(shù)據(jù)類型3.1.1 MySQL整數(shù)類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程整數(shù)類型tinyint類型smalli
2、nt類型mediumint類型int類型bigint類型3.1.1 MySQL整數(shù)類型整數(shù)類型的數(shù),默認(rèn)情況下既可以表示正整數(shù)又可以表示負(fù)整數(shù)(此時(shí)稱為有符號(hào) 數(shù))。如果只希望表示零和正整數(shù),可以使用無(wú)符號(hào)關(guān)鍵字“unsigned”對(duì)整數(shù)類型進(jìn)行修飾(此時(shí)稱為無(wú)符號(hào)整數(shù))。例如:score tinyint unsignedMySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.1 MySQL整數(shù)類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程類型字節(jié)數(shù)范圍(有符號(hào))范圍(無(wú)符號(hào))tinyint1字節(jié)(-128,127)(0,255)smallint2字節(jié)(-32768,32767)(0,65535)mediumint3字節(jié)(
3、-8388608,8388607)(0,16777215)int4字節(jié)(-2147483648,2147483647)(0,4294967295)bigint8字節(jié)(-9233372036854775808,9223372036854775807)(0,18446744073709551615)3.1.2 MySQL小數(shù)類型小數(shù)類型精確小數(shù)類型浮點(diǎn)數(shù)類型decimal精確類型float單精度類型double雙精度類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.2 MySQL小數(shù)類型decimal(length, precision)用于表示精度確定(小數(shù)點(diǎn)后數(shù)字的位數(shù)確定)的小數(shù)類型,其中:leng
4、th決定了該小數(shù)的最大位數(shù),precision用于設(shè)置精度(小數(shù)點(diǎn)后數(shù)字的位數(shù))。例如:decimal (5,2)表示小數(shù)取值范圍:999.99999.99 decimal (5,0)表示: -9999999999的整數(shù)。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.2 MySQL小數(shù)類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程類型字節(jié)數(shù)負(fù)數(shù)的取值范圍非負(fù)數(shù)的取值范圍float4-3.402823466E+38到-1.175494351E-380和1.175494351E-38到3.402823466E+38double8-1.7976931348623157E+308到-2.2250738585072014E
5、-3080和2.2250738585072014E-308到1.7976931348623157E+308MySQL數(shù)3.1.3 MySQL字符串字符串類型字符串類型的數(shù)據(jù)外觀上使用單引號(hào)括起來(lái),例如學(xué)生姓名張三、課程名char定長(zhǎng)字符串類型java程序設(shè)計(jì)等。變長(zhǎng)字符串類型text文本類型varchar變長(zhǎng)字符串類型tinytext文本類型text文本類型mediumtext文本類型longtext文本類型據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.3 MySQL字符串類型char()與varchar():例如對(duì)于簡(jiǎn)體中文字符集gbk的字符串而言, varchar(255)表示可以存儲(chǔ)255個(gè)漢字,而每個(gè)漢字
6、占用兩個(gè)字節(jié)的存儲(chǔ)空間。假如這個(gè)字符串沒(méi)有那么多漢字,例如僅僅包含一個(gè)中字,那么varchar(255)僅僅占用1個(gè)字符(兩個(gè)字節(jié)) 的儲(chǔ)存空間;而char(255)則必須占用255個(gè)字符長(zhǎng)度的存儲(chǔ)空間,哪怕里面只存儲(chǔ)一個(gè)漢字。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.4 MySQL日期類型date表示日期,默認(rèn)格式為YYYY-MM-DD; time表示時(shí)間,格式為HH:ii:ss;year表示年份;datetime與timestamp是日期和時(shí)間的混合類型,格式為YYYY-MM-DD HH:ii:ss日期類型date類型time類型year類型datetime類型timestamp類型MySQL
7、數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.4 MySQL日期類型datetime與timestamp都是日期和時(shí)間的混合類型,區(qū)別在于: 表示的取值范圍不同,datetime的取值范圍遠(yuǎn)遠(yuǎn)大于timestamp的取值范圍。 將NULL插入timestamp字段后,該字段的值實(shí)際上是MySQL服務(wù)器當(dāng)前的日期和時(shí)間。 同一個(gè)timestamp類型的日期或時(shí)間,不同的時(shí)區(qū),顯示結(jié)果不同。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.4 MySQL日期類型任務(wù)布置1:理解datetime與timestamp之間的區(qū)別。上機(jī)操作,完成場(chǎng)景描述1以及場(chǎng)景描述2的任務(wù)要求,理解datetime與timestamp之間的區(qū)別。學(xué)
8、會(huì)使用now()函數(shù)。注意:now()函數(shù)用于獲得MySQL服務(wù)器的當(dāng)前時(shí)間,該時(shí)間與時(shí)區(qū)的設(shè)置密切相關(guān)。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.5 MySQL復(fù)合類型MySQL 支持兩種復(fù)合數(shù)據(jù)類型:enum枚舉類型和set集合類型。enum類型的字段類似于單選按鈕的功能, 一個(gè)enum類型的數(shù)據(jù)最多可以包含65535個(gè)元素。set 類型的字段類似于復(fù)選框的功能,一個(gè)set類型的數(shù)據(jù)最多可以包含64個(gè)元素。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.6 MySQL二進(jìn)制類型二進(jìn)制類型的字段主要用于存儲(chǔ)由0和1 組成的字符串,因此從某種意義上將,二進(jìn)制類型的數(shù)據(jù)是一種特殊格式的字符串。二進(jìn)制類型與字符
9、串類型的區(qū)別在于:字符串類型的數(shù)據(jù)按字符為單位進(jìn)行存儲(chǔ),因此存在多種字符集、多種字符序;而二進(jìn)制類型的數(shù)據(jù)按字節(jié)為單位進(jìn)行存儲(chǔ),僅存在二進(jìn)制字符集binary。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.6 MySQL二進(jìn)制類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程二進(jìn)制類型binary類型varbinary類型bit類型blob類型tinyblob類型blob類型mediumblob類型longblob類型3.1.7 選擇合適的數(shù)據(jù)類型選擇合適的數(shù)據(jù)類型,不僅可以節(jié)省儲(chǔ)存空間,還可以有效地提升數(shù)據(jù)的計(jì)算性能。(1) 在符合應(yīng)用要求(取值范圍、精度)的前提下,盡量使用“短”數(shù)據(jù)類型(2) 數(shù)據(jù)類型越簡(jiǎn)單越好
10、(3) 在MySQL中,應(yīng)該用內(nèi)置的日期和時(shí)間數(shù)據(jù)類型,而不是用字符串來(lái)存儲(chǔ)日期和時(shí)間。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.1.7 選擇合適的數(shù)據(jù)類型(4) 盡量采用精確小數(shù)類型(例如decimal),而不采用浮點(diǎn)數(shù)類型。使用精確小數(shù)類型不僅能夠保證數(shù)據(jù)計(jì)算更為精確, 還可以節(jié)省儲(chǔ)存空間,例如百分比使用decimal(4,2)即可。(5) 盡量避免NULL字段,建議將字段指定為NOT NULL約束。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2 創(chuàng)建表create table 表名(字段名1 數(shù)據(jù)類型 約束條件,其他約束條件, 其他約束條件)其他選項(xiàng)(例如存儲(chǔ)引擎、字符集等選項(xiàng))1 設(shè)置約束設(shè)置自增型字段
11、23其他選項(xiàng)的設(shè)置創(chuàng)建“選課系統(tǒng)”數(shù)據(jù)庫(kù)表4復(fù)制一個(gè)表結(jié)構(gòu)53.2.1 設(shè)置約束1設(shè)置主鍵(Primary Key)約束(1)如果一個(gè)表的主鍵是單個(gè)字段,直接在該字段的數(shù)據(jù)類型或者其他約束條件后加上“primary key”關(guān)鍵字,即可將該字段設(shè)置為主鍵約束,語(yǔ)法規(guī)則如下。字段名 數(shù)據(jù)類型 其他約束條件 primary key例如:student_no char(11) primary keyMySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.1 設(shè)置約束1設(shè)置主鍵(Primary Key)約束(2)如果一個(gè)表的主鍵是多個(gè)字段的組合(例如字段名1與字段名2共同組成主鍵),定義完所有的字段后,使用下面的語(yǔ)法規(guī)
12、則將(字段名1, 字段名2)設(shè)置為復(fù)合主鍵。primary key (字段名1, 字段名2)MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.1 設(shè)置約束任務(wù)布置:完成場(chǎng)景描述4:查看某個(gè)表的約束條件的任務(wù)要求。注意:MySQL命令后,“G”的作用。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.2 設(shè)置自增型字段默認(rèn)情況下,MySQL自增型字段的值從1開(kāi)始遞增,且步長(zhǎng)為1。設(shè)置自增型字段的語(yǔ)法格式如下。字段名 數(shù)據(jù)類型 auto_incrementMySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.3 其他選項(xiàng)的設(shè)置1. 設(shè)置表的存儲(chǔ)引擎,語(yǔ)法格式如下。engine=存儲(chǔ)引擎類型2. 設(shè)置該表的字符集,語(yǔ)法格式如下。defau
13、lt charset=字符集類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.3 其他選項(xiàng)的設(shè)置3設(shè)置索引關(guān)鍵字的壓縮方式,可以通過(guò)設(shè)置pack_keys選項(xiàng)實(shí)現(xiàn)(注意僅對(duì)MyISAM存儲(chǔ)引擎的表有效),語(yǔ)法格式如下。pack_keys=壓縮類型壓縮類型值為default:表示只壓縮索引中字符串類型的關(guān)鍵字(例如char、varchar、text等字段),但不壓縮數(shù)值類型的關(guān)鍵字。壓縮類型值為0:表示取消索引關(guān)鍵字的壓縮。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.3 其他選項(xiàng)的設(shè)置3設(shè)置索引關(guān)鍵字的壓縮方式壓縮類型值為1:表示壓縮索引中所有關(guān)鍵字的儲(chǔ)存空間,這樣做通常會(huì)使檢索速度加快,更新速度變慢。例如索
14、引中第一個(gè)關(guān)鍵字的值為“perform”,第二關(guān)鍵字的值為“performance”,那么第二關(guān)鍵字會(huì)被存儲(chǔ)為“7,ance”。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.5 復(fù)制一個(gè)表結(jié)構(gòu)復(fù)制一個(gè)表結(jié)構(gòu)的實(shí)現(xiàn)方法有兩種。方法一:在create table語(yǔ)句的末尾添加like子句,可以將源表的表結(jié)構(gòu)復(fù)制到新表中,語(yǔ)法格式如下。create table 新表名like 源表MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.2.5 復(fù)制一個(gè)表結(jié)構(gòu)復(fù)制一個(gè)表結(jié)構(gòu)的實(shí)現(xiàn)方法有兩種。方法二、在create table語(yǔ)句的末尾添加一個(gè)select語(yǔ)句,可以實(shí)現(xiàn)表結(jié)構(gòu)的復(fù)制,甚至可以將源表的表記錄拷貝到新表中。下面的語(yǔ)法格式
15、將源表的表結(jié)構(gòu)以及源表的所有記錄拷貝到新表中。create table 新表名 select * from 源表MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3 修改表結(jié)構(gòu)成熟的數(shù)據(jù)庫(kù)設(shè)計(jì), 數(shù)據(jù)庫(kù)的表結(jié)構(gòu)一般不會(huì)發(fā)生變化。數(shù)據(jù)庫(kù)的表結(jié)構(gòu)一旦發(fā)生變化, 基于該表的視圖、觸發(fā)器、存儲(chǔ)過(guò)程將直接受到影響,甚至導(dǎo)致應(yīng)用程序的修改。1 修改字段相關(guān)信息修改約束條件23修改表的其他選項(xiàng)修改表名43.3.1 修改字段相關(guān)信息1刪除字段刪除表字段的語(yǔ)法格式如下。alter table 表名 drop 字段名MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.1 修改字段相關(guān)信息2添加新字段向表添加新字段時(shí),通常需要指定新字段在表中的
16、位置。向表添加新字段的語(yǔ)法格式如下。alter table 表名 add 新字段名 新數(shù)據(jù)類型束條件 first | after 舊字段名MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.1 修改字段相關(guān)信息3修改字段名(或者數(shù)據(jù)類型)(1)修改表的字段名(及數(shù)據(jù)類型)的語(yǔ)法格式如下。alter table 表名 change 舊字段名 新字段名新數(shù)據(jù)類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.1 修改字段相關(guān)信息3修改字段名(或者數(shù)據(jù)類型)(2)如果僅對(duì)字段的數(shù)據(jù)類型進(jìn)行修改,可以使用下面的語(yǔ)法格式。alter table 表名 modify 字段名 新數(shù)據(jù)類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.2 修
17、改約束條件1添加約束條件向表的某個(gè)字段添加約束條件的語(yǔ)法格式如下(其中約束類型可以是唯一性約束、主鍵約束及外鍵約束)。alter table 表名 add constraint 約束名 約束類型 (字段名)MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.2 修改約束條件2刪除約束條件(1) 刪除表的主鍵約束條件語(yǔ)法格式比較簡(jiǎn)單,語(yǔ)法格式如下。alter table 表名 drop primary key(2) 刪除表的外鍵約束時(shí),需指定外鍵約束名稱,語(yǔ)法格式如下(注意需指定外鍵約束名)。alter table 表名 drop foreign key 約束名MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.2 修改約
18、束條件2刪除約束條件(3)若要?jiǎng)h除表字段的唯一性約束,實(shí)際上只需刪除該字段的唯一性索引即可,語(yǔ)法格式如下(注意需指定唯一性索引的索引名)。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.3 修改表的其他選項(xiàng)alter table 表名 engine=新的存儲(chǔ)引擎類型alter table 表名 default charset=新的字符集alter table 表名 auto_increment=新的初始值alter table 表名 pack_keys=新的壓縮類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.3.4 修改表名修改表名的語(yǔ)法格式較為簡(jiǎn)單,語(yǔ)法格式如下。rename table舊表名to新表名該命令等
19、效于:alter table 舊表名 rename 新表名MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.4 刪除表刪除表的SQL語(yǔ)法格式比較簡(jiǎn)單,前面也已經(jīng)講過(guò),這里不再贅述。這里唯一需要強(qiáng)調(diào)的是刪除表時(shí),如果表之間存在外鍵約束關(guān)系,此時(shí)需要注意刪除表的順序。此外,刪除表之前切記先備份。3.5 索 引創(chuàng)建數(shù)據(jù)庫(kù)表時(shí),初學(xué)者通常僅僅關(guān)注該表有哪些字段、字段的數(shù)據(jù)類型及約束條件等信息,數(shù)據(jù)庫(kù)表中另一個(gè)重要的概念“索引”很容易被忽視。1 理解索引索引關(guān)鍵字的選取原則23索引與約束創(chuàng)建索引45刪除索引3.5.1 理解索引想象一下現(xiàn)代漢語(yǔ)詞典的使用方法,理解索引的重要性。1. 索引的本質(zhì)是什么?2. MySQL數(shù)據(jù)
20、庫(kù)中,數(shù)據(jù)是如何檢索的?3. 一個(gè)數(shù)據(jù)庫(kù)表只能創(chuàng)建一個(gè)索引嗎?4. 什么是前綴索引?5. 索引可以是字段的組合嗎?6. 能跨表創(chuàng)建索引嗎?MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.1 理解索引想象一下現(xiàn)代漢語(yǔ)詞典的使用方法,理解索引的重要性。7. 索引數(shù)據(jù)需要額外的存儲(chǔ)空間嗎?8. 表中的哪些字段適合選作表的索引?什么是主索引?什么是聚簇索引?9. 索引與數(shù)據(jù)結(jié)構(gòu)是什么關(guān)系?10. 索引非常重要,同一個(gè)表,表的索引越多越好嗎?MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.2 索引關(guān)鍵字的選取原則索引的設(shè)計(jì)往往需要一定的技巧,掌握了這些技巧,可以確保索引能夠大幅地提升數(shù)據(jù)檢索效率,彌補(bǔ)索引在數(shù)據(jù)更新方面帶來(lái)
21、的缺陷。原則1:表的某個(gè)字段值離散度越高,該字段越適合選作索引的關(guān)鍵字。原則2:占用儲(chǔ)存空間少的字段更適合選作索引的關(guān)鍵字。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.2 索引關(guān)鍵字的選取原則原則3:較頻繁地作為where查詢條件的字段應(yīng)該創(chuàng)建索引,分組字段或者排序字段應(yīng)該創(chuàng)建索引,兩個(gè)表的連接字段應(yīng)該創(chuàng)建索引。原則4:更新頻繁的字段不適合創(chuàng)建索引,不會(huì)出現(xiàn)在where子句中的字段不應(yīng)該創(chuàng)建索引。原則5最左前綴原則(尤其組合索引)原則6盡量使用前綴索引原則7.不要過(guò)度索引MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.3 索引與約束約束主要用于保證業(yè)務(wù)邏輯操作數(shù)據(jù)庫(kù)時(shí)數(shù)據(jù)的完整性;約束是邏輯層面的概念。索引則
22、是將關(guān)鍵字?jǐn)?shù)據(jù)以某種數(shù)據(jù)結(jié)構(gòu)的方式存儲(chǔ)到外存,用于提升數(shù)據(jù)的檢索性能; 索引既有邏輯上的概念,更是一種物理存儲(chǔ) 方式,且事實(shí)存在、需要耗費(fèi)一定的儲(chǔ)存空 間。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.4 創(chuàng)建索引索引的種類:主 索 引 聚簇索引唯一性索引普 通 索 引 復(fù)合索引全文索引(fulltext)MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.4 創(chuàng)建索引方法一:創(chuàng)建表的同時(shí)創(chuàng)建索引create table 表名(字段名1 數(shù)據(jù)類型 約束條件,其他約束條件,index索引名 ( 字段名 (長(zhǎng)度) unique | fulltext asc | desc ) engine=存儲(chǔ)引擎類型 default
23、charset=字符集類型MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.4 創(chuàng)建索引create table book(isbn char(20) primary key, name char(100) not null, brief_introduction text not null, price decimal(6,2), publish_time date not null,unique index isbn_unique (isbn), index name_index (name (20),fulltext index brief_fulltext (name,brief_introduc
24、tion), index complex_index (price,publish_time) engine=MyISAM default charset=gbk;MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.4 創(chuàng)建索引方法二、在已有表上創(chuàng)建索引語(yǔ)法格式一:create unique | fulltext index 索引名 on表名 ( 字段名 (長(zhǎng)度) asc | desc )語(yǔ)法格式二:alter table 表名 add unique | fulltext index 索引名 ( 字段名 (長(zhǎng)度) asc | desc )MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程3.5.5 刪除索引刪除索引的語(yǔ)法格式如
25、下。drop index 索引名 on 表名MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1 表記錄的插入1 使用insert語(yǔ)句插入新記錄向數(shù)據(jù)庫(kù)表插入記錄時(shí),可以使用更新操作與字符集2insert語(yǔ)句向表中插入一條或者多條記錄, 3關(guān)于自增型字段也可以使用insert.select語(yǔ)句向表中插入另一個(gè)表的結(jié)果集。批量插入多條記錄4使用insert.select插入結(jié)果集5使用replace插入新記錄6MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.1 使用insert語(yǔ)句插入新記錄語(yǔ)法格式如下。insert into 表名 (字段列表)表)values (值列任務(wù)布置1:完成場(chǎng)景描述1:向表的所有字段插入數(shù)據(jù)的
26、任務(wù)要求。注意:insert語(yǔ)句的返回結(jié)果。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.1 使用insert語(yǔ)句插入新記錄任務(wù)布置2:完成場(chǎng)景描述2:在指定的字段插入數(shù)據(jù)的任務(wù)要求。任務(wù)布置3:完成場(chǎng)景描述3:在insert語(yǔ)句中使用默認(rèn)值的任務(wù)要求。注意:外鍵約束關(guān)系 。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.2 更新操作與字符集從本章開(kāi)始,MySQL客戶機(jī)與MySQL服務(wù)器之間的數(shù)據(jù)請(qǐng)求、響應(yīng)變得更加頻繁,當(dāng)請(qǐng)求數(shù)據(jù)(或者響應(yīng)數(shù)據(jù))中存在中文字符時(shí),字符集的設(shè)置變得非常關(guān)鍵。任務(wù)布置4:完成場(chǎng)景描述4:更新操作與字符集的任務(wù)要求。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.3 關(guān)于自增型字段任務(wù)布置5:
27、完成場(chǎng)景描述5:關(guān)于自增型字段的任務(wù)要求。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.4 批量插入多條記錄使用insert語(yǔ)句可以一次性地向表批量插入多條記錄,語(yǔ)法格式如下。insert into 表名(字段列表) values (值列表1),(值列表2),(值列表n);MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.5 使用insert.select插入結(jié)果在insert語(yǔ)句中使用select子句可以將源表的查詢結(jié)果添加到目標(biāo)表中,語(yǔ)法格式如下。insert into 目標(biāo)表名(字段列表1)select (字段列表2) from 源表 where 條件表達(dá)式注意:字段列表1與字段列表2的字段個(gè)數(shù)必須相同,且
28、對(duì)應(yīng)字段的數(shù)據(jù)類型盡量保持一致。如果源表與目標(biāo)表的表結(jié)構(gòu)完全相同,“(字段列表1)”可以省略。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.6 使用replace插入新記錄replace語(yǔ)句的語(yǔ)法格式有三種語(yǔ)法格式。語(yǔ)法格式1:replace into 表名 (字段列表) values (值列表)語(yǔ)法格式2:replace into 目標(biāo)表名(字段列表1)select (字段列表2) from 源表 where 條件表達(dá)式MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.6 使用replace插入新記錄replace語(yǔ)句的語(yǔ)法格式有三種語(yǔ)法格式。語(yǔ)法格式3:replace into 表名set 字段1=值1, 字
29、段2=值2MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.6 使用replace插入新記錄replace語(yǔ)句的功能與insert語(yǔ)句的功能基本相同,不同之處在于:使用replace語(yǔ)句向表插入新記錄時(shí),如果新的主鍵值或者唯一性約束的字段值與已有記錄相同,則已有記錄先被刪除(注意:已有記錄刪除時(shí)也不能違背外鍵約束條件),然后再插入新記錄。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.1.6 使用replace插入新記錄使用replace的最大好處就是可以將delete和insert合二為一,形成一個(gè)原子操作,這樣就無(wú)需將delete操作與insert操作置于事務(wù)中了。任務(wù)布置6:完成場(chǎng)景描述6:replace語(yǔ)句的用法的任務(wù)要求。說(shuō)明:考慮到數(shù)據(jù)庫(kù)移植,不建議使用replace。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與實(shí)例教程4.2 表記錄的修改update 表名set 字段名1=值1,字段名2=值2,. ,字段名n=值n where 條件表達(dá)式where子句指定了表中的哪些記錄需要修改。若省略了where子句,則表示修改表中的所有記錄。set子句指定了要修改的字段以及該字段修改后的值。MySQL數(shù)據(jù)庫(kù)基礎(chǔ)與
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘭亭集序高中語(yǔ)文課件
- 膀胱結(jié)石課件教學(xué)課件
- 課件怎么傳教學(xué)課件
- “末位淘汰”制度的勞動(dòng)法思(5篇)
- 2024年公司個(gè)人工作總結(jié)參考樣本(2篇)
- 電梯應(yīng)急處理預(yù)案例文(2篇)
- 便當(dāng)創(chuàng)意課件教學(xué)課件
- 架線式電機(jī)車安全操作規(guī)程模版(2篇)
- 消防保衛(wèi)管理制度模版(2篇)
- 《像工程師那樣》作業(yè)設(shè)計(jì)方案
- 柱塞泵工作原理動(dòng)畫(huà)演示
- 幼兒園開(kāi)展“一對(duì)一傾聽(tīng)”的實(shí)踐與反思
- 空中乘務(wù)生涯發(fā)展
- 鹽田采鹽生產(chǎn)示范
- 科室院感自查報(bào)告
- 2024年中央國(guó)債登記結(jié)算有限責(zé)任公司招聘筆試參考題庫(kù)含答案解析
- 客情關(guān)系維護(hù)技巧課件
- 《小學(xué)急救知識(shí)培訓(xùn)》課件
- 小紅書(shū)平臺(tái)調(diào)研分析報(bào)告
- 不動(dòng)產(chǎn)測(cè)繪培訓(xùn)課件
- 4中小學(xué)毒品預(yù)防專題教育大綱
評(píng)論
0/150
提交評(píng)論