MySQL數據庫項目化教程(第2版)(微課版)課件 項目四 數據表的管理_第1頁
MySQL數據庫項目化教程(第2版)(微課版)課件 項目四 數據表的管理_第2頁
MySQL數據庫項目化教程(第2版)(微課版)課件 項目四 數據表的管理_第3頁
MySQL數據庫項目化教程(第2版)(微課版)課件 項目四 數據表的管理_第4頁
MySQL數據庫項目化教程(第2版)(微課版)課件 項目四 數據表的管理_第5頁
已閱讀5頁,還剩78頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

MySQL數據庫項目化教程V1項目四數據表的管理項目任務知識目標學習目標任務1:數據類型任務2:數據表的創建與管理任務3:數據的管理任務4:數據完整性(1)了解各種數據類型(2)了解數據表的創建(3)理解使用SQL語句修改表結構(4)掌握刪除數據表(5)掌握對數據實現增刪改操作(6)掌握對數據建立約束能力目標素質目標學習目標(1)能夠區分各種數據類型(2)能夠完成數據表的創建(3)能夠對數據表進行管理(4)能夠完成對數據的增、刪、改操作(5)能夠完成對數據的各種約束(1)培養學生的編程能力和業務素質(2)培養學生自我學習的習慣、愛好和能力(3)培養學生的科學精神和態度課程思政(素養提示)學習目標(1)數據庫中的表之間是存在聯系的,理解事物的聯系是普遍存在的,培養學生處理好人際關系的方法與技巧。(2)理解數據表管理的作用,具備管理意識,培養學生的管理能力。思維導圖學習目標任務分析任務完成任務描述Part

2Part

3Part

1任務一數據類型任務分析任務完成Part

1Part

2Part

3任務描述在MySQL數據庫管理系統中,數據類型決定了存儲數據的類型。MySQL數據庫管理系統提供了整數類型、浮點數類型、定點數類型和位類型、日期和時間類型、字符串類型。在創建數據表之前,要先掌握數據類型。任務描述任務分析任務完成Part

1Part

2Part

3任務描述數據庫表由多列字段構成,每一個字段指定了不同的數據類型。指定字段的數據類型之后,也就決定了向字段插入的數據內容。例如,當要插入數值的時候,可以將它們存儲為整數類型,也可以將它們存儲為字符串類型;不同的數據類型也決定了MySQL在存儲它們的時候使用的方式,以及在使用它們的時候選擇什么運算符號進行運算。任務分析任務分析任務完成Part

1Part

2Part

