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

来源:互联网 发布:广告法淘宝处罚案例 编辑:程序博客网 时间:2024/06/05 05:33


【添加/删除数据表】

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

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; 


1 0
原创粉丝点击