亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL入門(mén)教程(五)之表的創(chuàng)建、修改和刪除

 更新時(shí)間:2016年04月14日 12:08:54   作者:xuzhengzhud  
MySQL 為關(guān)系型數(shù)據(jù)庫(kù)(Relational Database Management System), 本文給大家介紹MySQL入門(mén)教程(五)之表的創(chuàng)建、修改和刪除,需要的朋友一起學(xué)習(xí)吧

MySQL 為關(guān)系型數(shù)據(jù)庫(kù)(Relational Database Management System), 這種所謂的"關(guān)系型"可以理解為"表格"的概念, 一個(gè)關(guān)系型數(shù)據(jù)庫(kù)由一個(gè)或數(shù)個(gè)表格組成。

表是DB存儲(chǔ)數(shù)據(jù)的基本單位,一個(gè)表包含若干個(gè)字段或記錄。表的操作包括創(chuàng)建、修改和刪除。

  1、創(chuàng)建表

  創(chuàng)建表即在已存在的數(shù)據(jù)庫(kù)中創(chuàng)立新表。在使用USE語(yǔ)句選擇具體數(shù)據(jù)庫(kù)后,可以使用它SQL語(yǔ)句創(chuàng)建表

  其中,屬性名指表中字段的名稱(chēng),數(shù)據(jù)類(lèi)型即對(duì)應(yīng)字段的數(shù)據(jù)類(lèi)型,完整性約束條件指對(duì)應(yīng)字段的某些特殊約束條件。

  MySQL中基本的完整性約束條件有

  1.1 設(shè)置表的主鍵

  主鍵是表的一個(gè)特殊字段,該字段能唯一地表示該表中的每條信息,即主鍵如同表中記錄的身份證。主鍵的主要目的在于幫助MySQL以最快的速度查找表中的某一條信息。主鍵必須按滿(mǎn)足唯一性,表中任意提兩條記錄的主鍵字段的值不可相同,主鍵的值為非空值。主鍵可以是單一的字段也可以是多個(gè)字段的組合。

  對(duì)于單字段主鍵只要在創(chuàng)建表時(shí)使用下屬語(yǔ)句即可

  屬性名 數(shù)據(jù)類(lèi)型 PRIMARY KEY

  對(duì)于多字段主鍵,要在屬性定義完后統(tǒng)一設(shè)置主鍵,如

  即用stu_id和course_id兩個(gè)字段組合來(lái)唯一確定一條記錄。

  1.2 設(shè)置表的外鍵

  如果字段a是表A的屬性,且依賴(lài)于表B的主鍵,那么,稱(chēng)表B為父表,表A為子表,a為表A的外鍵。通過(guò)字段a將父表B和子表A建立了關(guān)聯(lián)關(guān)系,即外鍵的作用在于建立該表與其父表的關(guān)聯(lián)關(guān)系。當(dāng)父表中刪除某條信息時(shí),子表中與之對(duì)應(yīng)的信息也必須有相應(yīng)的改變,來(lái)保證信息的完整性。

  在創(chuàng)建表時(shí)的設(shè)置外鍵的基本語(yǔ)法為

  其中,外鍵別名指外鍵的代號(hào),屬性一列表指子表中設(shè)置的外鍵,屬性二列表指父表的主鍵,而表名指父表的名稱(chēng)。如


 注意,子表的外鍵關(guān)聯(lián)的必須是父表的主鍵,且數(shù)據(jù)類(lèi)型必須一致。

  1.3 設(shè)置表的非空約束

  非空性指字段的值不能為空值NULL?;菊Z(yǔ)法為

  屬性名 數(shù)據(jù)類(lèi)型 NOT NULL

  當(dāng)在有非空約束的字段上插入的記錄對(duì)應(yīng)該字段的值為空時(shí),系統(tǒng)將保存并不接受此次插入。

  1.4 設(shè)置表的唯一性約束

  唯一性是指所有記錄中該字段的值不可重復(fù)出現(xiàn)?;菊Z(yǔ)法為

  屬性名 數(shù)據(jù)類(lèi)型 UNIQUE

  1.5 設(shè)置表的屬性值自動(dòng)增加

  AUTO_INCREMENT是MySQL數(shù)據(jù)庫(kù)中的一個(gè)特殊約束條件,主要用于為表中插入的新紀(jì)錄自動(dòng)生成唯一的ID?;菊Z(yǔ)法為

  屬性名 數(shù)據(jù)類(lèi)型 AUTO_INCREMENT

  一個(gè)表只能有一個(gè)字段使用該約束,且該字段必須為主鍵的一部分,該字段可以是任何整數(shù)類(lèi)型。默認(rèn)情況下,該字段的值從1開(kāi)始自增。如果第一條記錄設(shè)置了該字段的初值,則后續(xù)新增加的記錄就從初值開(kāi)始自增。

  1.6 設(shè)置表的屬性的默認(rèn)值

  對(duì)于設(shè)定了默認(rèn)值的字段,在新插入記錄時(shí)如果沒(méi)有為這個(gè)字段賦值,則系統(tǒng)自動(dòng)為其賦予此默認(rèn)值?;菊Z(yǔ)法為

  屬性名 數(shù)據(jù)類(lèi)型 DEFAULT 默認(rèn)值

  2、查看表結(jié)構(gòu)

  查看表結(jié)構(gòu)指查看DB中已存在的表的定義,包括DESCRIBE語(yǔ)句和SHOW CREATE TABLE語(yǔ)句。

  2.1 DESCRIBE語(yǔ)句

  可查看表的基本定義,包括字段名、字段數(shù)據(jù)類(lèi)型、是否為主外鍵、默認(rèn)值和額外信息。

  基本語(yǔ)法為

  DESCRIBE 表名;

  2.2 SHOW CREATE TABLE語(yǔ)句

  可查看表的詳細(xì)定義,包括字段名、字段數(shù)據(jù)類(lèi)型、完整性約束條件等定義時(shí)的信息,以及默認(rèn)的存儲(chǔ)引擎和字符編碼。同樣可用\G結(jié)尾代替;使得顯示結(jié)果更美觀。

  3、修改表

  修改表是指修改數(shù)據(jù)庫(kù)中已存在的表的定義。

  通過(guò)Alter Table語(yǔ)句來(lái)修改表,包括修改表名、修改字段數(shù)據(jù)類(lèi)型、修改字段名、增加字段、刪除字段、修改字段的排列位置、更改默認(rèn)存儲(chǔ)引擎和刪除表的外鍵約束等。

  3.1 修改表名

  語(yǔ)法為

  ALTER TABLE 舊表名 RENAME [TO] 新表名;

  其中To是可選參數(shù),其是否在語(yǔ)句中出現(xiàn)不會(huì)影響語(yǔ)句的執(zhí)行。

  3.2 修改字段名

  基本語(yǔ)法為

  ALTER TABLE 表名 Change 舊屬性名 新屬性名 新數(shù)據(jù)類(lèi)型;

  如果只修改字段名不修改字段數(shù)據(jù)類(lèi)型,則保持新數(shù)據(jù)類(lèi)型與原來(lái)一致即可。

  3.3 修改字段的數(shù)據(jù)類(lèi)型

  基本語(yǔ)法為

  ALTER TABLE 表名 MODIFY 屬性名 新數(shù)據(jù)類(lèi)型;

  3.4 增加字段

  基本語(yǔ)法為

  ALTER TABLE 表名 ADD 屬性名1 數(shù)據(jù)類(lèi)型 [完整性約束條件] [FIRST | AFTER 屬性名2];

  其中FIRST為可選參數(shù),用于將新增字段設(shè)置為表的第一個(gè)字段,AFTER屬性名2也為可選參數(shù),用戶(hù)將新增字段放到屬性名2后面,如果這兩個(gè)可選參數(shù)都不選,新增字段將默認(rèn)放到表的最后一個(gè)字段。

  實(shí)際上,對(duì)于一個(gè)數(shù)據(jù)表而言,其中字段的排列順序?qū)Ρ聿粫?huì)有什么影響,只是對(duì)于創(chuàng)建的人來(lái)說(shuō),將有某種直接或間接聯(lián)系的字段放在一起,便于理解這個(gè)表的結(jié)構(gòu)。

  3.5 增加字段

  基本語(yǔ)法為

  ALTER TABLE 表名 DROP 屬性名;

  3.6 修改字段的排列位置

  基本語(yǔ)法為

  ALTER TABLE 表名 MODIFY 屬性名1 數(shù)據(jù)類(lèi)型 FIRST | AFTER 屬性名2;

  3.7 更改表的存儲(chǔ)引擎

  基本語(yǔ)法為

  ALTER TABLE 表名 ENGINE=新存儲(chǔ)引擎名;

  如果一個(gè)表中已經(jīng)存在了很多數(shù)據(jù),最好不要輕易更改其存儲(chǔ)引擎。

  3.8 刪除表的外鍵約束

  即斷開(kāi)表與其父表之間的關(guān)聯(lián)關(guān)系基本語(yǔ)法為

  ALTER TABLE 表名 DROP FOREIGN KEY 外鍵別名;

  4、刪除表

  刪除表會(huì)刪除表中的所有數(shù)據(jù),由于創(chuàng)建表時(shí)可能存在外鍵約束,一些表成為了與之關(guān)聯(lián)的表的父表,要?jiǎng)h除這些父表,情況比較復(fù)雜。

  4.1 刪除沒(méi)有被關(guān)聯(lián)的普通表

  基本語(yǔ)法為

  DROP TABLE 表名;

  4.2 刪除被關(guān)聯(lián)的父表

  此時(shí)由于有外鍵依賴(lài)于該表,用4.1的刪除語(yǔ)法會(huì)報(bào)錯(cuò)。

  刪除此類(lèi)父表一般有兩種方法:直接先將與之關(guān)聯(lián)的子表刪除再刪父表,或者先刪除子表的外鍵約束再刪父表,一般我們采取第二種方法。

相關(guān)文章

最新評(píng)論