版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SQL中數(shù)據(jù)類型的總結(jié)及應(yīng)用原理解析SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語(yǔ)言)是關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言,用于管理數(shù)據(jù)庫(kù)、執(zhí)行查詢和更新數(shù)據(jù)等操作。在SQL中,數(shù)據(jù)類型是非常重要的組成部分,它用于定義表中列的數(shù)據(jù)類型和范圍,以確保數(shù)據(jù)的完整性和一致性。本文將對(duì)SQL中的數(shù)據(jù)類型進(jìn)行總結(jié),并解析其應(yīng)用原理。1.數(shù)值類型數(shù)值類型用于存儲(chǔ)數(shù)值數(shù)據(jù),包括整數(shù)、浮點(diǎn)數(shù)和定點(diǎn)數(shù)等。在SQL中,數(shù)值類型可以分為以下幾種:1.1整數(shù)類型整數(shù)類型用于存儲(chǔ)沒(méi)有小數(shù)部分的數(shù)值,包括以下幾種:TINYINT:存儲(chǔ)非常小的整數(shù),有符號(hào)范圍為-128至127,無(wú)符號(hào)范圍為0至255。SMALLINT:存儲(chǔ)較小的整數(shù),有符號(hào)范圍為-32768至32767,無(wú)符號(hào)范圍為0至65535。MEDIUMINT:存儲(chǔ)中等大小的整數(shù),有符號(hào)范圍為-8388608至8388607,無(wú)符號(hào)范圍為0至16777215。INT:存儲(chǔ)較大的整數(shù),有符號(hào)范圍為-2147483648至2147483647,無(wú)符號(hào)范圍為0至4294967295。BIGINT:存儲(chǔ)非常大的整數(shù),有符號(hào)范圍為-9223372036854775808至9223372036854775807,無(wú)符號(hào)范圍為0至18446744073709551615。1.2浮點(diǎn)數(shù)類型浮點(diǎn)數(shù)類型用于存儲(chǔ)帶有小數(shù)部分的數(shù)值,包括以下幾種:FLOAT:?jiǎn)尉雀↑c(diǎn)數(shù),存儲(chǔ)范圍為大約-3.4E38至3.4E38,精確度為7位小數(shù)。DOUBLE:雙精度浮點(diǎn)數(shù),存儲(chǔ)范圍為大約-1.8E308至1.8E308,精確度為15位小數(shù)。DECIMAL:固定精度浮點(diǎn)數(shù),可以指定精度和小數(shù)位數(shù),例如DECIMAL(10,2)表示精度為10,小數(shù)位數(shù)為2。1.3定點(diǎn)數(shù)類型定點(diǎn)數(shù)類型用于存儲(chǔ)具有固定精度的數(shù)值,包括以下幾種:BIT:位字段類型,可以存儲(chǔ)一個(gè)或多個(gè)位字段,例如BIT(1)表示存儲(chǔ)一個(gè)位字段。REAL:實(shí)數(shù)類型,用于存儲(chǔ)科學(xué)計(jì)算中的浮點(diǎn)數(shù),存儲(chǔ)范圍為大約-3.4E38至3.4E38,精確度為7位小數(shù)。2.字符串類型字符串類型用于存儲(chǔ)文本數(shù)據(jù),包括字符和字符串。在SQL中,字符串類型可以分為以下幾種:2.1定長(zhǎng)字符串類型定長(zhǎng)字符串類型用于存儲(chǔ)固定長(zhǎng)度的字符串,包括以下幾種:CHAR:固定長(zhǎng)度的字符串,例如CHAR(10)表示存儲(chǔ)長(zhǎng)度為10的字符串。VARCHAR:可變長(zhǎng)度的字符串,例如VARCHAR(10)表示存儲(chǔ)長(zhǎng)度為10的字符串,實(shí)際存儲(chǔ)長(zhǎng)度可以根據(jù)實(shí)際數(shù)據(jù)自動(dòng)調(diào)整。2.2變長(zhǎng)字符串類型變長(zhǎng)字符串類型用于存儲(chǔ)可變長(zhǎng)度的字符串,包括以下幾種:TINYTEXT:存儲(chǔ)非常小的文本數(shù)據(jù),最大存儲(chǔ)量為255個(gè)字符。TEXT:存儲(chǔ)較大的文本數(shù)據(jù),最大存儲(chǔ)量為65535個(gè)字符。MEDIUMTEXT:存儲(chǔ)中等大小的文本數(shù)據(jù),最大存儲(chǔ)量為16777215個(gè)字符。LONGTEXT:存儲(chǔ)非常大的文本數(shù)據(jù),最大存儲(chǔ)量為4294967295個(gè)字符。3.日期和時(shí)間類型日期和時(shí)間類型用于存儲(chǔ)日期、時(shí)間和時(shí)間戳數(shù)據(jù)。在##例題1:創(chuàng)建一個(gè)學(xué)生表,包含學(xué)號(hào)、姓名、性別、年齡、入學(xué)日期和成績(jī)。解題方法:使用CREATETABLE語(yǔ)句創(chuàng)建學(xué)生表,定義相應(yīng)的列和數(shù)據(jù)類型。```sqlCREATETABLEStudent(StudentIDINTPRIMARYKEY,
NameVARCHAR(50)NOTNULL,
GenderCHAR(1)CHECK(GenderIN('M','F')),
AgeINTCHECK(Age>=18ANDAge<=30),
EnrollmentDateDATE,
ScoreDECIMAL(10,2)CHECK(Score>=0ANDScore<=100)例題2:查詢所有年齡大于20歲的男性學(xué)生。解題方法:使用SELECT語(yǔ)句結(jié)合WHERE子句篩選符合條件的記錄。```sqlSELECT*FROMStudentWHEREAge>20ANDGender=‘M’;例題3:計(jì)算所有學(xué)生的平均年齡。解題方法:使用SELECT語(yǔ)句結(jié)合AVG()函數(shù)計(jì)算平均年齡。```sqlSELECTAVG(Age)FROMStudent;例題4:更新學(xué)生的成績(jī),將成績(jī)提高10%。解題方法:使用UPDATE語(yǔ)句結(jié)合SET子句更新成績(jī)。```sqlUPDATEStudentSETScore=Score*1.1;例題5:刪除所有入學(xué)日期早于2020年1月的學(xué)生。解題方法:使用DELETE語(yǔ)句結(jié)合WHERE子句刪除符合條件的記錄。```sqlDELETEFROMStudentWHEREEnrollmentDate<‘2020-01-01’;例題6:創(chuàng)建一個(gè)教師表,包含教師編號(hào)、姓名、性別、出生日期和聯(lián)系電話。解題方法:使用CREATETABLE語(yǔ)句創(chuàng)建教師表,定義相應(yīng)的列和數(shù)據(jù)類型。```sqlCREATETABLETeacher(TeacherIDINTPRIMARYKEY,
NameVARCHAR(50)NOTNULL,
GenderCHAR(1)CHECK(GenderIN('M','F')),
BirthDateDATE,
PhoneNumberVARCHAR(15)UNIQUE例題7:查詢所有女教師。解題方法:使用SELECT語(yǔ)句結(jié)合WHERE子句篩選女教師。```sqlSELECT*FROMTeacherWHEREGender=‘F’;例題8:計(jì)算所有教師的平均出生日期。解題方法:使用SELECT語(yǔ)句結(jié)合AVG()函數(shù)計(jì)算平均出生日期。```sqlSELECTAVG(BirthDate)FROMTeacher;例題9:更新教師的聯(lián)系電話,將聯(lián)系電話格式化為統(tǒng)一格式。解題方法:使用UPDATE語(yǔ)句結(jié)合SET子句更新聯(lián)系電話。```sqlUPDATETeacherSETPhoneNumber=CONCAT(’+86-’,SUBSTRING(PhoneNumber,2));例題10:刪除所有聯(lián)系電話為空值的教師。解題方法:使用DELETE語(yǔ)句結(jié)合WHERE子句刪除聯(lián)系電話為空值的教師。```sqlDELETEFROMTeacherWHEREPhoneNumberISNULL;例題11:創(chuàng)建一個(gè)課程表,包含課程編號(hào)、課程名稱、學(xué)分和授課教師編號(hào)。解題方法:使用CREATETABLE語(yǔ)句創(chuàng)建課程由于SQL習(xí)題和練習(xí)題庫(kù)非常龐大,而且歷年的經(jīng)典習(xí)題和練習(xí)題也有所不同,這里我將提供一些通用的、經(jīng)典的SQL習(xí)題和練習(xí)題,以及它們的正確解答。例題1:創(chuàng)建一個(gè)學(xué)生表```sqlCREATETABLEStudents(StudentIDINTPRIMARYKEY,
NameVARCHAR(50)NOTNULL,
GenderCHAR(1)CHECK(GenderIN('M','F')),
AgeINTCHECK(Age>=18ANDAge<=30),
EnrollmentDateDATE,
ScoreDECIMAL(10,2)CHECK(Score>=0ANDScore<=100)例題2:查詢所有年齡大于20歲的男性學(xué)生```sqlSELECT*FROMStudentsWHEREAge>20ANDGender=‘M’;例題3:計(jì)算所有學(xué)生的平均年齡```sqlSELECTAVG(Age)FROMStudents;例題4:更新學(xué)生的成績(jī),將成績(jī)提高10%```sqlUPDATEStudentsSETScore=Score*1.1;例題5:刪除所有入學(xué)日期早于2020年1月的學(xué)生```sqlDELETEFROMStudentsWHEREEnrollmentDate<‘2020-01-01’;例題6:創(chuàng)建一個(gè)教師表```sqlCREATETABLETeachers(TeacherIDINTPRIMARYKEY,
NameVARCHAR(50)NOTNULL,
GenderCHAR(1)CHECK(GenderIN('M','F')),
BirthDateDATE,
PhoneNumberVARCHAR(15)UNIQUE例題7:查詢所有女教師```sqlSELECT*FROMTeachersWHEREGender=‘F’;例題8:計(jì)算所有教師的平均出生日期```sqlSELECTAVG(BirthDate)FROMTeachers;例題9:更新教師的聯(lián)系電話,將聯(lián)系電話格式化為統(tǒng)一格式```sqlUPDATETeachersSETPhoneNumber=CONCAT(’+86-’,SUBSTRING(PhoneNumber,2));例題10:刪除所有聯(lián)系電話為空值的教師```sqlDELETEFROMTeachersWHEREPhoneNumberISNULL;例題11:創(chuàng)建一個(gè)課程表```sqlCREATETABLECourses(CourseIDINTPRIMARYKEY,
CourseNameVARCHAR(50)NOTNULL,
CreditsINT,
TeacherIDINT,
FOREIGNKEY(TeacherID)REFERENCESTeachers(TeacherID)例題12:查詢所有學(xué)生及其所學(xué)課程```sqlSELECTStudents.StudentID,Students.Name,Courses.CourseNameFROMStudentsJOINCoursesONStudents.StudentID=Courses.StudentID;例題13:查詢所有選修了“數(shù)據(jù)庫(kù)原理”課程的學(xué)生```sqlSELECTStudents.StudentID,Students.NameFROMStudentsJOINCoursesONStudents.StudentID=Courses.StudentIDWHERECourses.CourseName=‘?dāng)?shù)據(jù)庫(kù)原理’;例題14:查詢所有年齡大于20歲的男性學(xué)生的姓名和年齡```sqlSELECTName,AgeFROMStudentsWHEREAge>20ANDGender=‘M’;例題15:查詢所有選修了超過(guò)2門課程的學(xué)生的姓名和選修課程數(shù)量```sqlSELECTStudents.Name,COUNT(Cou
溫馨提示
- 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áng)市三十六中2025屆高三下學(xué)期期終復(fù)習(xí)語(yǔ)文試題含解析
- 河北省秦皇島市盧龍中學(xué)2025屆新高考選考適應(yīng)性考試語(yǔ)文試題含解析
- 八大危險(xiǎn)作業(yè)安全管理制度
- 預(yù)處理作業(yè)風(fēng)險(xiǎn)和隱患辨識(shí)、評(píng)估分級(jí)與控制措施一覽表
- 貴州省黔西南州興仁市鳳凰中學(xué)2025屆高三下學(xué)期階段性測(cè)試(三)(5月)語(yǔ)文試題含解析
- 局域網(wǎng)組網(wǎng)技術(shù)項(xiàng)目式教程(微課版)項(xiàng)目1 步入網(wǎng)絡(luò)世界-初識(shí)計(jì)算機(jī)網(wǎng)絡(luò)
- 廣東省東莞市第四高級(jí)中學(xué)2025屆高三第二學(xué)期第一次調(diào)研測(cè)試語(yǔ)文試題含解析
- 甘肅省白銀市育正學(xué)校2025年高三5月高考模擬試題語(yǔ)文試題試卷含解析
- 精細(xì)陶瓷(先進(jìn)陶瓷、先進(jìn)技術(shù)陶瓷) 在干燥和潮濕條件下評(píng)價(jià)精細(xì)陶瓷薄膜磨損和摩擦特性的方法 編制說(shuō)明
- 山東省齊河縣劉橋鄉(xiāng)中學(xué)2024-2025學(xué)年上學(xué)期八年級(jí)物理第一次月考試題(無(wú)答案)
- 歐盟藥品GMP(中文)
- 英語(yǔ)專業(yè)考研
- 繪本《我家是動(dòng)物園》
- 部編版五年級(jí)上冊(cè)第七單元21 古詩(shī)詞三首長(zhǎng)相思 一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)與點(diǎn)評(píng)
- 中小學(xué)教研組教研活動(dòng)現(xiàn)狀分析與對(duì)策研究
- 2022-2023學(xué)年道德與法治小學(xué)四年級(jí)下冊(cè)全冊(cè)單元復(fù)習(xí)課教案(共4個(gè)單元)
- 小學(xué)六年級(jí)春季學(xué)期《美術(shù)》(人美版)學(xué)習(xí)任務(wù)單(全冊(cè)匯總)
- 嬰幼兒教育 國(guó)外關(guān)于托育服務(wù)的政策
- 某公司20萬(wàn)噸年燒堿及20萬(wàn)噸年聚氯乙烯工程初步設(shè)計(jì)
- 子兒吐吐【經(jīng)典繪本】
- 小學(xué)語(yǔ)文口語(yǔ)交際教學(xué)講座PPT
評(píng)論
0/150
提交評(píng)論