Mysql 數據庫之修改標的結構

好比咱們新建一user表mysql

create table user(sql

id int unsigned auto_increment primary key,數據庫

name varchar(60) not null default '',spa

password varchar(60) not null default '')engine=innodb charset=utf8;3d

 

新建到以下表結構: desc user;blog

 

對於mysql 中的表結構的修改(增刪改),咱們須要記住格式rem

alter table 表名 操做名稱(add/drop/modify/change) [+對應的格式]; // ①innodb

 

// 增長列 add columntable

需求:在user表中添加用戶郵箱 email(在name字段後) / 登陸次數 login_countemail

   建立時間 create_at 在 login_count 以前

操做:

alter table user add email varchar(120) not null default '' after name;

alter table user add login_count int not null default 0;

 

alter table user add create_at int(10) not null default 0 before login_count; // 這個是錯誤的

alter table user add create_at int(10) not null default 0 after password;// 新增字段只有在某個字段以後,且這個關鍵字是after,沒有before這個關鍵字

 

// 刪除列 drop column

需求:刪除login_count列

操做:

alter table user drop login_count;

需求:刪除自增加的字段id的主鍵

1.修改id:  alter table user change id id int not null;

只是修改了自增加,可是仍是沒有刪掉主鍵

2.刪除主鍵: alter table user drop primary key;

 

mysql的主鍵問題:

Mysql的兩種主鍵。Primary keynot null auto_incriment 在創建mysql表時,給一個字段添加了主鍵primary key 在insert數據時能夠不用insert主鍵,mysql會自動添加0,可是在第二次insert時沒有填寫值mysql數據庫仍是默認添加0,會致使有重複的主鍵,這是不能夠的。全部在定義了primary key時,在insert數據時要給主鍵填寫值。

在創建mysql表時,給一個字段添加了主鍵 not null auto_increment;
這也是一個主鍵。時自增加的以1爲開始。這個字段是能夠不用填寫值的,mysql數據庫會自動給填寫值,不會出現primary key的情況。

 

要給沒有添加主鍵自增的id添加主鍵自增

alter table tb add primary key(id);
alter table tb change id id int(10) not null auto_increment;// 而不是 alter table tb change id id int(10) not null auto_increment=1;(這個是錯誤的)

 

通過這裏的分析,最好的辦法也是一個很好的習慣,咱們在建立表的時候就把主鍵自增設定好。

 

// 修改列 modify(修改某列的屬性) change(徹底修改某列)

需求:修改 create_at 列的類型爲 timestamp 而且默認值是 '0000-00-00 00:00:00';

操做:

alter table user modify create_at timestamp not null default '0000-00-00 00:00:00';

 

需求:把name列修改成username列

操做:

alter table user change name username varchar(60) not null default '';

 

// 查詢列

需求:查詢user表全部信息 

操做:desc user;

     show columns from user;

以上,效果同。

 

需求:查看錶的建立的代碼

操做:show create table user;

 

複習用!

相關文章
相關標籤/搜索