Mysql數(shù)據(jù)表的基本操作

所謂創(chuàng)建數(shù)據(jù)表,指的就是在已經(jīng)創(chuàng)建好的數(shù)據(jù)庫(kù)中建立新表。創(chuàng)建數(shù)據(jù)表的過程是規(guī)定數(shù)據(jù)列的屬性的過程,同時(shí)也是實(shí)施數(shù)據(jù)完整性(實(shí)體完整性,引用完整性,域完整性)約束的過程。

1.創(chuàng)建數(shù)據(jù)表:
注意:數(shù)據(jù)表屬于數(shù)據(jù)庫(kù),在創(chuàng)建數(shù)據(jù)表之前應(yīng)該先使用“use <數(shù)據(jù)庫(kù)名>”指定操作在哪個(gè)數(shù)據(jù)庫(kù)中進(jìn)行。

CREATE TABLE<表名>   //表名不區(qū)分大小寫,但不能使用SQL語(yǔ)言中關(guān)鍵字
(
    字段名1,數(shù)據(jù)類型[列級(jí)別約束條件](默認(rèn)值),
    字段名2,數(shù)據(jù)類型[列級(jí)別約束條件](默認(rèn)值),
    ......
    [表級(jí)別約束條件]
);

2.使用主鍵約束:

主鍵又稱主碼,是表中一列或多列的組合。主鍵約束要求主鍵列的數(shù)據(jù)唯一,并且不能為空。主鍵能夠惟一地標(biāo)識(shí)表中的一條記錄,加快了數(shù)據(jù)庫(kù)查詢的速度,主鍵和記錄之間是一一對(duì)應(yīng)的,主鍵分為兩種類型:?jiǎn)巫侄沃麈I和多字段主鍵。

  • 單字段主鍵:
字段名 數(shù)據(jù)類型 PRIMARY KEY [默認(rèn)值]
  • 多字段聯(lián)合主鍵:
PRIMARY KEY [字段1,字段2,...字段n]

3.使用外鍵約束:

外鍵用來在兩個(gè)表的數(shù)據(jù)之間建立鏈接,可以是一列或者多列。一個(gè)表可以有一個(gè)或多個(gè)外鍵。外鍵的主要作用是保證數(shù)據(jù)引用的完整性,定義外鍵后不允許刪除在另一個(gè)表中具有關(guān)聯(lián)關(guān)系的行。(子表的外鍵必須關(guān)聯(lián)父表的主鍵,且關(guān)聯(lián)字段的數(shù)據(jù)類型必須匹配)

[CONSTRAINT <外鍵名>]FOREIGN KEY 字段名1[,字段名2,...]
    REFERENCES<主表名> 主鍵列1[,主鍵列2....]

4.使用非空約束:

非空約束指字段的值不能為空。

字段名 數(shù)據(jù)類型 NOT NULL

5.使用唯一性約束:

字段名 數(shù)據(jù)類型 UNIQUE

"unique"和"primary key"的區(qū)別:一個(gè)表中可以有多個(gè)字段聲明為unique,但只能有一個(gè)primary key聲明;聲明為primary key 不可以有空值,但聲明為unique字段允許有空值。
6.使用默認(rèn)約束:

字段名 數(shù)據(jù)類型 DEFAULT 默認(rèn)值

7.設(shè)置表的屬性值自動(dòng)添加:

字段名 數(shù)據(jù)類型 AUTO_INCREMENT

8.查看所有數(shù)據(jù)表:

SHOW TABLES;        //顯示某數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)表

9.查看表結(jié)構(gòu):

DESCRIBE 表名;   //或者簡(jiǎn)寫為:DESC 表名;

10.查看表詳細(xì)結(jié)構(gòu):

SHOW CREATE TABLE <表名\G>

11.修改表名:

ALTER TABLE <舊表名> RENAME <新表名>;

12.修改字段的數(shù)據(jù)類型:

ALTER TABLE <表名> MODIFY<字段名> <數(shù)據(jù)類型>; //字段名為要修改的字段,數(shù)據(jù)類型為修改后新的

13.修改字段名:

ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數(shù)據(jù)類型>;

14.添加字段:

ALTER TABLE <表名> ADD <新字段名> <數(shù)據(jù)類型> [約束條件] [FIRST|AFTER 已存在字段名]

注:"first"是在表的第一列添加字段;"after 已存在字段名" 是在指定位置后面添加字段。//若是要修改字段的排列位置,則是把ADD換成MODIFY即可。
15.刪除字段:

ALTER TABLE <表名> DROP <字段名>;

16.刪除表的外鍵約束:

ALTER TABLE <表名> DROP FOREIGN KEY <外鍵約束名>;

17.刪除沒有被關(guān)聯(lián)的表:

DROP TABLE [IF EXIST] 表1,表2....;

18.刪除被其他表關(guān)聯(lián)的表:

ALTER TABLE <表名> DROP FOREIGN KEY <外鍵約束名>; //先刪除關(guān)聯(lián)子表的外鍵約束
DROP TABLE 表1,表2,....;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容