3任務描述1.整數類型MySQL數據庫管理系統除了支持標準SQL中的所有整數類型(SMALLINT和INT)外,還進行了相應擴展。擴展后增加了TINYINT、MEDIUMINT和BIGINT這三個整數類型?!纠?-1】創建表tmp1,其中字段x、y、z、m、n數據類型依次為TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,SQL語句如下:例題代碼運行結果CREATETABLEtmp1(xTINYINT,ySMALLINT,zMEDIUMINT,mINT,nBIGINT);類型名稱所占字節數有符號數取值范圍無符號數取值范圍TINYINT1?128~1270~255SMALLINT2?32768~327670~65535MEDIUMINT3?8388608~83886070~16777215INT(INTEGER)4?2147483648~21474836470~4294967295BIGINT8?9223372036854775808~92233720368547758070~18446744073709551615MySQL中使用浮點數和定點數來表示小數。浮點類型有兩種:單精度浮點類型(FLOAT)和雙精度浮點類型(DOUBLE)。定點類型只有一種:DECIMAL。浮點類型和定點類型都可以用(M,N)來表示,其中M稱為精度,表示總共的位數;N成為標度,是表示小數的位數。【例4-2】分別為tmp2表創建val1(FLOAT)字段、val2(DOUBULE)字段及val3(DEC(18,3))字段,然后分別插入數值123456789012345.6789,查看表數據。類型名稱存儲需求說明FLOAT單精度浮點數4個字節DOUBLE雙精度浮點數8個字節DECIMAL(M,D),DEC壓縮的“嚴格”定點數M+2個字節CREATETABLEtmp2(val1FLOAT,val2DOUBLE,val3DEC(18,3));INSERTINTOtmp2VALUES(123456789012345.6789,123456789012345.6789,123456789012345.6789);SELECT*FROMtmp2;2.浮點數類型和定點數類型【例4-2】MySQL中有多種表示日期的數據類型,主要有:DATETIME、DATE、TIMESTAMP、TIME和YEAR。類型名稱日期格式日期范圍存儲需求YEARYYYY1901~21551字節TIMEHH:MM:SS-838:59:59~838:59:593字符DATEYYYY-MM-DD1000-01-01~9999-12-313字符DATETIMEYYYY-MM-DDHH:MM:SS1000-01-0100:00:00~9999-12-3123:59:598字符TIMESTAMPYYYY-MM-DDHH:MM:SS1970-01-0100:00:01UTC~2038-01-1903:14:07UTC4字符3.日期與時間類型【例4-3】日期和時間類型的使用方法。CREATETABLEd_test(f_dateDATE,f_datetimeDATETIME,f_timestampTIMESTAMP,f_timeTIME,f_yearYEAR);INSERTINTOd_testVALUES(curdate(),NOW(),NOW(),TIME(NOW()),YEAR(NOW()));SELECT*FROMd_test;【例4-3】4.字符串類型字符串類型用來存儲字符串數據,除了可以存儲字符串數據之外,還可以存儲其他數據,比如圖片和聲音的二進制數據。字符串可以進行區分或者不區分大小寫的串比較,另外,還可以進行模式匹配查找。CHAR系列字符串類型字節描述CHAR(M)MM為0~255之間的整數VARCHAR(M)MM為0~65535之間的整數TEXT系列字符串類型字節描述TINYTEXT0~255值的長度為+1個字節TEXT0~65535值的長度為+2個字節MEDIUMTEXT0~16777215值的長度為+3個字節LONGTEXT0~4294967295值的長度為+4個字節BINARY系列字符串類型字節描述BINARY(M)M允許長度為0~MVARBINARY(M)M允許長度為0~MBLOB系列字符串類型字節描述TINYBLOB0~255最大255BLOB0~216最大64KMEDIUMBLOB0~224最大16MLONGGLOB0~232最大4G任務總結本任務主要介紹在MySQL軟件中創建數據庫對象表之前,需要掌握的一些概念。數據類型決定了數據庫對象表中存儲數據類型,主要介紹了整數類型、浮點數類型、定點數類型、日期和時間類型、字符串類型。MySQL提供了大量的數據類型,為了優化存儲,提高數據庫性能,在任何情況下均應使用最精確的類型。即在所有可以表示該列值的類型中,該類型使用的存儲最少。任務分析任務完成任務描述Part

2Part

3Part

1任務二數據表的創建與管理任務分析任務完成Part

1Part

2Part

3任務描述表是最重要的數據庫對象,它用來存儲數據。數據表包括行和列,列決定了表中數據的類型,行包含了實際的數據。要想把數據錄入到數據表中,必須先按照學生技能競賽管理系統關系模式創建表結構。任務描述任務分析任務完成Part

1Part

2Part

3任務描述在設計數據庫時,我們已經確定學生技能競賽管理系統需要創建八張表?,F在需要設計表結構,主要包括表的名稱、表中每列的名稱,數據類型和長度、表中的列是否為空值,是否唯一,是否有默認值或約束、表的哪些列是主鍵以及哪些列是外鍵等。任務分析任務分析任務完成Part

1Part

2Part

3任務描述創建數據表1.使用SQL語句創建表創建數據表需要用到CREATETABLE語句,其語法形式如下:CREATETABLEtable_name(列名1數據類型1列級完整性約束條件1,列名2數據類型2列級完整性約束條件2,列名3數據類型3列級完整性約束條件3);創建學生和教師表創建學生表1.使用SQL語句創建表CREATETABLEstudent(st_idINTPRIMARYKEYAUTO_INCREMENT,st_noCHAR(10)NOTNULLUNIQUE,st_passwordVARCHAR(12)NOTNULL,st_nameVARCHAR(20)NOTNULL,st_sexCHAR(2)DEFAULT'男',class_idINT,dp_idINT)ENGINE=InnoDBDEFAULTCHARSET=utf8;創建學生表【例4-4】創建student表。在數據庫competition中創建一個表student,它由7個字段組成,分別為:st_id,st_no,st_password,st_name,st_sex,class_id,dp_id。

