明天繼續寫

數據表的基本操作

創建數據表

    在創建完數據庫後,接下來的工作就是創建據表。所謂創建數據表,指的是在已經創建好的數據庫中建立新表。
創建數據表的過程是規定數據列的屬性的過程,同時也是實施數據完整性(包括實體完整性、引用完整性和域完整性
等)約束的過程。
創建表的語法形式
    數據表屬於數據庫,在創建數據表之前,應該使用“USE <數據庫名>”指定操作是在哪個數據庫中進行,如果
沒有沒有選擇數據庫,則會拋出“No databases selected”錯誤。創建數據表的語句爲CREATE TABLE,語法規
則如下:

CREATE TABLE <表名>
(
字段名1,數據類型 [列級別約束條件] [默認值],
字段名2,數據類型 [列級別約束條件] [默認值],
.....
[表級別約束條件]
);

使用CREATE TABLE 創建表時,必須指定以下信息:
(1)要創建的表的名稱,不區分大小寫,不能使用SQL語句中的關鍵字,如DROP、ALTER、INSER等。
(2)數據表中每一個列的名稱和數據類型,如果創建多個列,要用逗號隔開。
示例

在這裏插入圖片描述
在這裏插入圖片描述

使用主鍵約束
    主鍵,有又稱主碼,是表中一列或者多列的組合。主鍵約束(Primary Key Constraint)要求主鍵列的數據唯一,並且不允許爲空。
主鍵能夠唯一的標識表中的一條記錄,可以結合外鍵定義不同表之間的關係,並且可以加快數據庫查詢的速度。主鍵與記錄之間的關係,如同
身份證和人之間的關係,他們之間是一一對應的。主鍵分爲兩種類型:單字段主鍵和多字段聯合主鍵。
    
    1.單字段主鍵
    單字段主鍵由一個字段組成,SQL語句格式分爲以下兩種請求,
    (1)在定義列的同時指定主鍵,語法規則如下:
    字段名 數據類型 PRIMARY KEY [默認值]
    (2)定義完所有列之後指定主鍵
    [CONSTRAINT <約束名>] PRIMARY KEY [主鍵名]
    語句執行後,便創建了一個名爲tb_emp4的數據表,name字段和deptId字段組合在一起成爲tb_emp4的多字聯合主鍵。

在這裏插入圖片描述
在這裏插入圖片描述

使用外鍵約束
	外鍵用來在兩個表的數據之間建立連接,它可以是一列或者多列,一個表可以有一個或多個外鍵。外鍵對應的是參照完整性,
一個表的外鍵可以爲空值,若不爲空值,則每一個外鍵值必須等於另一個表中主鍵的某個值。
	外鍵:首先它是表中的一個字段,它可以不是本表的主鍵,但對應着另一個表中的主鍵。外鍵的主要作用是保證數據引用的
完整性,定義外鍵後,不允許刪除在另一個表中具有關聯關係的行。外鍵的作用是保證數據的一致性、完整性。
	主表(父表):對於兩個具有關聯關係的表而言,相關聯字段中主鍵所在的那個表就是主表。
	從表(字表):對於兩個具有關聯關係的表而言,相關聯字段中外鍵所在的那個表就是從表。
	創建外鍵的語法規則如下
	[CONSTRAINT <外鍵名>] FOREIGN KEY 字段名1 [,字段名2,...] REFERENCES <主表名> 主鍵列1 [,主鍵列2,,...]
	“外鍵名”爲定義的外鍵約束的名稱,一個表中不能有相同名稱的外鍵;“字段名”表示子表需要添加外鍵約束的字段列;“
	主表名”即被子表外鍵所依賴的表的名稱;“主鍵列”表示主表中定義的主鍵列,或者列組合。

在這裏插入圖片描述

	以上語句執行成功之後,在表tb_emp5上添加了名稱爲fk_emp_dept的外鍵約束,外鍵名稱爲deptId,其依賴於表tb_dept1的主鍵id。
	關聯指的是在關係型數據庫中,相關表之間的聯繫,它是通過相容或相同或屬性組來表示的。子表的外鍵必須管理父表的主鍵,且關
聯字段的數據類型必須匹配,如果類型不匹配,在創建子表時,就會出現錯誤“ERROR 1005 (HY000):Can't create table 'database.tablename'(errrno:150)”。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章