最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

[MySQL]管理表和索引的相關語句_MySQL

來源:懂視網(wǎng) 責編:小采 時間:2020-11-09 18:47:05
文檔

[MySQL]管理表和索引的相關語句_MySQL

[MySQL]管理表和索引的相關語句_MySQL:bitsCN.com [MySQL]管理表和索引的相關語句 1. 創(chuàng)建表MySQL中創(chuàng)建表是通過create table語句實現(xiàn)的,語法這里就不介紹了,非常復雜,可以去官網(wǎng)上查詢,所幸的是,我們并不需要記住所有的選項,因為大部分都采用默認即可,下面介紹幾個比較常用的選項。1)指
推薦度:
導讀[MySQL]管理表和索引的相關語句_MySQL:bitsCN.com [MySQL]管理表和索引的相關語句 1. 創(chuàng)建表MySQL中創(chuàng)建表是通過create table語句實現(xiàn)的,語法這里就不介紹了,非常復雜,可以去官網(wǎng)上查詢,所幸的是,我們并不需要記住所有的選項,因為大部分都采用默認即可,下面介紹幾個比較常用的選項。1)指

bitsCN.com

[MySQL]管理表和索引的相關語句

1. 創(chuàng)建表

MySQL中創(chuàng)建表是通過create table語句實現(xiàn)的,語法這里就不介紹了,非常復雜,可以去官網(wǎng)上查詢,所幸的是,我們并不需要記住所有的選項,因為大部分都采用默認即可,下面介紹幾個比較常用的選項。

1)指定存儲引擎

默認的存儲引擎由default-storage-engine指定,如果沒有指定,則為MyISAM,如果建表時,你不想使用默認的存儲引擎,可以通過如下語句實現(xiàn):

[sql]

create table table_name ( ... ) engine=engine_name;

2)只有當表不存在時才創(chuàng)建

[sql]

create table if not exist table_name ... ;

上述語句表示:如果表已存在,則跳過;否則創(chuàng)建新表。

3)創(chuàng)建臨時表

MySQL的臨時表有如下特性:

- 臨時表只在創(chuàng)建該表的會話里是可見的,對其它會話是隱藏的,會話斷開后,臨時表自動被刪除。

- 當臨時表的表名和普通表一樣時,當前會話將會優(yōu)先訪問臨時表。

臨時表的語法如下:

[sql]

create temporary table temp_table_name ... ;

4)從其它表中創(chuàng)建新表

MySQL提供兩種方式從其它表中創(chuàng)建新表:

- create table ... like:創(chuàng)建一個新表為原表的空白副本,也就是說,新表是一個空表,但它擁有原表所有的屬性、索引、約束等(這個語法很有用,Oracle就沒有類似的功能),其用法如下:

[sql]

create table new_table_name like old_table_name;

insert into new_table_name select * from old_table_name;

- create table ... select: 不會復制所有的數(shù)據(jù)列屬性(保留下來的屬性有:字符集、NOLL or NOT NULL,默認值,注釋),不帶索引,不包含約束。

2. 刪除表

相比于創(chuàng)建表,刪除表就簡單多了。

1)刪除普通表

[sql]

drop table table_name;

2)刪除臨時表

[sql]

drop temporary table table_name;

3)表存在才刪除

[sql]

drop table if exists table_name;

3. 創(chuàng)建索引

你可以使用和Oracle類似的create index語句重建索引,也可以使用MySQL獨有的alter table語句添加索引,在MySQL里,建議用alter table語句,因為它更靈活多能,如:

[sql]

alter table tbl_name add index index_name (index_cols);

alter table tbl_name add unique index_name(index_cols);

alter table tbl_name add primary key(index_cols);

alter table tbl_name add full text index_name(index_cols);

alter table tbl_name add spatial index_name(index_cols);

其中,primary key和spatial索引要求索引列必須為NOT NULL,index_name可省略,一般不建議省略,如果省略,系統(tǒng)會自動取個名字。

該語句支持在一個alter table語句添加多個索引,這樣更靈活。

在創(chuàng)建表時,也可以同時創(chuàng)建索引,如:

[sql]

create table tbl_name

(

...

index index_name (index_cols),

primary key (index_cols),

unique (index_cols),

...

);

4. 刪除索引

和創(chuàng)建索引類似,刪除索引可以用drop index或alter table語句完成,如:

[sql]

drop index index_name on tbl_name;

drop index `primary` on tbl_name;

alter table tbl_name drop index index_name;

alter table tbl_name drop primary index;

5. 改變表結(jié)構(gòu)

1)改變列的數(shù)據(jù)類型

如果你想改變列的數(shù)據(jù)類型,可以使用change或modify字句,如下所示:

[sql]

alter table tbl_name modify col_name mediumint unsigned;

alter table tbl_name change old_col_name new_col_name mediumint unsigned;

從上面可以知道,change功能更強大,它不但能夠改變列的數(shù)據(jù)類型,還可以重命名列,但是它比較麻煩的一點是即時不想重命名,也要把列名寫兩遍。

2)改變表的存儲引擎

[sql]

alter table tbl_name engine=engine_name;

3)重命名表

重命名表可以使用alter table ... rename to 或rename table,如:

[sql]

alter table tbl_name rename to new_tbl_name;

rename table tbl_name to new_tbl_name;

alter table ... rename每次只能重命名一張表,而rename table可以重命名多張表,如:

[sql]

rename table t1 to new_t1, t2 to t1;

如果在表名前加上前綴,可以把一個表從一個數(shù)據(jù)庫遷移到另一個數(shù)據(jù)庫。

bitsCN.com

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

[MySQL]管理表和索引的相關語句_MySQL

[MySQL]管理表和索引的相關語句_MySQL:bitsCN.com [MySQL]管理表和索引的相關語句 1. 創(chuàng)建表MySQL中創(chuàng)建表是通過create table語句實現(xiàn)的,語法這里就不介紹了,非常復雜,可以去官網(wǎng)上查詢,所幸的是,我們并不需要記住所有的選項,因為大部分都采用默認即可,下面介紹幾個比較常用的選項。1)指
推薦度:
標簽: 語句 mysql 表的
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top