MySQL添加列、刪除列,建立主鍵等經常使用操做總結

一. 列經常使用操做

① 添加新的一列test_column,並將其做爲主鍵,FIRST將其放在表中第一行,auto_increement是自動增加mysql

alter table test_table add column test_column int not null auto_increment FIRST add primary key(test_column);
  • 1

 

可使用SQL語句「alter table ai3 add id0 int  auto_increment primary key first;」來添加主鍵列。可使用SQL語句「alter table ai4 modify id int auto_increment primary key;」來修改主鍵列。sql



② 刪除列索引

 

alter table test_table drop column test_column;
  • 1

③ 修改某一列的字段長度(例如原本是30字節改成50字節長)rem

alter table test_table modify column test_column varchar(50);
  • 1

④ 徹底修改某一列(假設本來列名是test1_column,類型是int)innodb

alter table test_table change column test1_column test_column varchar(30);
  • 1

⑤ 僅僅想重命名某一列(首先須要瞭解這一列的類型,假如本來是int且不爲空,列名是error_name_column)table

alter table test_table change column error_name_column test_column int not null;
  • 1

二. 針對表的多數操做

① 修改指定表的存儲引擎,假設本來是MYISAMclass

alter table test_table engine=innodb;
  • 1

② 刪除指定表的主鍵test

alter table test_table drop primary key;
  • 1

這裏有個狀況須要指出,若是該主鍵列是自動增加(auto_increment)的,由於mysql要求自動增加列必須是索引,因此刪除主鍵也就刪除了主鍵索引,這是不符合mysql要求的,是沒法實現的,會報錯,必須先刪除自動增加(經過修改列屬性),後刪除主鍵im

③ 爲指定表添加主鍵error

alter table test_table add primary key(test_column);
  • 1

④ 爲指定表添加索引(普通索引),test_index是索引名

alter table test_table add index test_index(test_column);
  • 1

⑤ 刪除指定表索引

alter table test_table drop index test_index;
  • 1

⑥ 重命名錶

alter table test_table rename new_name_table;

 

 



 

 

若是想在一個已經建好的表中添加一列,能夠用諸如:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null;

這條語句會向已有的表中加入新的一列,這一列在表的最後一列位置。若是咱們但願添加在指定的一列,能夠用:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null after COLUMN_NAME;

注意,上面這個命令的意思是說添加新列到某一列後面。若是想添加到第一列的話,能夠用:

alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null first;

相關文章
相關標籤/搜索