《MYSQL數(shù)據(jù)庫MySQL入門教程(五)之表的創(chuàng)建、修改和刪除》要點:
本文介紹了MYSQL數(shù)據(jù)庫MySQL入門教程(五)之表的創(chuàng)建、修改和刪除,希望對您有用。如果有疑問,可以聯(lián)系我們。
MYSQL學(xué)習(xí)MySQL 為關(guān)系型數(shù)據(jù)庫(Relational Database Management System), 這種所謂的"關(guān)系型"可以理解為"表格"的概念, 一個關(guān)系型數(shù)據(jù)庫由一個或數(shù)個表格組成.
MYSQL學(xué)習(xí)表是DB存儲數(shù)據(jù)的基本單位,一個表包含若干個字段或記錄.表的操作包括創(chuàng)建、修改和刪除.
MYSQL學(xué)習(xí) 1、創(chuàng)建表
MYSQL學(xué)習(xí) 創(chuàng)建表即在已存在的數(shù)據(jù)庫中創(chuàng)立新表.在使用USE語句選擇具體數(shù)據(jù)庫后,可以使用它SQL語句創(chuàng)建表
MYSQL學(xué)習(xí)
MYSQL學(xué)習(xí) 其中,屬性名指表中字段的名稱,數(shù)據(jù)類型即對應(yīng)字段的數(shù)據(jù)類型,完整性約束條件指對應(yīng)字段的某些特殊約束條件.
MYSQL學(xué)習(xí) MySQL中基本的完整性約束條件有
MYSQL學(xué)習(xí)
MYSQL學(xué)習(xí) 1.1 設(shè)置表的主鍵
MYSQL學(xué)習(xí) 主鍵是表的一個特殊字段,該字段能唯一地表示該表中的每條信息,即主鍵如同表中記錄的身份證.主鍵的主要目的在于幫助MySQL以最快的速度查找表中的某一條信息.主鍵必須按滿足唯一性,表中任意提兩條記錄的主鍵字段的值不可相同,主鍵的值為非空值.主鍵可以是單一的字段也可以是多個字段的組合.
MYSQL學(xué)習(xí) 對于單字段主鍵只要在創(chuàng)建表時使用下屬語句即可
MYSQL學(xué)習(xí) 屬性名 數(shù)據(jù)類型 PRIMARY KEY
MYSQL學(xué)習(xí) 對于多字段主鍵,要在屬性定義完后統(tǒng)一設(shè)置主鍵,如
MYSQL學(xué)習(xí)
MYSQL學(xué)習(xí) 即用stu_id和course_id兩個字段組合來唯一確定一條記錄.
MYSQL學(xué)習(xí) 1.2 設(shè)置表的外鍵
MYSQL學(xué)習(xí) 如果字段a是表A的屬性,且依賴于表B的主鍵,那么,稱表B為父表,表A為子表,a為表A的外鍵.通過字段a將父表B和子表A建立了關(guān)聯(lián)關(guān)系,即外鍵的作用在于建立該表與其父表的關(guān)聯(lián)關(guān)系.當(dāng)父表中刪除某條信息時,子表中與之對應(yīng)的信息也必須有相應(yīng)的改變,來保證信息的完整性.
MYSQL學(xué)習(xí) 在創(chuàng)建表時的設(shè)置外鍵的基本語法為
MYSQL學(xué)習(xí)
MYSQL學(xué)習(xí) 其中,外鍵別名指外鍵的代號,屬性一列表指子表中設(shè)置的外鍵,屬性二列表指父表的主鍵,而表名指父表的名稱.如
MYSQL學(xué)習(xí)
MYSQL學(xué)習(xí) 注意,子表的外鍵關(guān)聯(lián)的必須是父表的主鍵,且數(shù)據(jù)類型必須一致.
MYSQL學(xué)習(xí) 1.3 設(shè)置表的非空約束
MYSQL學(xué)習(xí) 非空性指字段的值不能為空值NULL.基本語法為
MYSQL學(xué)習(xí) 屬性名 數(shù)據(jù)類型 NOT NULL
MYSQL學(xué)習(xí) 當(dāng)在有非空約束的字段上插入的記錄對應(yīng)該字段的值為空時,系統(tǒng)將保存并不接受此次插入.
MYSQL學(xué)習(xí) 1.4 設(shè)置表的唯一性約束
MYSQL學(xué)習(xí) 唯一性是指所有記錄中該字段的值不可重復(fù)出現(xiàn).基本語法為
MYSQL學(xué)習(xí) 屬性名 數(shù)據(jù)類型 UNIQUE
MYSQL學(xué)習(xí) 1.5 設(shè)置表的屬性值自動增加
MYSQL學(xué)習(xí) AUTO_INCREMENT是MySQL數(shù)據(jù)庫中的一個特殊約束條件,主要用于為表中插入的新紀(jì)錄自動生成唯一的ID.基本語法為
MYSQL學(xué)習(xí) 屬性名 數(shù)據(jù)類型 AUTO_INCREMENT
MYSQL學(xué)習(xí) 一個表只能有一個字段使用該約束,且該字段必須為主鍵的一部分,該字段可以是任何整數(shù)類型.默認(rèn)情況下,該字段的值從1開始自增.如果第一條記錄設(shè)置了該字段的初值,則后續(xù)新增加的記錄就從初值開始自增.
MYSQL學(xué)習(xí) 1.6 設(shè)置表的屬性的默認(rèn)值
MYSQL學(xué)習(xí) 對于設(shè)定了默認(rèn)值的字段,在新插入記錄時如果沒有為這個字段賦值,則系統(tǒng)自動為其賦予此默認(rèn)值.基本語法為
MYSQL學(xué)習(xí) 屬性名 數(shù)據(jù)類型 DEFAULT 默認(rèn)值
MYSQL學(xué)習(xí) 2、查看表結(jié)構(gòu)
MYSQL學(xué)習(xí) 查看表結(jié)構(gòu)指查看DB中已存在的表的定義,包括DESCRIBE語句和SHOW CREATE TABLE語句.
MYSQL學(xué)習(xí) 2.1 DESCRIBE語句
MYSQL學(xué)習(xí) 可查看表的基本定義,包括字段名、字段數(shù)據(jù)類型、是否為主外鍵、默認(rèn)值和額外信息.
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) DESCRIBE 表名;
MYSQL學(xué)習(xí) 2.2 SHOW CREATE TABLE語句
MYSQL學(xué)習(xí) 可查看表的詳細(xì)定義,包括字段名、字段數(shù)據(jù)類型、完整性約束條件等定義時的信息,以及默認(rèn)的存儲引擎和字符編碼.同樣可用\G結(jié)尾代替;使得顯示結(jié)果更美觀.
MYSQL學(xué)習(xí) 3、修改表
MYSQL學(xué)習(xí) 修改表是指修改數(shù)據(jù)庫中已存在的表的定義.
MYSQL學(xué)習(xí) 通過Alter Table語句來修改表,包括修改表名、修改字段數(shù)據(jù)類型、修改字段名、增加字段、刪除字段、修改字段的排列位置、更改默認(rèn)存儲引擎和刪除表的外鍵約束等.
MYSQL學(xué)習(xí) 3.1 修改表名
MYSQL學(xué)習(xí) 語法為
MYSQL學(xué)習(xí) ALTER TABLE 舊表名 RENAME [TO] 新表名;
MYSQL學(xué)習(xí) 其中To是可選參數(shù),其是否在語句中出現(xiàn)不會影響語句的執(zhí)行.
MYSQL學(xué)習(xí) 3.2 修改字段名
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) ALTER TABLE 表名 Change 舊屬性名 新屬性名 新數(shù)據(jù)類型;
MYSQL學(xué)習(xí) 如果只修改字段名不修改字段數(shù)據(jù)類型,則保持新數(shù)據(jù)類型與原來一致即可.
MYSQL學(xué)習(xí) 3.3 修改字段的數(shù)據(jù)類型
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) ALTER TABLE 表名 MODIFY 屬性名 新數(shù)據(jù)類型;
MYSQL學(xué)習(xí) 3.4 增加字段
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) ALTER TABLE 表名 ADD 屬性名1 數(shù)據(jù)類型 [完整性約束條件] [FIRST | AFTER 屬性名2];
MYSQL學(xué)習(xí) 其中FIRST為可選參數(shù),用于將新增字段設(shè)置為表的第一個字段,AFTER屬性名2也為可選參數(shù),用戶將新增字段放到屬性名2后面,如果這兩個可選參數(shù)都不選,新增字段將默認(rèn)放到表的最后一個字段.
MYSQL學(xué)習(xí) 實際上,對于一個數(shù)據(jù)表而言,其中字段的排列順序?qū)Ρ聿粫惺裁从绊?只是對于創(chuàng)建的人來說,將有某種直接或間接聯(lián)系的字段放在一起,便于理解這個表的結(jié)構(gòu).
MYSQL學(xué)習(xí) 3.5 增加字段
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) ALTER TABLE 表名 DROP 屬性名;
MYSQL學(xué)習(xí) 3.6 修改字段的排列位置
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) ALTER TABLE 表名 MODIFY 屬性名1 數(shù)據(jù)類型 FIRST | AFTER 屬性名2;
MYSQL學(xué)習(xí) 3.7 更改表的存儲引擎
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) ALTER TABLE 表名 ENGINE=新存儲引擎名;
MYSQL學(xué)習(xí) 如果一個表中已經(jīng)存在了很多數(shù)據(jù),最好不要輕易更改其存儲引擎.
MYSQL學(xué)習(xí) 3.8 刪除表的外鍵約束
MYSQL學(xué)習(xí) 即斷開表與其父表之間的關(guān)聯(lián)關(guān)系基本語法為
MYSQL學(xué)習(xí) ALTER TABLE 表名 DROP FOREIGN KEY 外鍵別名;
MYSQL學(xué)習(xí) 4、刪除表
MYSQL學(xué)習(xí) 刪除表會刪除表中的所有數(shù)據(jù),由于創(chuàng)建表時可能存在外鍵約束,一些表成為了與之關(guān)聯(lián)的表的父表,要刪除這些父表,情況比較復(fù)雜.
MYSQL學(xué)習(xí) 4.1 刪除沒有被關(guān)聯(lián)的普通表
MYSQL學(xué)習(xí) 基本語法為
MYSQL學(xué)習(xí) DROP TABLE 表名;
MYSQL學(xué)習(xí) 4.2 刪除被關(guān)聯(lián)的父表
MYSQL學(xué)習(xí) 此時由于有外鍵依賴于該表,用4.1的刪除語法會報錯.
MYSQL學(xué)習(xí) 刪除此類父表一般有兩種辦法:直接先將與之關(guān)聯(lián)的子表刪除再刪父表,或者先刪除子表的外鍵約束再刪父表,一般我們采取第二種辦法.
《MYSQL數(shù)據(jù)庫MySQL入門教程(五)之表的創(chuàng)建、修改和刪除》是否對您有啟發(fā),歡迎查看更多與《MYSQL數(shù)據(jù)庫MySQL入門教程(五)之表的創(chuàng)建、修改和刪除》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/12890.html