創建教師表1.使用SQL語句創建表創建教師表CREATETABLETEACHER(tc_idINTNOTNULLPRIMARYKEYAUTO_INCREMENT,tc_noCHAR(10)NOTNULLUNIQUE,tc_passwordVARCHAR(12)NOTNULL,tc_nameVARCHAR(20)NOTNULL,tc_sexCHAR(2)DEFAULT'男',dp_idINT,tc_infoTEXT)ENGINE=InnoDBDEFAULTCHARSET=utf8;【例4-5】創建teacher表。在數據庫competition中創建一個表teacher,它由7個字段組成,分別為tc_id,tc_no,tc_password,tc_name,tc_sex,dp_id,tc_info。DESCRIBE語句查看表定義2.查看表結構創建完表,如果需要查看一下表的定義,可以通過執行SQL語句DESCRIBE來實現,其語法形式如下:DESCRIBE表名;SHOWCREATETABLE

創建完表,如果需要查看表結構的詳細定義,可以通過執行SQL語句SHOWCREATETABLE來實現,其語法形式如下:SHOWCREATETABLEtable_name;【例4-6】查看數據庫competition中學生表student的定義。USEcompetition;DESCRIBEstudent;【例4-7】執行SQL語句SHOWCREATETABLE,查看competition中教師表teacher的詳細信息。USEcompetition;SHOWCREATETABLEteacher;2.查看表結構【例4-7】運行結果修改表名3.使用SQL語句修改表結構在數據庫中,可以通過表名來區分不同的表,因為表名在數據庫中是唯一的,不能重復的。在MySQL數據庫管理系統中修改表名可以通過SQL語句ALTER來實現。其語法形式如下:ALTERTABLE old_table_nameRENAME[TO]new_table_name;增加字段

在MySQL數據庫管理系統中增加字段通過SQL語句ALTERTABLE來實現,其語法形式如下:ALTERTABLEtable_nameADD屬性名屬性類型【例4-8】將數據庫competition中的student表改名為stu表。ALTERTABLEstudentRENAMETOstu;【例4-9】為例4-5中創建的表teacher增加“入職時間”jobtime列,其數據類型為日期型。ALTERTABLEteacherADD

COLUMNjobtimeDATETIME;【例4-9】運行結果3.使用SQL語句修改表結構增加字段3.使用SQL語句修改表結構增加字段

通過SQL語句ALTERTABLE來實現增加字段時,如果不想讓所增加的字段在所有字段的最后一個位置,可以通過FIRST關鍵字使所增加的字段在表中所有字段的第一個位置,具體的語法格式如下:ALTERTABLEtable_nameADD屬性名屬性類型FIRST;【例4-10】在teacher表的第一個位置增加tc_type(教師類別)字段,其數據類型為字符型,長度為10。ALTERTABLEteacherADDtc_typeVARCHAR(10)FIRST;通過SQL語句ALTERTABLE實現增加字段時,除可以在表的第一個位置或最后一個位置增加字段外,還可以通過關鍵字AFTER在指定的字段之后添加字段,具體的語法格式如下:ALTERTABLEtable_nameALTERTABLEtable_nameADD屬性名屬性類型AFTER屬性名;【例4-11】在teacher表中tc_name字段后增加tc_title(職稱)字段,其數據類型為字符型,長度為20。ALTERTABLEteacherADDtc_titleVARCHAR(20)AFTERtc_name;【例4-10】運行結果3.使用SQL語句修改表結構【例4-11】運行結果修改字段3.使用SQL語句修改表結構根據創建表的語法可以發現,字段是由字段名和數據類型來進行定義的,如果要實現修改字段,除了可以修改字段名外,還可以實現修改字段所能存儲的數據類型。由于一個表中會擁有許多字段,因此還可以實現修改字段的順序。本節將詳細介紹如何修改字段。修改字段的數據類型,具體的語法格式如下:ALTERTABLEtable_nameMODIFY屬性名數據類型;修改字段

