欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-04 09:49:18
...

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

【添加/删除数据表】

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

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

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

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

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

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

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

ALTER TABLE users DROP truename;      //删除单列

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

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

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

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

【添加/删除约束】

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

添加主键约束

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

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

先增加一个新列: ALTER TABLE users2 ADD id SMALLINT UNSIGNED FIRST;
【MySQL-手记】数据表的修改(添加/删除数据表,添加/删除约束)

为新增ID添加主键约束:ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);【MySQL-手记】数据表的修改(添加/删除数据表,添加/删除约束)

删除主键约束:

ALTER TABLE users2 DROP PRIMARY KEY;

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

添加唯一约束

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

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

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

SHOW INDEXES FROM users2;//查看索引

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

ALTER TABLE users2 DROP INDEX  username;

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

添加外键约束

给pid添加外键约束,已知外键列父表的结构:【MySQL-手记】数据表的修改(添加/删除数据表,添加/删除约束)

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

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

删除外键约束,先查看:SHOW CREATE TABLE users2;

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

ALTER TABLE users2 DROP FOREIGN  KEY users2_ibfk_1;    //删除之后,查看下

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

添加/删除默认约束

新建一个字段age,给age添加默认约束
【MySQL-手记】数据表的修改(添加/删除数据表,添加/删除约束)

ALTER TABLE users2 ALTER age SET DEFAULT 15;

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


删除默认约束:

ALTER TABLE users2 ALTER age DROP DEFAULT;

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

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

//添加唯一约束
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;