版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MySQL數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)技術(shù)第2章數(shù)據(jù)表操作本單元教學(xué)目標(biāo)了解數(shù)據(jù)表的功能作用認(rèn)識(shí)數(shù)據(jù)庫(kù)構(gòu)建語(yǔ)句掌握數(shù)據(jù)表的構(gòu)建過(guò)程及操作掌握數(shù)據(jù)表的各種約束條件MySQL自帶庫(kù)節(jié)點(diǎn)(1)information_schemaMySQL系統(tǒng)庫(kù)存儲(chǔ)數(shù)據(jù)庫(kù)的元數(shù)據(jù)信息如數(shù)據(jù)庫(kù),表的名稱,列的數(shù)據(jù)類型或者訪問(wèn)權(quán)限performance_schemaMySQL系統(tǒng)庫(kù)記錄MySQL
服務(wù)進(jìn)程對(duì)資源的消耗、進(jìn)程等待等信息mysqlMySQL系統(tǒng)庫(kù)記錄數(shù)據(jù)庫(kù)服務(wù)器運(yùn)行時(shí)所需要的系統(tǒng)信息如數(shù)據(jù)文件夾、字符集、約束檢查、系統(tǒng)用戶等MySQL自帶庫(kù)節(jié)點(diǎn)(2)sakilaMySQL數(shù)據(jù)庫(kù)的樣例節(jié)點(diǎn)供參考如何進(jìn)行數(shù)據(jù)庫(kù)、數(shù)據(jù)表設(shè)計(jì),以及提供視圖、存儲(chǔ)過(guò)程開(kāi)發(fā)worldMySQL數(shù)據(jù)庫(kù)的樣例節(jié)點(diǎn)比“sakila”簡(jiǎn)單得多,只有四張數(shù)據(jù)表幫助操作人員快速在本地建立MySQL數(shù)據(jù)庫(kù)節(jié)點(diǎn)環(huán)境testMySQL的測(cè)試庫(kù)可在此庫(kù)任意創(chuàng)建自己所需要的數(shù)據(jù)表以及其它各類型實(shí)體如視圖、存儲(chǔ)過(guò)程、觸發(fā)器等數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)節(jié)點(diǎn)創(chuàng)建語(yǔ)法:CREATEDATABASE數(shù)據(jù)庫(kù)節(jié)點(diǎn)名稱CREATEDATABASEHELLO創(chuàng)建了一個(gè)名稱為“HELLO”的庫(kù)節(jié)點(diǎn)CREATEDATABASEDEMO創(chuàng)建了一個(gè)名稱為“DEMO”的庫(kù)節(jié)點(diǎn)CREATEDATABASEABC創(chuàng)建了一個(gè)名稱為“ABC”的庫(kù)節(jié)點(diǎn)數(shù)據(jù)庫(kù)查詢數(shù)據(jù)庫(kù)節(jié)點(diǎn)查詢語(yǔ)句SHOWDATABASES數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)節(jié)點(diǎn)刪除語(yǔ)法DROOP
DATABASE
數(shù)據(jù)庫(kù)節(jié)點(diǎn)名稱DROOPDATABASEHELLO刪除了一個(gè)名稱為“HELLO”的庫(kù)節(jié)點(diǎn)DROOPDATABASEDEMO刪除了一個(gè)名稱為“DEMO”的庫(kù)節(jié)點(diǎn)DROOPDATABASEABC刪除了一個(gè)名稱為“ABC”的庫(kù)節(jié)點(diǎn)數(shù)據(jù)表主鍵主鍵(PrimaryKey)數(shù)據(jù)表中非常重要的一個(gè)核心元素用于標(biāo)識(shí)數(shù)據(jù)表中記錄的唯一性通過(guò)主鍵能在數(shù)據(jù)表中找到唯一的數(shù)據(jù)記錄主鍵由數(shù)據(jù)表中的一個(gè)或多個(gè)字段承擔(dān)主鍵舉例在一個(gè)學(xué)生表中,每學(xué)生的學(xué)號(hào)都是唯一,這個(gè)屬性就可以作為學(xué)生表的主鍵字段通過(guò)主鍵值“20000136”可以在表中找到對(duì)應(yīng)標(biāo)號(hào)為①的唯一記錄通過(guò)主鍵值“20000153”可以在表中找到對(duì)應(yīng)標(biāo)號(hào)為②的唯一記錄數(shù)據(jù)表外鍵外鍵(ForeignKey)是數(shù)據(jù)表中另外一個(gè)非常重要的核心元素用于傳遞數(shù)據(jù)表之間的關(guān)聯(lián)性一個(gè)數(shù)據(jù)表的業(yè)務(wù)字段去關(guān)聯(lián)另一個(gè)數(shù)據(jù)表的唯一性字段就構(gòu)成主外鍵引用關(guān)系去引用關(guān)聯(lián)其它數(shù)據(jù)表的字段則聲明為外鍵外鍵舉例如存在一個(gè)教師表,其中教工號(hào)(teacher_id)字段的值在表中唯一,不重復(fù)學(xué)生表中有班主任標(biāo)識(shí)(teacher_id)字段,記錄表中每個(gè)學(xué)生所對(duì)應(yīng)的班主任是哪一位老師這樣學(xué)生表與教師表便形成外鍵關(guān)聯(lián)引用關(guān)系數(shù)據(jù)類型分類整數(shù)類型TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT小數(shù)類型FLOAT、DOUBLE、DECIMAL字符串類型CHAR、VARCHAR、TEXT日期類型DATE、DATETIME、TIMESTAMP、TIME其他數(shù)據(jù)類型BLOB創(chuàng)建數(shù)據(jù)表數(shù)據(jù)表存在于數(shù)據(jù)庫(kù)節(jié)點(diǎn)中創(chuàng)建數(shù)據(jù)表之前先創(chuàng)建好相關(guān)數(shù)據(jù)庫(kù)節(jié)點(diǎn)可以直接在已存在的數(shù)據(jù)庫(kù)節(jié)點(diǎn)中創(chuàng)建數(shù)據(jù)表創(chuàng)建數(shù)據(jù)表的過(guò)程定義數(shù)據(jù)列的屬性過(guò)程約束數(shù)據(jù)完整性的過(guò)程進(jìn)入庫(kù)節(jié)點(diǎn)進(jìn)入庫(kù)節(jié)點(diǎn)語(yǔ)法USE數(shù)據(jù)庫(kù)節(jié)點(diǎn)名稱USEDEMO進(jìn)入名稱為“demo”的庫(kù)節(jié)點(diǎn)USEHELLO進(jìn)入名稱為“hello”的庫(kù)節(jié)點(diǎn)USEABC進(jìn)入名稱為“abc”的庫(kù)節(jié)點(diǎn)數(shù)據(jù)表創(chuàng)建語(yǔ)法CREATETABLE數(shù)據(jù)表名稱(字段1數(shù)據(jù)類型(長(zhǎng)度約束),字段2數(shù)據(jù)類型(長(zhǎng)度約束),…字段n數(shù)據(jù)類型(長(zhǎng)度約束))數(shù)據(jù)表創(chuàng)建|注意事項(xiàng)SQL語(yǔ)句不區(qū)分大小寫每條語(yǔ)句結(jié)尾一般用英文狀態(tài)下的分號(hào)“;”表示語(yǔ)句的結(jié)束創(chuàng)建數(shù)據(jù)表過(guò)程中,數(shù)據(jù)表名稱可以任意,但不能使用SQL語(yǔ)句中的關(guān)鍵字表中每個(gè)字段之間用英文狀態(tài)下的逗號(hào)“,”隔開(kāi)案例應(yīng)用用SQL語(yǔ)句創(chuàng)建一個(gè)顧客(customer)數(shù)據(jù)表數(shù)據(jù)表中的相關(guān)數(shù)據(jù)項(xiàng)如下字段1:顧客標(biāo)識(shí)(id)INT字段2:顧客姓名(name)VARCHAR(45)字段3:顧客年齡(age)SMALLINT字段4:顧客生日(birthday)DATE字段5:顧客身高(height)FLOAT字段6:顧客職業(yè)(work)VARCHAR(45)字段7:顧客薪酬(salry)INT字段8:顧客地址(address)VARCHAR(45)SQL參考實(shí)現(xiàn)CREATETABLEcustomer(idint,namevarchar(45),agesmallint,birthdaydate,heightfloat,workvarchar(45),salaryvarchar(45),addressint);查看庫(kù)節(jié)點(diǎn)數(shù)據(jù)表庫(kù)節(jié)點(diǎn)數(shù)據(jù)表查看語(yǔ)句SHOWTABLES查看數(shù)據(jù)表結(jié)構(gòu)(1)
語(yǔ)法格式DESC數(shù)據(jù)表名稱DESCuser查看“user”表結(jié)構(gòu)DESCorder查看“order”表結(jié)構(gòu)DESCmember查看“member”表結(jié)構(gòu)查看數(shù)據(jù)表結(jié)構(gòu)(2)語(yǔ)法格式DESCRIBE數(shù)據(jù)表名稱DESCRIBEstudent查看“student”表結(jié)構(gòu)DESCRIBEschool查看“school”表結(jié)構(gòu)DESCRIBEcollege查看“college”表結(jié)構(gòu)數(shù)據(jù)表添加字段添加字段語(yǔ)法:ALTERTABLE數(shù)據(jù)表名稱ADDCOLUMN新字段數(shù)據(jù)類型AFTER表中某個(gè)字段ALTERTABLE
user_order
ADD
COLUMN
order_addressVARCHAR(45)AFTER
order_time;數(shù)據(jù)表修改字段修改字段語(yǔ)法:ALTERTABLE數(shù)據(jù)表名稱MODIFY字段名稱新數(shù)據(jù)類型或約束條件ALTER
TABLE
user_order
MODIFYmoneyDECIMAL(6,2);數(shù)據(jù)表刪除字段刪除字段語(yǔ)法:ALTERTABLE數(shù)據(jù)表名稱DROP字段名稱ALTER
TABLE
user_order
DROP
order_address;數(shù)據(jù)表名稱修改修改數(shù)據(jù)表名稱語(yǔ)法:ALTERTABLE原數(shù)據(jù)表名稱RENAMETO新數(shù)據(jù)表名稱ALTER
TABLE
user_order
RENAME
TO
new_user_order;刪除數(shù)據(jù)表結(jié)構(gòu)刪除表結(jié)構(gòu)語(yǔ)法:DROPTABLE數(shù)據(jù)表名稱DROP
TABLE
new_user_order;數(shù)據(jù)表約束數(shù)據(jù)完整性約束實(shí)體完整性主鍵約束參照完整性外鍵約束用戶自定義完整性額外添加的約束項(xiàng)單字段主鍵單字段主鍵語(yǔ)法:字段名稱數(shù)據(jù)類型PRIMARYKEYCREATETABLEbook(idintPRIMARYKEY,namevarchar(45),pricefloat,
isbnvarchar(45));聯(lián)合主鍵聯(lián)合主鍵語(yǔ)法:PRIMARYKEY(字段1,字段2…,字段n)CREATETABLEstudent_course(studentvarchar(45),coursevarchar(45),scoreint,statuschar(1),PRIMARYKEY(student,course));外鍵聲明外鍵聲明語(yǔ)法:CONSTRAINT外鍵名稱FOREIGNKEY(引用字段)REFERENCES被關(guān)聯(lián)數(shù)據(jù)表(被引用字段)主表聲明:CREATETABLEcountry(idintPRIMARYKEY,namevarchar(45),populationfloat);從表外鍵聲明:CREATETABLEmember(idintPRIMARYKEY,namevarchar(45),
country_id
int,
CONSTRAINT
fk_country_member
FOREIGN
KEY(country_id)REFERENCES
country(id));非空約束一種對(duì)數(shù)據(jù)表中字段值不允許置為空的約束非空約束語(yǔ)法:字段名稱數(shù)據(jù)類型NOTNULLCREATETABLEcomputer(idintPRIMARYKEY,
cpuvarchar(45)NOTNULL,pricefloatNOTNULL,productvarchar(45)NOTNULL);唯一性約束要求數(shù)據(jù)表中相關(guān)字段的值不能重復(fù)允許空值存在,但空值最多只能一個(gè)可以為多個(gè)字段添加唯一性約束唯一性約束語(yǔ)法:字段名稱數(shù)據(jù)類型UNIQUECREATETABLEemployee(idintPRIMARYKEY,
work_numvarchar(45)UNIQUE,
card_numvarchar(45)UNIQUE,birthdaydate,departmentvarchar(45));自定義約束使用CHECK()函數(shù)來(lái)實(shí)現(xiàn)在MySQL8.0.16之前不支持CHECK約束CREATETABLEuser_salary(idintprimarykey,uservarchar(50)notnull,salaryintnotnullcheck(salary<10000));主鍵自增也叫字段自增,專為主鍵字段服務(wù)的約束類型主鍵字段能自動(dòng)填充數(shù)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)上冊(cè)人教版歷史知識(shí)點(diǎn)總結(jié)
- 2025健身房教練聘用合同
- 課題申報(bào)參考:領(lǐng)導(dǎo)差錯(cuò)取向?qū)苿?chuàng)企業(yè)雙元綠色創(chuàng)新的跨層次傳導(dǎo)及干預(yù)機(jī)制研究
- 跨文化教育中的創(chuàng)新教學(xué)方法探討
- 2024年壓敏熱熔膠項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 2024年核電站用過(guò)濾氈項(xiàng)目資金需求報(bào)告代可行性研究報(bào)告
- 趣味數(shù)學(xué)在辦公中的應(yīng)用
- 中考生物一輪復(fù)習(xí)抓重點(diǎn)考典型專題19 生物的生殖和發(fā)育(含解析)
- 個(gè)人承包物業(yè)清潔維護(hù)服務(wù)合同2024年度3篇
- 2025年浙科版必修2物理下冊(cè)階段測(cè)試試卷含答案
- 衛(wèi)生服務(wù)個(gè)人基本信息表
- 醫(yī)學(xué)脂質(zhì)的構(gòu)成功能及分析專題課件
- 高技能人才培養(yǎng)的策略創(chuàng)新與實(shí)踐路徑
- 廣東省湛江市廉江市2023-2024學(xué)年八年級(jí)上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 2024年湖北省知名中小學(xué)教聯(lián)體聯(lián)盟中考語(yǔ)文一模試卷
- 安徽省蕪湖市2023-2024學(xué)年高一上學(xué)期期末考試 生物 含解析
- 燃?xì)庑袠I(yè)有限空間作業(yè)安全管理制度
- JB T 7946.1-2017鑄造鋁合金金相
- 包裝過(guò)程質(zhì)量控制
- 通用電子嘉賓禮薄
- 赤峰市海業(yè)礦產(chǎn)有限責(zé)任公司福合元礦區(qū)銅鉬礦2022年度礦山地質(zhì)環(huán)境治理與土地復(fù)墾方案
評(píng)論
0/150
提交評(píng)論