【例4-13】將teacher表的tc_id字段的數據類型改為SMALLINT。ALTERTABLEteacherMODIFYCOLUMNtc_idSMALLINT;【例4-12】將表teacher的tc_name列長度改為25。ALTERTABLEteacherMODIFYCOLUMNtc_nameVARCHAR(25);【例4-14】把teacher表中的tc_password字段改為tc_pwd。ALTERTABLEteacherCHANGEtc_passwordtc_pwdVARCHAR(12);修改字段名稱,具體的語法格式如下:ALTERTABLEtable_nameCHANGE舊屬性名新屬性名舊數據類型;修改字段3.使用SQL語句修改表結構【例4-12】運行結果【例4-13】運行結果【例4-14】運行結果刪除字段3.使用SQL語句修改表結構對于表,既然可以在修改表時進行字段的增加操作,那么也可以在修改表時進行字段的刪除。所謂刪除字段是指刪除已經在表中定義好的某個字段。即在創建好的表格中,發現某個字段需要刪除,在MySQL數據庫管理系統中刪除字段通過SQL語句ALTERTABLE來實現,其語法形式如下:ALTERTABLEtable_nameDROP屬性名;刪除表表的操作包括創建表、查看表、刪除表和修改表。所謂刪除表就是指刪除數據庫中已經存在的表。在具體刪除表時,會直接刪除表中所保存的所有數據,因此在刪除表時應該非常小心。刪除表需要用到DROPTABLE語句,基本語法如下:DROPTABLE表名;【例4-15】刪除teacher表中的tc_title。ALTERTABLEteacherDROPtc_title;【例4-16】刪除teacher表。DROPTABLEteacher;【例4-15】運行結果3.使用SQL語句修改表結構【例4-16】運行結果

任務總結通過學習,我們了解到在MySQL中,表是一種重要的數據庫對象,存儲數據庫中所有的數據。一個表就是一個關系,表實質上就是行列的集合,每一行代表一條記錄(元組),每一列代表記錄的一個字段(屬性)。每個表由若干行組成,表的第一行為各列標題,其余行都是數據。而本任務分為3個子任務,分別為創建表、修改表和刪除表。創建數據表需要用到CREATETABLE語句;創建表后可以通過DESCRIBE、SHOWCREATETABLE查看表信息;然后,通過使用ALTERTABLE語句實現修改表結構,可以添加新列、修改列長度、修改列數據類型、添加約束、刪除約束和刪除列;最后通過使用DROPTABLE語句來刪除表。從而,掌握關于數據表的創建和管理。任務分析任務完成任務描述Part

2Part

3Part

1任務三數據的管理任務分析任務完成Part

1Part

2Part

3任務描述創建數據表之后,為了能夠實現對數據的處理,我們還需要管理數據。任務描述任務分析任務完成Part

1Part

2Part

3任務描述管理數據主要包括數據的增加、刪除和修改等操作。我們可以通過SQL語句向學生技能競賽管理數據庫的數據表中添加新記錄、修改或刪除記錄。同時,通過設置數據完整性約束,如建立主鍵來保證錄入數據的唯一性;設定數據范圍,可以避免一些低級錯誤等。任務分析任務分析任務完成Part

1Part

2Part

