版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
創(chuàng)建和管理數(shù)據(jù)庫CONTENTS目錄情景導(dǎo)入01知識連接04任務(wù)目標(biāo)03分解任務(wù)02知識總結(jié)05情景導(dǎo)入01PART
小明已經(jīng)在項目二中設(shè)計好了農(nóng)產(chǎn)品銷售系統(tǒng)的E-R圖。接下來,王組長安排小明在MySQL數(shù)據(jù)庫管理系統(tǒng)中創(chuàng)建農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫。小明對此有些疑惑,不知道如何創(chuàng)建數(shù)據(jù)庫和管理數(shù)據(jù)庫。
王組長解釋道,小明需要掌握創(chuàng)建、管理數(shù)據(jù)庫的SQL語句,將正確的SQL語句輸入到MySQL的管理工具中,即可創(chuàng)建數(shù)據(jù)庫。情景導(dǎo)入分解任務(wù)02PART分解任務(wù)1.登錄數(shù)據(jù)庫,學(xué)會使用“MySQLCommandLineClient”工具。2.使用SQL語句創(chuàng)建數(shù)據(jù)庫,完成農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫的創(chuàng)建。3.查看MySQL中已創(chuàng)建好的數(shù)據(jù)庫,學(xué)習(xí)查看數(shù)據(jù)庫結(jié)構(gòu)的方法。4.使用命令打開數(shù)據(jù)庫,刪除數(shù)據(jù)庫。任務(wù)目標(biāo)03PART任務(wù)目標(biāo)掌握創(chuàng)建農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫的方法A學(xué)會管理農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫B了解字符集、排序規(guī)則C知識連接
04PART
數(shù)據(jù)庫是一個存放數(shù)據(jù)的容器,需要先創(chuàng)建好數(shù)據(jù)庫以后,
才可以往數(shù)據(jù)庫中存放表、數(shù)據(jù)、視圖等知識連接1.創(chuàng)建數(shù)據(jù)庫MySQL中創(chuàng)建數(shù)據(jù)庫的語法格式:
CREATEDATABASE數(shù)據(jù)庫名;在MySQL中不區(qū)分大小寫知識連接2.字符集ASCII碼收錄了數(shù)字、大小寫字母、標(biāo)點符號等字符,主要適應(yīng)于英語等西歐語言。GB2312該字符集收錄了漢字、圖形字符等,支持漢字的處理UTF-8該字符集收錄了全球大多數(shù)編碼,而且一直在不斷擴充??芍С种形摹⒂⑽?、日文、韓文等語言知識連接3.在創(chuàng)建數(shù)據(jù)庫時指定字符集、排序規(guī)則
語法格式如下:CREATEDATABASE數(shù)據(jù)庫名CHARACTERSET字符集名COLLATE排序規(guī)則名;知識連接4.對數(shù)據(jù)庫進行管理查看數(shù)據(jù)語法格式如下:SHOWDATABASES;刪除數(shù)據(jù)庫語法格式如下:DROPDATABASE數(shù)據(jù)庫名;打開數(shù)據(jù)庫語法格式如下:USE數(shù)據(jù)庫名;知識總結(jié)05PART知識總結(jié)
今天一起學(xué)習(xí)了在MySQL中創(chuàng)建數(shù)據(jù)庫、管理數(shù)據(jù)庫,接下來,我們將會在創(chuàng)建好的數(shù)據(jù)庫中繼續(xù)創(chuàng)建數(shù)據(jù)表!分析數(shù)據(jù)類型CONTENTS目錄情景導(dǎo)入01知識連接04任務(wù)目標(biāo)03分解任務(wù)02知識總結(jié)05情景導(dǎo)入01PART
小明已經(jīng)成功創(chuàng)建了數(shù)據(jù)庫,但是王組長提醒他,僅僅創(chuàng)建數(shù)據(jù)庫是無法存儲系統(tǒng)中的數(shù)據(jù)的。
我們需要將數(shù)據(jù)存放到數(shù)據(jù)表中,那我們在數(shù)據(jù)庫中可以對數(shù)據(jù)表進行哪些操作呢?情景導(dǎo)入分解任務(wù)02PART分解任務(wù)1.學(xué)習(xí)數(shù)據(jù)庫中常見的數(shù)據(jù)類型,學(xué)習(xí)不同的數(shù)據(jù)類型的要求、占用的存儲空間大小、關(guān)鍵字等相關(guān)知識。2.小組成員分工合作,制作表格。將農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫中的商品分類表、商品表每個字段的數(shù)據(jù)類型設(shè)計出來。任務(wù)目標(biāo)03PART任務(wù)目標(biāo)掌握MySQL數(shù)據(jù)庫中常見的數(shù)據(jù)類型A掌握分析據(jù)庫的數(shù)據(jù)類型B知識連接
04PART
(1)數(shù)值類型:A.整數(shù)類型
MySQL支持的整數(shù)類型如下表所示,不同的數(shù)據(jù)類型其取值范圍是不同的,需要根據(jù)實際情況選擇合適的數(shù)據(jù)類型。知識連接1.數(shù)據(jù)庫中的數(shù)據(jù)類型類型名取值范圍存儲空間有符號無符號TINYINT-128~1270~2551字節(jié)SMALLINT-32768~327670~655352字節(jié)MEDIUMINT-8388608~83886070~167772153字節(jié)INT-2147483648~21474836470~42949672954字節(jié)BIGINT-9223372036854775808~92233720368547758070~184467440737095516158字節(jié)
B.小數(shù)類型(浮點數(shù)類型、定點數(shù)類型)知識連接類型名存儲空間備注FLOAT4字節(jié)單精度浮點數(shù)DOUBLE8字節(jié)雙精度浮點數(shù)DECIMAL(M,D)M+2字節(jié)定點數(shù)
小數(shù)類型可以使用(M,D)來規(guī)定小數(shù)的長度和位數(shù)M——該數(shù)字總位數(shù)(稱為精度),D——該數(shù)字小數(shù)的位數(shù)(稱為精度)例如FLOAT(8,3)表示該數(shù)字總共可以顯示8位的長度,其中小數(shù)位為3位。(2)字符串類型
A.文本字符串類型
當(dāng)存儲的數(shù)據(jù)是由字符類型構(gòu)成時,可以使用字符串?dāng)?shù)據(jù)類型來進行存儲
字符串類型數(shù)據(jù)需要用單引號或者雙引號引起來。知識連接類型名備注CHAR(M)固定長度字符串VARCHAR(M)可變長度字符串TINYTEXT非常小的文本字符串TEXT小文本字符串MEDIUMTEXT中等文本字符串LONGTEXT大文本字符串
B.CHAR與VARCHAR類型CHAR與VARCHAR在使用時需要在關(guān)鍵字后面指定字符串的長度例如CHAR(5),代表該數(shù)據(jù)的字符個數(shù)最大為5知識連接
CHAR存儲數(shù)據(jù)的長度是固定的值,在保存數(shù)據(jù)時,如果數(shù)據(jù)的長度沒有達到定義時的長度,存儲數(shù)據(jù)時將會在數(shù)據(jù)的最后加上空格以達到固定的長度。知識連接
VARCHAR存儲數(shù)據(jù)的長度是可變的。在保存數(shù)據(jù)時,如果數(shù)據(jù)的長度沒有達到定義時的長度,不會在末尾添加空格進行填充,需要增加一位用來記錄字符串的長度。知識連接
CHAR(5)定義的字符串長度為5,無論存放數(shù)據(jù)長度的大小是多少,所占空間
均為5字節(jié)。而VARCHAR(5)同樣定義了字符串的長度為5,但是存放數(shù)據(jù)時會根
據(jù)實際字符串的長度占用存儲空間。存儲數(shù)據(jù)值CHAR(5)存儲空間VARCHAR(5)存儲空間‘’‘5字節(jié)‘’1字節(jié)‘h’‘h5字節(jié)‘h’2字節(jié)‘hello’‘hello’5字節(jié)‘hello’6字節(jié)‘hellooo’‘hello’5字節(jié)‘hello’6字節(jié)知識連接
C.TEXT類型
如果需要存儲的文本信息比較大時(比如內(nèi)容介紹、產(chǎn)品詳細信息、評論
等),此時不再使用CHAR或VARCHAR類型,而使用TEXT類型。類型名最大空間最大長度TINYTEXT255字節(jié)255(28-1)字符TEXT64KB65535(216-1)字符MEDIUMTEXT16MB16777215(224-1)字符LONGTEXT4GB4294967295(232-1)字符(3)二進制字符串類型
知識連接類型名備注存儲空間BINARY(M)固定長度二進制字符串M位字節(jié)VARBINARY(M)不固定長度二進制字符串M+1位字節(jié)BIT(M)位字段M位二進制,M最大為64TINYBLOB非常小的BLOB最多255(28-1)位BLOB小BLOB最多65535(216-1)位MEDIUMBLOB中等大小BLOB最多16777215(224-1)位LONGBLOB非常大的BLOB最多4294967295(232-1)位知識連接
BINARY與VARBINARY類型和CHAR、VARCHAR類型有點類似,BINARY是固定長度的,VARBINARY是可變長度二進制字符串。
當(dāng)存儲的二進制數(shù)據(jù)比較大時,可以使用BLOB類型,BLOB類型是可變長度二進制數(shù)據(jù)。知識連接(4)日期和時間類型
當(dāng)存儲的數(shù)據(jù)是日期、時間時(如商品的生產(chǎn)日期),可以定義為專用于存儲日期、時間的數(shù)據(jù)類型。
在插入數(shù)據(jù)時需要注意按照格式、范圍的要求,否則系統(tǒng)會將會存放“零”值。知識連接類型名格式范圍存儲空間YEARYYYY或YY1901~21551字節(jié)TIMEHH:MM:SS-838:59:59~838:59:593字節(jié)DATEYYYY-MM-DD1000-01-01~9999-12-314字節(jié)DATETIMEYYYY-MM-DDHH:MM:SS1000-01-0100:00:00~9999-12-3123:59:598字節(jié)TIMESTAMPYYYY-MM-DDHH:MM:SS1970-01-0100:00:01~2038-01-1903:14:074字節(jié)日期和時間類型知識連接03DATE類型存儲的數(shù)據(jù)是日期類的信息,格式為“YYYY-MM-DD”,其中YYYY是年,MM是月,DD是日,其取值范圍是1000-01-01到9999-12-3104DATETIME類型存儲的是日期和時間類型,格式為“YYYY-MM-DDHH:MM:SS”,其中YYYY是年,MM是月,DD是日,HH是小時,MM是分鐘,SS是秒01YEAR類型用于存儲年份信息,存儲的范圍是1901~205502TIME類型用于存儲時間信息,格式為“HH:MM:SS”其中HH是小時,MM是分鐘,SS是秒05TIMESTAMP類型時間戳類型,其顯示的格式為“YYYY-MM-DDHH:MM:SS”,格式與格式的含義與DATETIME一致。(1)商品分類表商品分類表所用的字段、和字段的數(shù)據(jù)類型如下所示知識連接2.銷售管理數(shù)據(jù)庫中表的結(jié)構(gòu)列名數(shù)據(jù)類型長度備注分類號char10主鍵分類名稱varchar20類別描述text(2)商品表在商品表中,用到的字段和字段類型如下所示知識連接列名數(shù)據(jù)類型長度備注商品號char10主鍵分類號char10非空、外鍵商品名varchar30進貨價decimal長度10,小數(shù)2位銷售價decimal長度10,小數(shù)2位庫存int11非空單位char10非空商品描述text知識總結(jié)05PART知識總結(jié)今天我們一起學(xué)習(xí)了數(shù)據(jù)庫常見的數(shù)據(jù)類型,大家是否都知道MySQL中常用的數(shù)據(jù)類型有哪些了嗎?創(chuàng)建和管理數(shù)據(jù)表CONTENTS目錄情景導(dǎo)入01知識連接04任務(wù)目標(biāo)03分解任務(wù)02知識總結(jié)05情景導(dǎo)入01PART
在3.2.1中小明學(xué)會了MySQL數(shù)據(jù)庫中的數(shù)據(jù)類型,小明需要在數(shù)據(jù)庫中創(chuàng)建表,那該如何創(chuàng)建呢?
小明還發(fā)現(xiàn),如果創(chuàng)建好數(shù)據(jù)表以后,不小心把表的名字、某一列的數(shù)據(jù)類型寫錯了,那該怎么修改呢?情景導(dǎo)入分解任務(wù)02PART分解任務(wù)1.在農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫中創(chuàng)建商品分類表、商品表。2.查看數(shù)據(jù)庫中已創(chuàng)建好的數(shù)據(jù)表,并顯示數(shù)據(jù)表的結(jié)
構(gòu)。3.管理數(shù)據(jù)表。主要包括在數(shù)據(jù)表中新增一列數(shù)據(jù)、
修改某一列的數(shù)據(jù)類型、刪除某一列等相關(guān)操作。4.刪除農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫中的數(shù)據(jù)表。任務(wù)目標(biāo)03PART任務(wù)目標(biāo)掌握創(chuàng)建數(shù)據(jù)表的方法A掌握查看數(shù)據(jù)表結(jié)構(gòu)的方法B掌握修改數(shù)據(jù)表結(jié)構(gòu)的方法C掌握刪除數(shù)據(jù)表的方法D知識連接
04PART1.創(chuàng)建數(shù)據(jù)表的語法結(jié)構(gòu)創(chuàng)建數(shù)據(jù)表的語法格式如下:知識連接三、查看數(shù)據(jù)表結(jié)構(gòu)CREATETABLE表名( 字段名1數(shù)據(jù)類型約束條件,
字段名2數(shù)據(jù)類型約束條件,……
字段名
n數(shù)據(jù)類型約束條件);
【例3.1】創(chuàng)建商品分類表、商品表。接下來,將在數(shù)據(jù)庫中創(chuàng)建商品分類表和商品表。(1)打開數(shù)據(jù)庫知識連接USE農(nóng)產(chǎn)品銷售管理數(shù)據(jù)庫;
(2)創(chuàng)建商品分類表知識連接CREATETABLE商品分類表(分類號 CHAR(10),分類名稱 VARCHAR(20),類別描述 TEXT);
(3)創(chuàng)建商品表知識連接CREATETABLE商品表(商品號CHAR(10),分類號CHAR(10),商品名VARCHAR(30),進貨價DECIMAL(10,2),銷售價DECIMAL(10,2),庫存 INT(11),單位CHAR(10),商品描述TEXT);2.查看數(shù)據(jù)庫已創(chuàng)建的表查看當(dāng)前數(shù)據(jù)庫中已經(jīng)建立的表,語法格式如下:知識連接SHOWTABLES;
【例3.2】查看已創(chuàng)建的商品分類表和商品表知識連接SHOWTABLES;3.查看表的基本結(jié)構(gòu)需要查看已創(chuàng)建表的基本結(jié)構(gòu),語法格式如下知識連接DESCARIBE數(shù)據(jù)表名;或: DESC 數(shù)據(jù)表名;【例3.3】查看商品表基本結(jié)構(gòu)知識連接DESC商品表;錄屏操作4.查看表的詳細結(jié)構(gòu)需要查看已創(chuàng)建表的詳細結(jié)構(gòu),語法格式如下知識連接SHOWCREATETABLE數(shù)據(jù)表名;【例3.4】查看商品表詳細結(jié)構(gòu)知識連接SHOWCREATETABLE商品表;錄屏操作在創(chuàng)建好數(shù)據(jù)表以后,我們可以修改數(shù)據(jù)表的結(jié)構(gòu)。1.修改數(shù)據(jù)表表名修改表名的SQL語句語法格式如下知識連接四、修改數(shù)據(jù)表結(jié)構(gòu)ALTERTABLE表名 RENAME(TO)新表名;(圓括號中的“TO”可以加上,
也可以省略)【例3.5】將“商品表”改名為“商品表1”知識連接ALTERTABLE 商品表RENAME商品表1;或ALTER TABLE 商品表 RENAMETO商品表1;2.修改字段名修改字段名的SQL語句語法格式如下 ALTERTABLE表名 CHANGE舊字段名新字段名
數(shù)據(jù)類型;知識連接【例3.6】將商品表中的字段“庫存”修改為“庫存2”。 ALTERTABLE商品表CHANGE庫存庫存2;3.修改字段數(shù)據(jù)類型修改字段數(shù)據(jù)類型的SQL語句語法格式如下。 ALTERTABLE表名 MODIFY字段名新數(shù)據(jù)類型;知識連接【例3.7】將商品表中的字段“商品號”的數(shù)據(jù)類型修改為VARCHAR(10)。 ALTERTABLE商品表MODIFY商品號VARCHAR(10);4.修改字段的位置可以對數(shù)據(jù)表中的字段進行位置調(diào)整。根據(jù)調(diào)整的位置不同,有兩種方式可供選擇:(1)將字段a修改為改表的第一列,語法格式如下:
ALTERTABLE表名MODIFY字段a數(shù)據(jù)類型FIRST;知識連接【例3.8】將商品表中的字段“商品名”移動到表中第一列。ALTERTABLE商品表MODIFY商品名VARCHAR(30)FIRST;輸入“DESC商品表”,查看商品表的結(jié)構(gòu)如下所示,“商品名”已經(jīng)在表中第一列(2)修改字段a到表中字段b的后面,語法格式如下:ALTERTABLE表名MODIFY字段a數(shù)據(jù)類型AFTER字段b;知識連接【例3.9】將商品表中的字段“商品名”移動到“分類號”的后面。ALTERTABLE商品表MODIFY商品名varchar(30)AFTER分類號;5.新增字段可以往表中添加新的字段,根據(jù)添加字段的位置不同,共有三種方式:(1)在表的最后添加新字段,語法格式如下:
ALTERTABLE表名ADD字段名數(shù)據(jù)類型;知識連接【例3.10】在商品表的最后添加一列test1,數(shù)據(jù)類型為CHAR(10)。
ALTERTABLE商品表ADDtest1CHAR(10);(2)在表的最前面新增字段,SQL語句如下:
ALTERTABLE表名ADD字段名數(shù)據(jù)類型FIRST;知識連接【例3.11】在商品表的最前面添加一列test2,數(shù)據(jù)類型為CHAR(10)ALTERTABLE商品表ADDtest2CHAR(10)FIRST;(3)在表中某個字段后新增一列,語法格式如下:ALTERTABLE表名ADD字段名數(shù)據(jù)類型AFTER指定字段名;知識連接【例3.12】在商品表中,“商品描述”后面添加一列test3,數(shù)據(jù)類型為CHAR(10)。ALTERTABLE商品表ADDtest3CHAR(10)AFTER商品描述;6.刪除字段
如果需要刪除表中的某個字段,語法格式如下:ALTERTABLE表名DROP字段名;知識連接【例3.13】刪除商品表中的test3列。ALTERTABLE商品表DROPtest3;
刪除數(shù)據(jù)表時會將表中的數(shù)據(jù)全部刪除,所以最好先對數(shù)據(jù)進行備份,或者確認表中的數(shù)據(jù)不在使用再刪除數(shù)據(jù)表。知識連接五、刪除數(shù)據(jù)表語法格式:DROPTABLE表名1,表名2,……表名n;
【例3.14】刪除數(shù)據(jù)庫中的“商品表”DROPTABLE商品表;
在當(dāng)前大數(shù)據(jù)時代中,數(shù)據(jù)信息成為每個部門、組織重要資產(chǎn)之一,數(shù)據(jù)庫作為數(shù)據(jù)管理的技術(shù),管理著數(shù)據(jù)資源。作為數(shù)據(jù)庫的創(chuàng)建者與管理者,只有確保數(shù)據(jù)庫建設(shè)的嚴謹性,數(shù)據(jù)操作的規(guī)范性,才能保護數(shù)據(jù)資源,更好的履行個人工作職能,守住職業(yè)操守,獲得領(lǐng)導(dǎo)的認可。
同時,嚴謹規(guī)范,也是我們在工作中必須具備的品質(zhì)之一,良好的工作習(xí)慣才能使得我們在工作中取得更高的成就,實現(xiàn)個人價值。【思政:數(shù)據(jù)之嚴謹規(guī)范】知識總結(jié)05PART知識總結(jié)
今天我們一起學(xué)習(xí)了創(chuàng)建數(shù)據(jù)表、管理數(shù)據(jù)表。大家是否都熟練掌握了?創(chuàng)建農(nóng)產(chǎn)品數(shù)據(jù)表的約束條件CONTENTS目錄情景導(dǎo)入01知識連接04任務(wù)目標(biāo)03分解任務(wù)02知識總結(jié)05情景導(dǎo)入01PART
在創(chuàng)建好了農(nóng)產(chǎn)品數(shù)據(jù)表以后,細心的小明想到了一些問題:在商品表中,商品的庫存應(yīng)該是正數(shù),能不能設(shè)置不讓數(shù)據(jù)庫存儲負數(shù)呢?商品的市場價格可以不可以設(shè)置一個默認值呢?存儲數(shù)據(jù)時可以讓商品的編號不重復(fù)嗎?情景導(dǎo)入分解任務(wù)02PART分解任務(wù)1.在“商品表”、“商品分類表”中設(shè)置非空約束。2.在“商品表”、“商品分類表”設(shè)置主鍵約束。3.學(xué)習(xí)唯一性約束的作用、設(shè)置方法。4.學(xué)習(xí)默認約束的作用、設(shè)置方法。5.學(xué)習(xí)無符號約束的作用、設(shè)置方法。6.學(xué)習(xí)自增約束的作用、設(shè)置方法。7.在“商品表”設(shè)置外鍵約束。任務(wù)目標(biāo)03PART任務(wù)目標(biāo)掌握設(shè)置非空約束、唯一性約束、外鍵約束方法A掌握設(shè)置主鍵的方法B了解默認約束、無符號約束、自增約束C知識連接
04PART知識連接一、非空約束在定義數(shù)據(jù)表時設(shè)置非空約束,語法格式如下:
字段名數(shù)據(jù)類型NOTNULL;
非空約束的作用是確保設(shè)置字段必須有值,防止記錄中該字防止記錄中該字段的數(shù)據(jù)值為空。
如何設(shè)置非空約束?知識連接給已創(chuàng)建的數(shù)據(jù)表設(shè)置非空約束,語法格式如下:ALTERTABLE數(shù)據(jù)表名MODIFY字段名數(shù)據(jù)類型NOTNULL;給“商品表中”的字段“分類號”添加非空約束。ALTERTABLE商品表MODIFY分類號CHAR(10)NOTNULL;知識連接知識連接刪除非空約束,語法格式如下:
ALTERTABLE數(shù)據(jù)表名MODIFY字段名數(shù)據(jù)類型;
如何刪除非空約束?將“商品表中”的字段“庫存”的非空約束刪除。ALTERTABLE商品表MODIFY庫存INT(11);知識連接知識連接二、主鍵約束
主鍵能唯一地表示表中的每條信息,可以讓數(shù)據(jù)庫以最快的速度查詢到表中的某一條數(shù)據(jù)。主鍵可以由一列組成,也可以由多個列組合而成,但是一張表中只能有一個主鍵。
1.在定義數(shù)據(jù)表時創(chuàng)建主鍵既可以在定義字段的時候設(shè)置主鍵,也可以在定義完所有字段以后再設(shè)置主鍵,語法格式如下。定義字段時設(shè)置主鍵的語法格式字段名數(shù)據(jù)類型PRIMARYKEY在定義完所有字段之后設(shè)置主鍵的語法格式PRIMARYKEY(字段1、字段2…)知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名ADDPRIMARYKEY(字段1,字段2,…字段n);
給創(chuàng)建好的數(shù)據(jù)表添加主鍵給創(chuàng)建好的數(shù)據(jù)表添加主鍵。語法格式如下2.刪除主鍵如果需要刪除數(shù)據(jù)表中的主鍵,語法格式如下。知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名DROPPRIMARYKEY;將“商品表中”的字段“商品號”設(shè)置為主鍵。ALTERTABLE商品表ADDPRIMARYKEY(商品號);知識連接Ω刪除商品表中的主鍵。ALTERTABLE商品表DROPPRIMARYKEY;知識連接知識連接三、唯一約束
唯一約束要求該字段中的值不能重復(fù)
A設(shè)置了唯一約束的字段,該列可以插入空數(shù)據(jù),但是只能錄入一條為空的數(shù)據(jù)。B與主鍵的區(qū)別:主鍵不允許有空值,而且一張數(shù)據(jù)表只能設(shè)置一個主鍵。唯一約束可以有一條空數(shù)據(jù),一個表中可以為多個字段設(shè)置唯一約束。知識連接定義數(shù)據(jù)表時設(shè)置唯一約束語法格式如下:字段名數(shù)據(jù)類
UNIQUE給創(chuàng)建好的表添加唯一約束語法格式如下:ALTERTABLE表名ADDCONSTRAINT約束名UNIQUE(字段名);定義完所有字段以后設(shè)置語法格式如下:[CONSTRAINT約束名]UNIQUE(字段名)給“商品表中”的字段“商品名”設(shè)置唯一約束。ALTERTABLE商品表DROPPRIMARYKEY;知識連接刪除商品表中“商品名”的唯一約束DROPINDEXtestON商品表;知識連接刪除唯一約束,語法格式如下
DROPINDEX約束名ON表名知識連接四、默認約束
默認約束可以給字段規(guī)定一個默認值,當(dāng)錄入數(shù)據(jù)的時候,如果沒有給該列數(shù)據(jù),則系統(tǒng)會自動給這個字段賦值。
1.在定義數(shù)據(jù)表時設(shè)置默認約束可以在定義數(shù)據(jù)表時設(shè)置默認約束,語法格式如下在定義數(shù)據(jù)表時設(shè)置默認約束,語法格式如下:字段名數(shù)據(jù)類型DEFAULT默認值;知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名ALTER字段名SETDEFAULT默認值;
給創(chuàng)建好的數(shù)據(jù)表設(shè)置非空約束給創(chuàng)建好的數(shù)據(jù)表設(shè)置非空約束。語法格式如下給“商品表中”的字段“庫存”設(shè)置默認值0。ALTERTABLE商品表ALTER庫存SETDEFAULT0;知識連接2.刪除默認約束如果需要刪除默認約束,語法格式如下知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名ALTER字段名DROPDEFAULT;將“商品表中”的字段“庫存”的默認約束刪除。ALTERTABLE商品表ALTER庫存DROPDEFAULT;知識連接知識連接五、無符號約束
無符號約束可以規(guī)定字段存儲的數(shù)據(jù)不能為負數(shù)。需要注意,如果一個字段設(shè)置了多個約束條件,UNSIGNED必須寫在第一個。
1.在定義數(shù)據(jù)表時設(shè)置無符號約束可以在定義數(shù)據(jù)表時設(shè)置無符號約束,語法格式如下在定義數(shù)據(jù)表時設(shè)置無符號約束,語法格式如下:字段名數(shù)據(jù)類型UNSIGNED;知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名MODIFY字段名數(shù)據(jù)類型UNSIGNED;
給創(chuàng)建好的數(shù)據(jù)表設(shè)置默認約束給創(chuàng)建好的數(shù)據(jù)表設(shè)置默認約束。語法格式如下
給“商品表中”的字段“庫存”設(shè)置無符號約束。ALTERTABLE商品表MODIFY庫存INT(10)UNSIGNED;知識連接2.刪除無符號約束如果需要刪除無符號約束,語法格式如下知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名MODIFY字段名數(shù)據(jù)類型;知識連接六、自增約束
無符號約束可以規(guī)定字段存儲的數(shù)據(jù)不能為負數(shù)。需要注意,如果一個字段設(shè)置了多個約束條件,UNSIGNED必須寫在第一個。
設(shè)置自增約束的字段必須為整數(shù)類型。設(shè)置自增約束的字段默認初始值為1,每次增加一條記錄字段值會自動增加1。一張表中只能設(shè)置一個字段自動遞增,而且該字段最好是主鍵或主鍵的一部分。
設(shè)置自增約束設(shè)置自增約束,語法格式如下知識連接語法格式如下
字段名數(shù)據(jù)類型AUTO_INCREMENT知識連接七、外鍵約束
外鍵可以將兩個表的數(shù)據(jù)鏈接起來,建立關(guān)聯(lián)關(guān)系,在某張表中引用另一張表的一個列或多個列
外鍵是一個字段,它鏈接另外一張表的主鍵,它在本表中可以不是主鍵。
主表:也叫父表。是指相關(guān)聯(lián)的兩張表中,主鍵所在的表。從表:也叫子表。是指相關(guān)聯(lián)的兩張表中,外鍵所在的表。
設(shè)置外鍵的字段與被引用表的主鍵字段的數(shù)據(jù)類型必須保持一致
如果需要刪除父表,可以先刪除子表再刪除父表。
1.在定義數(shù)據(jù)表時設(shè)置外鍵約束在定義數(shù)據(jù)表時設(shè)置外鍵約束,需要在所以字段定義完之后設(shè)置,語法格式如下知識連接語法格式如下
[CONSTRAINT外鍵名]FOREIGNKEY(字段1,字段2…)REFERENCES父表名(主鍵1,主鍵2…);知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名ADDCONSTRAINT外鍵名FOREIGNKEY(字段1,字段2…)REFERENCES父表名(主鍵1,主鍵2…)
給創(chuàng)建好的數(shù)據(jù)表設(shè)置外鍵約束給創(chuàng)建好的數(shù)據(jù)表設(shè)置外鍵約束。語法格式如下
將“商品表”中的字段“分類號”設(shè)置為外鍵。ALTERTABLE商品表ADDCONSTRAINTFK_categoryidFOREIGNKEY(分類號)REFERENCES商品分類表(分類號);知識連接2.刪除外鍵約束如果需要刪除外鍵約束,語法格式如下知識連接語法格式如下
ALTERTABLE數(shù)據(jù)表名DROPFOREIGNKEY外鍵名;
將“商品表中”的外鍵約束刪除。ALTERTABLE商品表DROPFOREIGNKEYFK_categoryid;知識連接
在創(chuàng)建數(shù)據(jù)表時定義約束條件的案例(錄屏操作)知識連接知識總結(jié)05PART知識總結(jié)
今天我們一起學(xué)習(xí)了MySQL中的約束條件。你們現(xiàn)在知道它們的作用是什么嗎?
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024無人機研發(fā)與飛行服務(wù)合同
- 2025年度高檔別墅窗戶定制安裝與維護保養(yǎng)合同3篇
- 二零二五版程海流域生態(tài)保護與可持續(xù)發(fā)展合同2篇
- 中原地產(chǎn)房屋買賣居間協(xié)議(2024年度版)版
- 個人在線醫(yī)療咨詢服務(wù)平臺合作協(xié)議(2024版)2篇
- 未來教育趨勢與終身學(xué)習(xí)規(guī)劃的構(gòu)建
- 個人抵押借款合同書樣例版
- 2025年度金融機構(gòu)與個人消費貸款合同范本4篇
- 2025版壓路機設(shè)備租賃及維護管理合同范本3篇
- 現(xiàn)代餐飲業(yè)營銷策略及服務(wù)流程優(yōu)化
- 泌尿:膀胱腫瘤病人的護理查房王雪-課件
- 標(biāo)點符號的研究報告
- 服務(wù)器報價表
- 2025年高考化學(xué)試題分析及復(fù)習(xí)策略講座
- 2024-2029年中國制漿系統(tǒng)行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 大門封條模板
- 【“凡爾賽”網(wǎng)絡(luò)流行語的形成及傳播研究11000字(論文)】
- ppr管件注塑工藝
- 液化氣站其他危險和有害因素辨識及分析
- 高中語文教學(xué)課例《勸學(xué)》課程思政核心素養(yǎng)教學(xué)設(shè)計及總結(jié)反思
- 中國農(nóng)業(yè)銀行小微企業(yè)信貸業(yè)務(wù)貸后管理辦法規(guī)定
評論
0/150
提交評論