【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; **
还没有评论,来说两句吧...