create創建數據庫表
創建數據庫表太常用了,只要用到數據庫,我們就會用到創建數據庫表,我們用create 語句來創建,看下面語法:
create table tbl_name(create_definition,...) [type =table_type]
create_definition:col_name type [not null | null][default default_value] [auto_increment][primary_key]
create table是固定的關鍵字,後面緊跟要創建的表的名稱,括號裡面是字段的內容,內容可選有:是否為空,是否有默認值,是否為主鍵,是否自增長等等,例如:
create table test01_02(id varchar(50) not null auto_increment primary key,
name nvarchar(40) null default "002",
age int(5)null default 444);
select創建數據庫表
創建數據庫表有多種方式,上面講了一種,我們再看另外一種常用的,用select 語句來創建,看下面語法:
create table tb_new_name select * from tb_old_name;
上述語句表示,從後者的表中復制一份,添加到新的數據庫表中,前面是新的數據庫表,之前是不存在的。例如:
create table test01_03 select * from test01_01;
顯示數據庫表信息
有時候我們需要查看某個數據庫表的相關信息,比如結構,列名等等;那麼我們就需要用到show/describe 語句來查看,看下面語法:
show tables [from db_name] [like wild]
show columns from tbl_name [from db_name] [like wild]
show index from tbl_name [from db_name]
show table status [from db_name] [like wild]
{describe| desc} tbl_name {col_name | wild}
第一種語法表示:查看某個數據庫下的所有數據庫表,或者根據like模糊查看某個數據庫表;例如
show tables from test01;
show tables from test01 like "%a%";
第二種語法表示:查看某個數據庫表中的列屬性,like後面跟的是列的名稱的某個關鍵字;例如
show columns from test01_01;
show columns from test01_01 from test01 like "%n%";
第三種語法表示:查看某個數據庫表中的索引;例如
show index from test01_01 from test01;
第四種語法表示:查看數據庫中全部表或者某個表的狀態信息,信息提供的更多;例如
show table status from test01;
show table status from test01 like "%t%";
第五種語法表示:查看數據庫表的信息,是show的另外一種方式;例如
desc test01_01;
describe test01_01 "%n%";
alter修改表結構
有時你可能需要改變一下現有表的結構,那麼alter table語句將是你的合適選擇。
增加列
alter table tbl_name add col_name type
例如增加一個weight列:
alter table test01_01 add weight int;
修改列
alter table test01_01 modify weight varchar(50);
刪除列
alter table test01_01 drop weight;
另外一種常用方式,例如:
給列更名
alter table test01_01 change weight wei int;
給表更名
alter table test01_01 rename test01_04;
drop刪除數據庫表
drop table刪除一個或多個數據庫表。所有表中的數據和表定義均被刪除,故小心 使用這個命令! 在MySQL 3.22或以後版本,你可以使用關鍵詞 if exists 類避免不存在表的一個錯 誤發生。語法如下:
drop table [if exists] tbl_name [, tbl_name,...]
例如刪除test01_04這個表,要刪除多個表,在後面用逗號隔開即可。例句:
drop table if exists test01_04;