【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; 


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值