【MySQL-手記】數據表的修改(添加/刪除數據表,添加/刪除約束)


【添加/刪除數據表】

----------------------------------------------------------------------------------------------------------------------------------------------------------

ALTER TABLE users ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;//添加單列


ALTER TABLE users ADD password VARCHAR(30) NOT NULL AFTER username ;//添加有序單列


ALTER TABLE users ADD truename VARCHAR(30) NOT NULL FIRST ;//添加有序單列


ALTER TABLE users DROP truename;      //刪除單列


ALTER TABLE users DROP password,DROP age;      //刪除多列


----------------------------------------------------------------------------------------------------------------------------------------------------------

【添加/刪除約束】

----------------------------------------------------------------------------------------------------------------------------------------------------------

添加主鍵約束

創建一個users2表格。
CREATE TABLE users2(
username VARCHAR(20) NOT NULL,
pid SMALLINT UNSIGNED
);



先增加一個新列: ALTER TABLE users2 ADD id SMALLINT UNSIGNED FIRST;


爲新增ID添加主鍵約束:ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);

刪除主鍵約束:

ALTER TABLE users2 DROP PRIMARY KEY;


添加唯一約束

爲usename添加唯一約束:ALTER TABLE users2 ADD UNIQUE (username);


刪除唯一約束前先查看,哪些字段有約束,刪除的是約束而不是字段!!!

SHOW INDEXES FROM users2;//查看索引


ALTER TABLE users2 DROP INDEX  username;


添加外鍵約束

給pid添加外鍵約束,已知外鍵列父表的結構:

ALTER TABLE user2 ADD FOREIGN KEY (pid) REFERENCES provinces(id);


刪除外鍵約束,先查看:SHOW CREATE TABLE users2;


ALTER TABLE users2 DROP FOREIGN  KEY users2_ibfk_1;    //刪除之後,查看下


添加/刪除默認約束

新建一個字段age,給age添加默認約束


ALTER TABLE users2 ALTER age SET DEFAULT 15;



刪除默認約束:

ALTER TABLE users2 ALTER age DROP DEFAULT;


——————————————————————————————————————————

//添加唯一約束
ALTER TABLE getUserImage ADD UNIQUE (openID );
//修改數據表字段的名稱
alter table getUserImage change province region varchar(60);

//修改數據庫格式
alter database weixin_getUserImage character set utf8; 
//修改數據表編碼
 ALTER TABLE  getUserImage DEFAULT CHARACTER SET utf8;
//該命令用於將表中字段的編碼方式改爲utf8
ALTER TABLE getUserImage CHANGE sex sex VARCHAR(10) CHARACTER SET utf8 NOT NULL; 


發佈了49 篇原創文章 · 獲贊 59 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章