MySQL 數(shù)據表基本操作

前面說過數(shù)據庫的相關操作,接下來是對表進行操作,對表進行操作的前提是進入到數(shù)據庫當中,因此需要先使用 USE 指定使用的某個數(shù)據庫。


使用數(shù)據庫

創(chuàng)建表

\color{#FF0000}{語法}

CREATE TABLE <表名> ([表定義選項]) [表選項] [分區(qū)選項];
  • CREATE TABLE 用于創(chuàng)建表的關鍵字
  • <表名>:指定要創(chuàng)建表的名稱(必須符合標識符命名規(guī)則),表名稱格式為 db_name.tbl_name(其中db_name是數(shù)據庫名稱,tbl_name是數(shù)據表的名稱),在當前數(shù)據庫中建表可省略數(shù)據庫的名字,例如 tbl_name
  • 表定義選項用于定義表中的各個字段信息,包括列名、數(shù)據類型、空值、默認值、完整性約束或表索引等

\color{#FF0000}{示例}

創(chuàng)建表 user

修改表

有時候創(chuàng)建表的時候,我們可能會忘掉了某個字段或者寫錯了數(shù)據類型,這個時候就可以通過下面的命令來修改表結構、表名稱等
\color{#FF0000}{語法}

ALTER TABLE <表名> [修改選項]

其中修改選項如下:

ADD COLUMN <列名> <類型>  # 添加新列
CHANGE COLUMN <舊列名> <新列名> <新列類型> <位置>  # 列重命名、改變數(shù)據類型和位置移動
MODIFY COLUMN <列名> <類型>  # 改變類型和位置移
ALTER COLUMN <列名> { SET DEFAULT <默認值> | DROP DEFAULT }  # 給某列刪除或者添加默認值
DROP COLUMN <列名>  # 刪除某列
RENAME TO <新表名>  # 表重命名
CHARACTER SET <字符集名>  # 修改表字符集
COLLATE <校對規(guī)則名>  # 修改表校對規(guī)則

\color{#FF0000}{示例}

修改表名:

ALTER TABLE <舊表名> RENAME [TO] <新表名>;
修改表名稱

修改表字符集和校對規(guī)則

ALTER TABLE 表名 [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校對規(guī)則名>;
image.png

查看表

\color{#FF0000}{語法}

以表格形式展示表結構

DESCRIBE <表名>; #
DESC <表名>;  # 上一行代碼的簡寫

以SQL語句的形式展示表結構

SHOW CREATE TABLE <表名>;  # 可以通過 \g 或者 \G 控制格式,此時不需要加分號 ;

兩者區(qū)別

SHOW CREATE TABLE 展示的內容更加豐富,它可以展示出表的存儲引擎和字符編碼;
\color{#FF0000}{示例}

以表格形式展示表結構

以SQL語句的形式展示表結構

刪除表

\color{#FF0000}{語法}

DROP TABLE [IF EXISTS] 表名1 [ ,表名2, 表名3 ...]
  • IF EXISTS 用于在刪除數(shù)據表之前判斷該表是否存在。如果不加 IF EXISTS,當數(shù)據表不存在時 MySQL 將提示錯誤,中斷 SQL 語句的執(zhí)行;加上 IF EXISTS 后,當數(shù)據表不存在時 SQL 語句可以順利執(zhí)行,但是會發(fā)出警告。
  • 表名1 [ ,表名2, 表名3 ...] 表示要被刪除的數(shù)據表的名稱。DROP TABLE 可以同時刪除多個表,只要將表名依次寫在后面,相互之間用逗號隔開即可。
  • 刪除時用戶必須有刪除權限并且刪除表后,用戶在該表上的權限不會自動刪除。

\color{#FF0000}{示例}
該數(shù)據庫中只有一張表,因此刪除之后在查看時,數(shù)據庫為空

刪除數(shù)據表

刪除表時可能遇到的問題

一、刪除被其他表關聯(lián)的主表(兩種方案)

  • 方案一:刪除字表,在刪除父表,缺點是刪除數(shù)據過多
  • 方案二:取消關聯(lián),在刪除父表
    刪除關聯(lián)的語句如下:
ALTER TABLE 字表 DROP FOREIGN KEY 子表中與父表關聯(lián)的字段;

表字段的操作

上面的都是整體對表結構的設計,設計好之后難免會遇到增加,刪除字段的操作,所以下面介紹的是表字段的 增刪改查 操作

增加字段

\color{#FF0000}{語法}

ALTER TABLE <表名> ADD <新字段名><數(shù)據類型> [約束條件];  # 在末尾增加字段
ALTER TABLE <表名> ADD <新字段名> <數(shù)據類型> [約束條件] FIRST;  # 在開頭增加字段
ALTER TABLE <表名> ADD <新字段名> <數(shù)據類型> [約束條件] AFTER <已經存在的字段名>;  # 在已存在的字段名后添加
  • <表名> 為數(shù)據表的名字;
  • <新字段名> 為所要添加的字段的名字;
  • <數(shù)據類型> 為所要添加的字段能存儲數(shù)據的數(shù)據類型;
  • [約束條件] 是可選的,用來對添加的字段進行約束。
    \color{#FF0000}{示例}
    先查看表結構,然后增加 age 字段,最后在查看增加后的表結構
    向表中增加字段

查看字段

\color{#FF0000}{語法}


\color{#FF0000}{示例}

修改字段

\color{#FF0000}{語法}

修改表名稱和數(shù)據類型

ALTER TABLE <表名> CHANGE <舊字段名> <新字段名> <新數(shù)據類型>;
  • <舊字段名>:指修改前的字段名;
  • <新字段名>:指修改后的字段名;
  • <新數(shù)據類型>:指修改后的數(shù)據類型,可以將新數(shù)據類型設置成與原來一樣

僅修改數(shù)據類型

ALTER TABLE <表名> MODIFY <字段名> <數(shù)據類型>
  • <表名>:指要修改數(shù)據類型的字段所在表的名稱;
  • <字段名>:指需要修改的字段;
  • <數(shù)據類型>:指修改后字段的新數(shù)據類型
    \color{#FF0000}{示例}
    修改name的數(shù)據類型

刪除字段

\color{#FF0000}{語法}

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

\color{#FF0000}{示例}
刪除表中的 age 字段

刪除字段

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容