版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第3章 SQL語言基礎(chǔ)及數(shù)據(jù)定義功能,3.1 SQL語言概述 3.2 SQL語言支持的數(shù)據(jù)類型 3.3 數(shù)據(jù)定義功能 3.4 索引,概述,SQL(Structured Query Language)是用戶操作關(guān)系數(shù)據(jù)庫的通用語言。 它包含數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)操作和數(shù)據(jù)控制等與數(shù)據(jù)庫有關(guān)的全部功能。 SQL已經(jīng)成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,現(xiàn)在所有的關(guān)系數(shù)據(jù)庫管理系統(tǒng)都支持SQL。,3.1 SQL語言概述,3.1.1 SQL語言的發(fā)展 3.1.2 SQL語言的特點 3.1.3 SQL語言功能概述,3.1.1 SQL語言的發(fā)展,1986年10月由美國ANSI 公布最早的SQL標(biāo)準(zhǔn)。 1989年4月
2、,ISO提出了具備完整性特征的SQL,稱為SQL-89(SQL1)。 1992年11月,ISO又公布了新的SQL標(biāo)準(zhǔn),稱為SQL-92(以上均為關(guān)系形式) (SQL2) 。 1999年頒布SQL-99(SQL3) ,是SQL92的擴展。,3.1.2 SQL語言的特點,1. 一體化 2. 高度非過程化 3. 簡潔 4. 使用方式多樣,3.1.3 SQL語言功能概述,四部分:數(shù)據(jù)定義功能、數(shù)據(jù)控制功能、數(shù)據(jù)查詢功能和數(shù)據(jù)操縱功能。,SQL語言支持的數(shù)據(jù)類型(回顧),數(shù)值型 字符串型 日期時間型 貨幣型,數(shù)值型,準(zhǔn)確型 整數(shù) Bigint: 8字節(jié), Int:4字節(jié) Smallint:2字節(jié), Ti
3、nyint:1字節(jié) Bit:1位,存儲1或0 小數(shù) Numeric(p,q)或Decimal(p,q), 其中:p為數(shù)字位長度,q:小數(shù)位長度。 近似型 Float:8字節(jié) Real:4字節(jié),字符串型,普通編碼字符串類型 統(tǒng)一字符編碼字符串類型 二進(jìn)制字符串類型,普通編碼字符串類型,Char(n):定長存儲,n=8000 Varchar(n):不定長存儲(按實際長度存儲),長度最大不超過n , n=8000 注:n 為字符個數(shù) Text:存儲大于8000字節(jié)的文本,統(tǒng)一字符編碼字符串類型,nchar(n):定長存儲,n=4000 nvarchar(n):不定長存儲,長度最大不超過n , n=4
4、000 ntext:存儲大于8000字節(jié)的文本 特點:每個字符占兩個字節(jié),二進(jìn)制字符串類型,Binary(n):固定長度,n = 8000。 Varbinary(n):可變長度,n 8000 。 注:n為二進(jìn)制數(shù)據(jù)的字節(jié)數(shù) image:大容量、可變長二進(jìn)制字符數(shù)據(jù),可用于存儲文件。,日期時間型,Datetime:8字節(jié),年月日時分秒毫秒 (例:2008/02/03 10:30:00.000 ) SmallDateTime:4字節(jié),年月日時分 (例:2008/02/03 10:30:00 ),貨幣類型,Money:8個字節(jié),精確到貨幣單位的千分之十。 Smallmoney:4個字節(jié),精確到貨幣單
5、位的千分之十。 限制到小數(shù)點后 4 位。 可以帶有適當(dāng)?shù)呢泿欧枴@纾?00 英鎊可表示為 100。,3.3 數(shù)據(jù)定義功能,3.3.1 基本表 3.3.2 數(shù)據(jù)完整性約束,3.3.1 基本表,定義基本表 修改基本表 刪除基本表,定義基本表,使用CREATE TABLE語句實現(xiàn), 語法格式: CREATE TABLE ( 列級完整性約束定義 , 列級完整性約束定義 , 表級完整性約束定義 ),在列級完整性約束定義處可以定義的約束,NOT NULL:限制列取值非空。 DEFAULT:給定列的默認(rèn)值。 UNIQUE:限制列取值不重。 CHECK:限制列的取值范圍。 PRIMARY KEY:指定本列
6、為主鍵。 FOREIGN KEY:定義本列為引用其他表的外鍵。使用形式為: FOREIGN KEY() REFERENCES (),幾點說明,NOT NULL和DEFAULT只能是列級完整性約束; 其他約束均可在表級完整性約束處定義。 注意以下幾點: 如果CHECK約束是定義多列之間的取值約束,則只能在表級完整性約束處定義; 如果表的主鍵由多個列組成,則也只能在表級完整性約束處定義,并將主鍵列用括號括起來,即:PRIMARY KEY(列1,列2 ); 如果在表級完整性約束處定義外鍵,則“FOREIGN KEY ()”部分不能省。,約束定義, 列取值非空約束 NOT NULL 例: sname
7、char(10) NOT NULL,約束定義(續(xù)), 表主鍵約束 在定義列時定義主鍵(僅用于單列主鍵) 列定義 PRIMARY KEY 例: SNO char(7) PRIMARY KEY 在定義完列時定義主鍵(用于單列或多列主鍵) PRIMARY KEY () 例: PRIMARY KEY(SNO) PRIMARY KEY(SNO,CNO),約束定義(續(xù)),外鍵引用約束,指明本表外鍵列引用的表及表中的主鍵列。, FOREIGN KEY () REFERENCES (),例: FOREIGN KEY (sno) REFERENCES 學(xué)生表(sno),Student表結(jié)構(gòu),定義Student表
8、,CREATE TABLE Student ( Sno CHAR(7) PRIMARY KEY, Sname NCHAR(5) NOT NULL, Ssex NCHAR(1), Sage TINYINT, Sdept NVARCHAR(20) ),Course表結(jié)構(gòu),定義Course表,CREATE TABLE Course ( Cno CHAR(6) PRIMARY KEY, Cname NVARCHAR(20) NOT NULL, Ccredit TINYINT, Semester TINYINT ),SC表結(jié)構(gòu),定義SC表,CREATE TABLE SC ( Sno CHAR(7) NO
9、T NULL, Cno CHAR(6) NOT NULL, Grade TINYINT, PRIMARY KEY ( Sno, Cno ), FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ), FOREIGN KEY ( Cno ) REFERENCES Course ( Cno ) ),課內(nèi)練習(xí):P161/3,注意:使用SQL語句創(chuàng)建教師表、課程表、授課表(創(chuàng)建過程中僅完成主鍵約束、外鍵約束、非空約束),練習(xí) 使用SQL語言實現(xiàn) “顧客用餐”設(shè)計,顧 客:,預(yù)訂單:,練習(xí) 使用SQL語言實現(xiàn) “顧客用餐”設(shè)計,臺位:,菜品:,練習(xí) 使用SQL語言實
10、現(xiàn) “顧客用餐”設(shè)計,廚房:,生產(chǎn):,練習(xí) 使用SQL語言實現(xiàn) “顧客用餐”設(shè)計,消費:,修改基本表結(jié),在定義基本表之后,如果需求有變化,比如添加列、刪除列或修改列定義,可以使用ALTER TABLE語句實現(xiàn)。 ALTER TABLE語句可以對表添加列、刪除列、修改列的定義,也可以添加和刪除約束。,ALTER TABLE語句語法,ALTER TABLE ALTER COLUMN | ADD 約束 | DROP COLUMN | ADD constraint 約束名 約束定義 | DROP constraint ,示例,例1為SC表添加“修課類別”列,此列的列名為Type,數(shù)據(jù)類型為NCHAR(2),允許空。 ALTER TABLE SC ADD Type NCHAR(2) NULL,示例,例2將新添加的Type列的數(shù)據(jù)類型改為NCHAR(4)。 ALTER TABLE SC ALTER COLUMN Type NCHAR(4),示例,例3.刪除SC表的Type列。 ALTER TABLE
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年樂都區(qū)面向社會公開招聘社區(qū)工作人員(公共基礎(chǔ)知識)測試題附答案
- 2025年黑河市第二人民醫(yī)院長期招聘臨床醫(yī)生及影像科技師5人考試題庫附答案
- 2025年甘肅省平?jīng)鍪谐缧趴h人民法院招聘備考題庫附答案
- 四川中煙工業(yè)有限責(zé)任公司2026年度高層次人才招聘筆試模擬試題及答案解析
- 2026廣西河池市東蘭縣公安局公開招聘警務(wù)輔助人員20人筆試備考題庫及答案解析
- 2026重慶忠縣發(fā)展研究中心公開招聘駕駛員1人筆試備考試題及答案解析
- 2026四川雅安市石棉縣佳業(yè)勞務(wù)派遣有限公司應(yīng)急管理局招聘綜合應(yīng)急救援大隊工作人員擬聘用公示筆試模擬試題及答案解析
- 2026年南寧市明秀東路小學(xué)教育集團(tuán)春季學(xué)期編外教師招聘若干人筆試參考題庫及答案解析
- 2026河南省科學(xué)院物理研究所鈣鈦礦硅疊層電池項目工程師招聘2人筆試模擬試題及答案解析
- 2026年河北唐山中心醫(yī)院眼科急聘2人筆試模擬試題及答案解析
- 福建省能源石化集團(tuán)有限責(zé)任公司2025年秋季招聘備考題庫及一套完整答案詳解
- 2025年新聞記者資格證及新聞寫作相關(guān)知識題庫附答案
- DB32∕T 5188-2025 經(jīng)成人中心靜脈通路裝置采血技術(shù)規(guī)范
- 深圳市2024-2025學(xué)年九年級上學(xué)期期末考試化學(xué)試卷(含答案)
- 白車身輕量化設(shè)計技術(shù)
- 華師 八年級 數(shù)學(xué) 下冊《17.2 平行四邊形的判定 》課件
- 主板維修課件
- 2026中央紀(jì)委國家監(jiān)委機關(guān)直屬單位招聘24人考試筆試模擬試題及答案解析
- 2026年內(nèi)蒙古化工職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試必刷測試卷附答案解析
- GB 46750-2025民用無人駕駛航空器系統(tǒng)運行識別規(guī)范
- 湖南省長沙市雅禮教育集團(tuán)2024-2025學(xué)年七年級(下)期末數(shù)學(xué)試卷
評論
0/150
提交評論