MySQL-表結構(二)

數據庫的表結構

本文對MySQL的數據定義語言(DDL)學習,DDL中比較常用的有create(創建),show(查),alter(修改),drop(刪除),實現對錶結構的增刪改查

創建表

下面是例子的表結構,其中就是用到了create(創建)關鍵字

create table me(
id int unsigned auto_increment,
name varchar(20) not null comment '姓名',
phone varchar(20) comment '手機號',
site varchar(20) default '地址不詳'comment '地址',
primary key(id)
);

查詢表

使用上面的例子

show tables;               #查詢數據庫所有的表
desc me;                   #查詢表結構
show create table me\G     #查詢表結構所使用的語法

修改表名

對例子的表名進行修改使用alter(修改)關鍵字
將me表名修改爲message表名
修改表名的格式爲alter table <舊錶名> rename to <新表明>;

alter table me rename to message;

添加新列

如果我們要對上面的例子添加列,我們需要使用alter(修改)關鍵字,添加列的位置無非有兩種首列(first)以及非首列(after)。

爲整個表第一列之前添加列,使用first,我們來添加一個學號(number)的列
添加首列的格式爲alter table <表名> add <新列名> <數據類型> <約束條件> <其他> first;
其中新列名後面的參數根據自己的需求選擇加與不加

alter table message add numer int not null commment '學號' first;

爲非首列添加列,使用after,此處我們給phone(手機號)列後面添加一個score(成績)列
添加非首列格式爲alter table <表名> add <新列名> <數據類型> <約束條件> <其他> after <需要在那個列後面添加列的列名>;
此處成績我採用varchar是因爲我使用的默認值爲varchar型的’不及格’,只是爲其演示

alter table message add score varchar(4) default '不及格' comment '成績' after phone;

修改列名

此處我們將score(成績)列名修改成java列名,並把數據類型修改成tinyint
修改列名格式爲alter table <表名> change <舊列名> <新列名> <新數據類型>;
數據類型不可省略

alter table message change score java tinyint;

修改列的數據類型

我們將上面添加的學號列的數據類型修改成varchar類型
修改列的數據類型格式爲alter table <表名> modify <列名> <數據類型>;

alter table message modify number varchar(20);

修改列的排序位置

將name(姓名)列排到首列
格式爲alter table <表名> modify <列名> <數據類型> first;
此處的雖然是換行但數據類型不可省略

alter table message modify name varchar(20) first;

將name(姓名)列排在java列後面
格式爲alter table <表名> modify <列名> <數據類型> after <需要排在那個列名後面>;
此處數據類型不可省略

alter table message modify name varchar(20) after java;

刪除列

將number(學號)列刪除
刪除列的格式爲alter table <表名> drop <需要刪除的列名>;

alter table message drop number;

刪除數據庫表

此處我們需要用到drop(刪除)關鍵字
我們將整個message表刪除
刪除表的格式爲drop table <表名>;
下面刪除語句中的if exists可有可無,這句是判斷數據庫中是否存在此表,有的話刪除,沒的話不報錯

drop table if exists message;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章