3任務描述為表的所有字段插入數據1.向表中添加數據在使用數據庫之前,數據庫中必須要有數據,MySQL中使用INSERT語句向數據庫表中插入新的數據記錄。該SQL語句可以通過如下四種方式使用:插入完整數據記錄插入數據記錄的一部分插入多條數據記錄插入另一個查詢的結果使用基本的INSERT語句插入數據要求指定表名稱和插入到新記錄中的值?;菊Z法如下:INSERTINTOtable_name(column_list)VALUES(value_list);為表的所有字段插入數據table_name指定要插入數據的表名,column_list指定要插入數據的那些列,value_list指定每個列應對應插入的數據。注意,使用該語句時字段列和數據值的數量必須相同?!纠?-17】在student表中插入一行新記錄,學號為2201050907,密碼為x123456,姓名為“王宏豪”,性別為“男”,班別為09,系別為02。INSERTINTOstudentVALUES('1','2201050907','x123456','王宏豪','男','09','02');運行結果【例4-17】1.向表中添加數據為表的指定字段插入數據,就是在INSERT語句中只向部分字段中插入值,而其他字段的值為表定義時的默認值。【例4-18】在student表中插入一行新記錄,學號為2201050908,姓名為“張可可”,密碼為z123456,性別為“女”。INSERTINTOstudent(st_no,st_name,st_password,st_sex)VALUES('2201050908','張可可','z123456','女');同時插入多條記錄INSERT語句可以同時向數據表中插入多條記錄,插入時指定多個值列表,每個值列表之間用逗號分隔開?!纠?-19】在teacher表中,為tc_id,tc_no,tc_password和tc_name字段插入指定值,同時插入3條新記錄。INSERTINTOteacher(tc_id,tc_no,tc_password,tc_name)VALUES(11,'1001','t123456','趙亮'),(12,'1002','t123456','李文楚'),(13,'1003','t123456','全輝俊');為表的指定字段插入數據運行結果【例4-18】【例4-19】1.向表中添加數據INSERT語句用來給數據表插入記錄時,指定插入記錄的列值。INSERT還可以將SELECT語句查詢的結果插入到表中,如果想要從另外一個表中合并個人信息到teacher表,不需要把每一條記錄的值一個一個輸入,只需要使用一條INSERT語句和一條SELECT語句組成的組合語句,即可快速地從一個或多個表中向一個表中插入多個行。其語法形式如下:INSERTINTOtable_name1(column_list)SELECT(column_list2)FROMtable_name2WHERE(condition);將查詢結果插入表中【例4-20】創建一個名為teacher_copy的數據表,其表結構與teacher表相同,然后把teacher表中tc_no為1001的信息賦給teacher_copy表。CREATETABLEteacher_copy(tc_idINTNOTNULLPRIMARYKEYAUTO_INCREMENT,tc_noCHAR(10)NOTNULLUNIQUE,tc_passwordVARCHAR(12)NOTNULL,tc_nameVARCHAR(20)NOTNULL,tc_sexCHAR(2)DEFAULT'男',dp_idINT,tc_infoTEXT)ENGINE=InnoDBDEFAULTCHARSET=utf8;INSERTINTOteacher_copy(tc_no,tc_password,tc_name)SELECTtc_no,tc_password,tc_nameFROMteacherWHEREtc_no='1001';將查詢結果插入表中運行結果【例4-20】修改數據2.修改數據表中有數據之后,接下來可以對數據進行更新操作,MySQL中使用UPDATE語句更新表中的記錄。修改數據可以只修改單條記錄,也可修改多條記錄甚至是全部記錄。修改數據使用UPDATE語句,基本語法如下:UPDATEtable_nameSETcolumn_name1=value1,column_name2=value1,……,column_namen=valuenWHERE(condition);修改單條記錄table_name指定要插入數據的表名,column_list指定要插入數據的那些列,value_list指定每個列應對應插入的數據。注意,使用該語句時字段列和數據值的數量必須相同。【例4-21】將student表中張可可的班級修改為2班。UPDATEstudentSETclass_id='02'WHEREst_name='張可可';運行結果【例4-21】修改多條記錄2.修改數據【例4-22】將department表中的院系名信息工程學院改為計算機系。UPDATEdepartmentSETdp_name='計算機系'WHEREdp_name='信息工程學院';修改全部記錄【例4-23】將project表中的培訓天數全部加3天。UPDATEprojectSETpr_days=pr_days+3;運行結果【例4-22】【例4-23】刪除單條記錄3.刪除數據從數據表中刪除數據使用DELETE語句,DELETE語句允許WHERE子句指定刪除條件。刪除數據可以只刪除單條記錄,也可刪除多條記錄甚至是全部記錄。DELETE語句基本語法形式如下:DELETEFROMtable_name[WHERE<condition>];刪除多條記錄刪除全部記錄【例4-25】刪除student表中院系編號為2的所有學生信息。DELETEFROMstudentWHEREdp_id=2;【例4-26】刪除student表的所有信息。DELETEFROMstudent;【例4-24】刪除student表中姓名為“梁炳林”的學生。DELETEFROMstudentWHEREst_name='梁炳林';運行結果【例4-24】【例4-25】【例4-26】任務總結在本任務中表的數據管理包括添加數據、修改數據和刪除數據。首先向表中添加數據,可以使用INSERT語句。本任務中通過為表的所有字段插入數據、為表的指定字段插入數據、同時插入多條記錄和將查詢結果插入到表中等方式掌握各種添加數據的方式。接著當添加數據發生錯誤或者事務發生變化時,數據需要進行修改??梢允褂肬PDATE語句。依次通過修改單條記錄、修改多條記錄和修改全部記錄逐步掌握對數據的修改。最后如果表中的某些記錄不需要了,可以使用DELETE語句刪除。依次通過刪除單條記錄、刪除多條記錄和刪除全部記錄逐步掌握對數據的刪除。任務分析任務完成任務描述Part

2Part

3Part

1任務四數據完整性任務分析任務完成Part

1Part

2Part

3任務描述在管理數據的過程中,有的列必須要有值,不能為空;有的列數據值只能在某個范圍內;還有的列值必須取自其他的表。數據的這種規律,使我們管理數據便有章可循。如我們可以在表結構上增加一些約束,以確保該列不能為空,或者輸入數據不在范圍內則提示等,這就是數據完整性約束機制。任務描述任務分析任務完成Part

1Part

2Part

