版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
MySQL項目三數(shù)據(jù)定義2019年7月學(xué)習(xí)數(shù)據(jù)表的約束學(xué)習(xí)目標(biāo)MySQL了解什么是SQL語言掌握數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建方法具有使用Navicat工具完成數(shù)據(jù)定義的能力重點、難點MySQL
SQL語言概述一一、SQL語言概述MySQL1.什么是SQL結(jié)構(gòu)化查詢語言SQL(StructuredQueryLanguage)是最重要的關(guān)系數(shù)據(jù)庫操作語言,經(jīng)過多年的發(fā)展,SQL語言已成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。一、SQL語言概述MySQL2.SQL的組成數(shù)據(jù)操縱語言(DML)數(shù)據(jù)查詢語言DQL用來插入、修改和刪除數(shù)據(jù)庫中的數(shù)據(jù)用來對數(shù)據(jù)庫中的數(shù)據(jù)進行查詢使用SELECT命令完成查詢用來建立數(shù)據(jù)庫、建立表等,主要包括CREATEDATABASE、CREATETABLE等用來控制數(shù)據(jù)庫組件的存取許可、存取權(quán)限等,主要包括GRANT、REVODE命令數(shù)據(jù)控制語言DCl數(shù)據(jù)定義語言DDLMySQL創(chuàng)建數(shù)據(jù)庫二二、創(chuàng)建數(shù)據(jù)庫MySQL1.創(chuàng)建數(shù)據(jù)庫語句:createdatabasemystudent;圖1創(chuàng)建數(shù)據(jù)庫mystudent注意:在MySQL中,所有命令均以分號結(jié)束“;”,只有極少數(shù)命令可以省略不寫分號。二、創(chuàng)建數(shù)據(jù)庫MySQL2.查看數(shù)據(jù)庫語句:showdatabase;圖2
查看數(shù)據(jù)庫信息注意:在MySQL中,數(shù)據(jù)庫的命名不區(qū)分大小寫。二、創(chuàng)建數(shù)據(jù)庫MySQL3.選擇數(shù)據(jù)庫語句:usemystudent;圖3
選擇數(shù)據(jù)庫二、創(chuàng)建數(shù)據(jù)庫MySQL4.修改數(shù)據(jù)庫編碼方式語法格式:alterdatabase數(shù)據(jù)庫名defaultcharacterset編碼方式collate編碼方式_bin;圖4
修改編碼格式語句:alterdatabasemystudentdefaultcharactersetutf8collateutf8_bin;二、創(chuàng)建數(shù)據(jù)庫MySQL5.刪除數(shù)據(jù)庫語法格式:dropdatabase數(shù)據(jù)庫名;圖5
刪除數(shù)據(jù)庫語句:dropdatabasetestdb;MySQL創(chuàng)建數(shù)據(jù)表三三、創(chuàng)建數(shù)據(jù)表MySQL1.數(shù)據(jù)類型數(shù)值型:數(shù)值型是指可以參與算術(shù)運算的類型,它可以分為整型和浮點型,其中浮點型又包括單精度浮點型和雙精度浮點型數(shù)據(jù)類型字節(jié)數(shù)范圍用途TINYINT1有符號值:-128~127用于表示小整數(shù)值,如年齡。INT4有符號值:-231~231-1用于表示大整數(shù)值,如學(xué)生人數(shù)。FLOAT4有符號值:-3.402823466E+38~1.175494351E-38用于表示單精度浮點數(shù)值,浮點數(shù)即小數(shù)。如成績。DOUBLE8有符號值:-1.7976931348623157E+308~2.2250738585072014E-308表示雙精度浮點數(shù)值。與單精度浮點數(shù)的主要區(qū)別是雙精度型表示范圍更大。如科學(xué)計算。表1常用數(shù)值類型三、創(chuàng)建數(shù)據(jù)表MySQL1.數(shù)據(jù)類型字符串型:字符串類型用于保存一系列的字符,這些字符在使用時采用單引號或雙引號括起來表2常用字符串類型數(shù)據(jù)類型大小使用說明CHAR0~255字符表示固定長度字符串VARCHAR0~65536字符表示可變長度字符串,該類型使用較為普遍TINYTEXT0~255字節(jié)表示短文本字符串TEXT0~65535字節(jié)表示長文本數(shù)據(jù)。如日志、備注等BLOB0-65535字節(jié)二進制形式的長文本數(shù)據(jù),用于存儲圖片信息。三、創(chuàng)建數(shù)據(jù)表MySQL1.數(shù)據(jù)類型日期時間型:用于保存日期或時間的數(shù)據(jù)類型,通常可以分為日期類型、時間類型和日期時間型表3常用日期時間類型數(shù)據(jù)類型字節(jié)數(shù)格式Y(jié)EAR1年份值,YYYY,如2019DATE4日期值,YYYY-MM-DD,如2019-06-01TIME3時間值,HH:MM:SS,如12:30:22DATETIME8混合日期和時間值,YYYY-MM-DDHH:MM:SS,如2019-06-0112:30:22TIMESTAMP4混合日期和時間值,時間戳,1970-01-0100:00:00/2038(該類型的取值必須在1970年~2038年之間)三、創(chuàng)建數(shù)據(jù)表MySQL2.SQL中的運算符算術(shù)運算符:包括:+(加)、-(減)、*(乘)、/(除)、%(取模)表4算術(shù)運算符運算符用法說明+加法運算,求兩個變量或表達式的和-減法運算,求兩個變量或表達式的差*乘法運算,求兩個變量或表達式的積/除法運算,求兩個變量或表達式的商%取模運算,求兩個變量或表達式相除的余數(shù),如5%2的值為1三、創(chuàng)建數(shù)據(jù)表MySQL2.SQL中的運算符比較運算符:用來比較兩個變量或表達式的大小關(guān)系表5比較運算符運算符用法說明>大于,如3>2,值為true<小于,如3<2,值為false=等于,如3=2,值為false>=大于等于,如3>=2,值為true<=小于等于,如3<=2,值為false<>不等于,如3<>2,值為true三、創(chuàng)建數(shù)據(jù)表MySQL2.SQL中的運算符邏輯運算符:用來對某個條件進行判斷,以獲得一個真或假的值表6邏輯運算符運算符用法說明NOT或!非運算或取反運算,如:?。ǔ煽?lt;60),表示所有成績及格的學(xué)生AND或&&與運算,如:成績>=80&&成績<=100,表示所有成績80至100分的學(xué)生OR或||或運算,如:成績>=80||成績<60,表示成績大于等于80或不及格的學(xué)生三、創(chuàng)建數(shù)據(jù)表MySQL3.建立數(shù)據(jù)表數(shù)據(jù)表名指需要創(chuàng)建的數(shù)據(jù)表的名字。字段名指數(shù)據(jù)表中的列名。數(shù)據(jù)類型指表中列的類型,用于指定可以存儲指定類型格式的數(shù)據(jù)。createtable數(shù)據(jù)表名(字段1數(shù)據(jù)類型,字段2數(shù)據(jù)類型,……字段n數(shù)據(jù)類型);語法格式:參數(shù)說明:三、創(chuàng)建數(shù)據(jù)表MySQL3.建立數(shù)據(jù)表createtablestudent(stuNochar(10),namevarchar(50),sexchar(2),birthdaydate,specvarchar(30),phonevarchar(11),addressvarchar(255));示例語句:三、創(chuàng)建數(shù)據(jù)表MySQL4.查看數(shù)據(jù)表查看所有表語句:showtables;圖6
查看數(shù)據(jù)表三、創(chuàng)建數(shù)據(jù)表MySQL4.查看數(shù)據(jù)表查看指定表的結(jié)構(gòu)語法格式:describe表名;(也可簡寫為desc表名;)圖7
查看指定表的結(jié)構(gòu)語句:descstudent;三、創(chuàng)建數(shù)據(jù)表MySQL4.查看數(shù)據(jù)表查看指定表的定義信息語法格式:showcreatetable數(shù)據(jù)表名;圖8
查看指定表的定義信息語句:showcreatetablestudent\G三、創(chuàng)建數(shù)據(jù)表MySQL5.修改數(shù)據(jù)表altertable舊表名rename新表名;修改表名語法格式:修改表名示例語句:altertablestudentrenametb_student;三、創(chuàng)建數(shù)據(jù)表MySQL5.修改數(shù)據(jù)表altertable表名change舊字段名新字段名新數(shù)據(jù)類型;修改字段名語法格式:修改字段名示例語句:altertabletb_studentchangenamestuNamevarchar(50);三、創(chuàng)建數(shù)據(jù)表MySQL5.修改數(shù)據(jù)表altertable表名modify字段名新數(shù)據(jù)類型;修改字段類型語法格式:修改字段類型示例語句:altertabletb_studentmodifystuNovarchar(10);三、創(chuàng)建數(shù)據(jù)表MySQL5.修改數(shù)據(jù)表altertable表名add新字段名數(shù)據(jù)類型[FIRST|AFTER已經(jīng)存在的字段名];添加字段語法格式:添加字段示例語句:altertabletb_studentaddpoliticsvarchar(20);三、創(chuàng)建數(shù)據(jù)表MySQL5.修改數(shù)據(jù)表altertable表名drop字段名;刪除字段語法格式:刪除字段示例語句:altertabletb_studentdroppolitics;三、創(chuàng)建數(shù)據(jù)表MySQL5.刪除數(shù)據(jù)表droptable表名;刪除數(shù)據(jù)表語法格式:刪除數(shù)據(jù)表示例語句:droptabletb_student;MySQL數(shù)據(jù)表的約束四四、數(shù)據(jù)表的約束MySQL表7MySQL中數(shù)據(jù)庫表的常用約束約束名稱含義及功能主鍵約束PRIMARYKEY主鍵,又稱為主碼,一個表中只允許有一個主鍵,能夠唯一地標(biāo)識表中的一條記錄。主鍵約束要求主鍵字段中的數(shù)據(jù)唯一,不允許為空。外鍵約束FOREIGNKEY外鍵約束是在兩個表之間建立關(guān)聯(lián)。關(guān)聯(lián)指的是在關(guān)系數(shù)據(jù)庫中,相關(guān)表之間的聯(lián)系。一個表可以有一個或多個外鍵,外鍵字段中的值允許為空,若不為空值,則每一個外鍵值必須等于另外一個表中主鍵的某個值。非空約束NOTNULL非空約束指字段的值不能為空。在同一個數(shù)據(jù)庫表中可以定義多個非空字段。唯一約束UNIQUE唯一約束要求該列值唯一,不能重復(fù)。默認約束DEFAULT在用戶插入新的數(shù)據(jù)行時,如果沒有為該列指定數(shù)據(jù),那么系統(tǒng)會自動將默認值賦給該列,默認值可以是空值(NULL)或者自行指定。四、數(shù)據(jù)表的約束MySQL1.主鍵約束字段名數(shù)據(jù)類型primarykey;主鍵約束語法格式:刪除主鍵語法格式:altertable表名dropprimarykey;四、數(shù)據(jù)表的約束MySQL1.主鍵約束altertable表名modify字段名數(shù)據(jù)類型primarykey;為已經(jīng)存在的表添加主鍵語法格式:四、數(shù)據(jù)表的約束MySQL1.主鍵約束primarykey(字段名1,字段名2,……,字段名n);創(chuàng)建表時指定復(fù)合主鍵語法格式:創(chuàng)建表時指定復(fù)合主鍵示例語句:createtablescore(stuNochar(10),couNochar(10),resultint,primarykey(stuNo,couNo));四、數(shù)據(jù)表的約束MySQL1.主鍵約束altertable表名dropprimarykey;刪除復(fù)合主鍵語法格式:刪除復(fù)合主鍵示例語句:altertablescoredropprimarykey;四、數(shù)據(jù)表的約束MySQL1.主鍵約束altertable表名addprimarykey(字段名1,字段名2……,字段名n);為已經(jīng)存在的表添加復(fù)合主鍵語法格式:為已經(jīng)存在的表添加復(fù)合主鍵示例語句:altertablescoreaddprimarykey(stuNo,couNo);四、數(shù)據(jù)表的約束MySQL2.外鍵約束Constraint外鍵名foreignkey(外鍵字段)references關(guān)聯(lián)表名(關(guān)聯(lián)字段);創(chuàng)建表時添加外鍵約束語法格式:創(chuàng)建表時添加外鍵約束示例語句:droptablescore;createtablescore(stuNochar(10),couNochar(10),resultint,primarykey(stuNo,couNo),constraintfk_student_score1foreignkey(stuNo)referencesstudent(stuNo));四、數(shù)據(jù)表的約束MySQL2.外鍵約束altertable表名dropforeignkey外鍵名;刪除外鍵約束語法格式:刪除外鍵約束示例語句:altertablescoredropforeignkeyfk_student_score1;四、數(shù)據(jù)表的約束MySQL2.外鍵約束altertable表名addconstraint外鍵名foreignkey(外鍵字段)references關(guān)聯(lián)表名(關(guān)聯(lián)字段);為已存在的表添加外鍵約束語法格式:為已存在的表添加外鍵約束示例語句:altertablescoreaddconstraintfk_student_score1foreignkey(stuNo)referencesstudent(stuNo);四、數(shù)據(jù)表的約束MySQL3.非空約束字段名數(shù)據(jù)類型notnull;創(chuàng)建表時添加非空約束語法格式:創(chuàng)建表時添加非空約束示例語句:droptablestudent;createtablestudent(stuNochar(10)primarykey,namevarchar(50),sexchar(2)notnull,birthdaydate,specvarchar(30),phonevarchar(11),addressvarchar(255));四、數(shù)據(jù)表的約束MySQL3.非空約束altertable表名modify字段名數(shù)據(jù)類型;刪除非空約束語法格式:刪除非空約束示例語句:altertablestudentmodifysexchar(2);四、數(shù)據(jù)表的約束MySQL3.非空約束altertable表名modify字段名數(shù)據(jù)類型notnull;為已經(jīng)存在的表添加非空約束語法格式:為已經(jīng)存在的表添加非空約束示例語句:altertablestudentmodifysexchar(2)notnull;四、數(shù)據(jù)表的約束MySQL4.唯一約束字段名數(shù)據(jù)類型unique;創(chuàng)建表時添加唯一約束語法格式:創(chuàng)建表時添加唯一約束示例語句:createtablecourse(couNochar(10)primarykey,couNamevarchar(50)unique,teachervarchar(50));四、數(shù)據(jù)表的約束MySQL4.唯一約束altertable表名dropindex字段名;刪除唯一約束語法格式:刪除唯一約束示例語句:altertablecoursedropindexcouName;四、數(shù)據(jù)表的約束MySQL4.唯一約束altertable表名modify字段名數(shù)據(jù)類型unique;為已經(jīng)存在的表添加唯一約束語法格式:為已經(jīng)存在的表添加唯一約束示例語句:altertablecoursemodifycouNamevarchar(50)unique;四、數(shù)據(jù)表的約束MySQL5.默認約束字段名數(shù)據(jù)類型default默認值;創(chuàng)建表時添加默認約束語法格式:創(chuàng)建表時添加默認約束示例語句:droptablestudent;createtablestudent(stuNochar(10)primarykey,namevarchar(50),sexchar(2)notnull,birthdaydate,specvarchar(30),phonevarchar(11),addressvarchar(255)default'地址不詳');四、數(shù)據(jù)表的約束MySQL5.默認約束altertable表名modify字段名數(shù)據(jù)類型;刪除默認約束語法格式:刪除默認約束示例語句:altertablestudentmodifyaddressvarchar(255);四、數(shù)據(jù)表的約束MySQL5.默認約束altertable表名modify字段名數(shù)據(jù)類型default默認值;為已存在的表時添加默認約束語法格式:為已存在的表時添加默認約束示例語句:altertablestudentmodifyaddressvarchar(255)default'地址不詳';四、數(shù)據(jù)表的約束MySQL6.CHECK約束CHECK(表達式)CHECK約束語法格式:CHECK約束示例語句:droptablestudent;createtablestudent(stuNochar(10)primarykey,namevarchar(50),sexchar(2)notnullcheck(sexin('男','女')),birthdaydate,specvarchar(30),phonevarchar(11),addressvarchar(255));MySQL使用Navicat工具實現(xiàn)數(shù)據(jù)定義五五、使用Navicat工具實現(xiàn)數(shù)據(jù)定義MySQL1.使用Navicat創(chuàng)建數(shù)據(jù)庫圖9創(chuàng)建數(shù)據(jù)庫在左側(cè)“連接樹”工具欄中右鍵“MYSQL”服務(wù)器連接,單擊“新建數(shù)據(jù)庫”;五、使用Navicat工具實現(xiàn)數(shù)據(jù)定義MySQL1.使用Navicat創(chuàng)建數(shù)據(jù)庫圖10創(chuàng)建數(shù)據(jù)庫testStudent在“新建數(shù)據(jù)庫”對話框中,輸入數(shù)據(jù)庫名為“testStudent”,字符集與排序規(guī)則均為“utf8”,單擊“確定”按鈕五、使用Navicat工具實現(xiàn)數(shù)據(jù)定義MySQL2.使用Navicat創(chuàng)建數(shù)據(jù)表圖11創(chuàng)建數(shù)據(jù)表在左側(cè)“連接樹”工具欄中雙擊名為“testStudent”的數(shù)據(jù)庫,雙擊“表”選項,在主工作區(qū)中選擇“新建表”按鈕五、使用Navicat工具實現(xiàn)數(shù)據(jù)定義MySQL2.使用Navicat創(chuàng)建數(shù)據(jù)表圖12創(chuàng)建數(shù)據(jù)表student在“新建表”對話框中依次輸入表中各字段的名稱、類型、長度等信息,輸入完成后,點擊“保存”按鈕,根據(jù)提示輸入表名為“student”,單擊“確定”MySQL任務(wù)實施六六、任務(wù)實施MySQL1.創(chuàng)建學(xué)生成績管理數(shù)據(jù)庫CREATEDATABASEmystudent;語句:六、任務(wù)實施MySQL2.在學(xué)生成績管理數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表droptablestudent;create
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建材賣場燈箱廣告合同
- 股權(quán)增資協(xié)議書范本
- 二手木材購銷協(xié)議
- 小區(qū)視頻監(jiān)控設(shè)備招標(biāo)文件
- 戶口遷移的承諾保證書
- 房屋買賣合同的簡單格式
- 長期租賃汽車合同
- 招標(biāo)文件的撰寫
- 招標(biāo)文件編制指南
- 室外兒童游樂場玩具購銷協(xié)議
- 陜西省既有村鎮(zhèn)住宅抗震加固技術(shù)規(guī)程
- 智聯(lián)國企行測筆試真題
- 2025屆新高考物理熱點精準(zhǔn)復(fù)習(xí):高中物理6大模塊計算題思路總結(jié)
- GA/T 2133.1-2024便攜式微型計算機移動警務(wù)終端第1部分:技術(shù)要求
- 2025屆江蘇省期無錫市天一實驗學(xué)校數(shù)學(xué)七年級第一學(xué)期期末達標(biāo)檢測試題含解析
- 城市軌道交通運營管理【共30張課件】
- 學(xué)生退學(xué)情況說明
- 鋼結(jié)構(gòu)設(shè)計智慧樹知到期末考試答案章節(jié)答案2024年山東建筑大學(xué)
- DB5334 T 12.5-2024《地理標(biāo)志證明商標(biāo) 香格里拉藏香豬》的第5部分疾病防治
- 化學(xué)機械漿與半化學(xué)機械漿
- 睡眠中心宣傳方案
評論
0/150
提交評論