您的位置:首页 > 数据库 > MySQL

【MySQL-手记】数据表的修改(添加/删除数据表,添加/删除约束)

2017-04-30 12:57 911 查看




【添加/删除数据表】
----------------------------------------------------------------------------------------------------------------------------------------------------------
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; 


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql mysql性能优化
相关文章推荐