3任務描述數據完整性約束,可以在建立表結構時設置,也可以在建好的表上進行添加。在學生競賽項目管理系統中,student表中可以設置姓名、密碼不能為空,學生編號為主鍵,性別只能取值為“男”或“女”,并且默認為“男”;project表中可以設置學生編號、項目號、教師編號為外鍵。這樣設置后,數據的準確性與一致性就得到了保障。任務分析任務分析任務完成Part

1Part

2Part

3任務描述1.主鍵約束主鍵,又稱主碼,是表中一列或多列的組合。主鍵約束要求主鍵列的數據唯一,并且不允許為空。主鍵能夠唯一地標識表中的一條記錄,可以結合外鍵來定義不同數據表之間的關系,并且可以加快數據庫查詢的速度。主鍵和記錄主鍵的關系如同身份證和人之間的關系,它們是一一對應的。主鍵分為兩種類型:單字段主鍵和多字段聯合主鍵。建表時設置單列主鍵約束CREATETABLEstudent(st_idINTPRIMARYKEY,st_noCHAR(10)NOTNULL,st_passwordCHAR(12)NOTNULL,st_nameVARCHAR(20)NOTNULL,st_sexCHAR(2),class_idINT,dp_idCHAR(10));【例4-27】在competition數據庫中創建student表,結構為st_id,st_no,st_password,st_name,st_sex,class_id,dp_id,其中,st_id為主鍵。建表時設置單列主鍵約束運行結果【例4-27】1.主鍵約束【例4-28】在competition數據庫中創建學生參賽表st_project,其結構為st_project(st_pid,st_id,pr_id,tc_id),其中主鍵為st_pid和st_id。ALTERTABLEteacherADDCONSTRAINTPK_idPRIMARYKEY(tc_id);【例4-29】為competition數據庫中的teacher表添加主鍵約束tc_id,約束名為PK_id。CREATETABLEst_project(st_pidINT,st_idINT,pr_idINT,tc_idINT,PRIMARYKEY(st_pid,st_id));建表時設置多列組合主鍵約束修改表時添加主鍵約束運行結果【例4-28】【例4-29】2.外鍵約束外鍵用于與另一張表的關聯。是能確定另一張表記錄的字段,用于保持數據的一致性。比如,A表中的一個字段,是B表的主鍵,那它就可以是A表的外鍵。建表建表時設置外鍵約束CREATETABLEtc_project(tc_pidINTPRIMARYKEY,tc_idINT,pr_idINT,CONSTRAINTfor_idFOREIGNKEY(tc_id)REFERENCESteacher(tc_id));【例4-30】在competition數據庫中創建教師指導表tc_project,其結構為tc_project(tc_pid,tc_id,pr_id),其中,外鍵為tc_id。建表建表時設置外鍵約束運行結果【例4-30】2.外鍵約束【例4-31】為competition數據庫中的tc_project表中的項目號pr_id建立外鍵約束,該列值參照project表中的項目號pr_id。修改表時添加外鍵約束ALTERTABLEtc_projectADDCONSTRAINTfor_pidFOREIGNKEY(pr_id)REFERENCESproject(pr_id);修改表時添加外鍵約束3.唯一約束唯一約束保證在一個字段或者一組字段里的數據與表中其它行的數據相比是唯一的。建表時設置唯一約束CREATETABLEstudent(st_idINTPRIMARYKEY,st_noCHAR(10)NOTNULLUNIQUE,st_passwordCHAR(12)NOTNULL,st_nameVARCHAR(20)NOTNULL,st_sexCHAR(2),class_idINT,dp_idCHAR(10));【例4-32】在competition數據庫中創建student表,結構為student(st_id,st_no,st_password,st_name,st_sex,class_id,dp_id),其中,st_no為唯一約束。建表時設置唯一約束運行結果【例4-32】3.唯一約束【例4-33】為competition數據庫中的teacher表中的教師工號tc_no建立唯一約束。ALTERTABLEteacherADDCONSTRAINTUNIQUE(tc_no);修改表時添加唯一約束4.非空約束非空約束保護的數據列必須要要有數據值。建表時設置非空約束CREATETABLEclass(class_idINT,class_noCHAR(10)NOTNULL,class_nameCHAR(20)NOTNULL,class_gradeCHAR(10)NOTNULL,dp_idCHAR(10));【例4-34】在competition數據庫中創建class表,其結構為class(class_id,class_id,class_name,class_grade,dp_id),其中,非空約束為class_no、class_name和class_grade。建表時設置非空約束運行結果【例4-34】4.非空約束【例4

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論