第三章 第二节:修改数据表——ALTER(二) 修改约束
来源:互联网 发布:辐射3 mac 中文版 编辑:程序博客网 时间:2024/06/07 16:56
增加主键
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_of_name,...);
增加表users2,属性id,username,pid,age
mysql> CREATE TABLE users2(
->id TINYINT UNSIGNED NOT NULL,
-> username VARCHAR(10) NOT NULL,
-> pid SMALLINT UNSIGNED
-> username VARCHAR(10) NOT NULL,
-> pid SMALLINT UNSIGNED
->age TINYINT UNSIGNED NOT NULL,
-> );
-> );
为id列增加主键,命名为PK_users2_id
ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY(id);
添加唯一约束
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] UNIQUE[INDEX|KEY] [index_name] [index_type] (index_col_name,...);
为username添加唯一约束
ALTER TABLE users2 ADD UNIQUE (username);
SHOW CREATE TABLE users2;
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| users2 | CREATE TABLE `users2` (
`username` varchar(10) NOT NULL,
`pid` smallint(5) unsigned default NULL,
`id` smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (`id`), //主键
UNIQUE KEY `username` (`username`)//唯一约束
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table | Create Table |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| users2 | CREATE TABLE `users2` (
`username` varchar(10) NOT NULL,
`pid` smallint(5) unsigned default NULL,
`id` smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (`id`), //主键
UNIQUE KEY `username` (`username`)//唯一约束
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
添加外键
ALTER TABLE tb_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] (index_col_name,...)reference_definition
参照表provinces的主键id,添加外键
mysql> SHOW COLUMNS FROM provinces;
+-------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| pname | varchar(20) | NO | | NULL | |
+-------+----------------------+------+-----+---------+----------------+
+-------+----------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+----------------------+------+-----+---------+----------------+
| id | smallint(5) unsigned | NO | PRI | NULL | auto_increment |
| pname | varchar(20) | NO | | NULL | |
+-------+----------------------+------+-----+---------+----------------+
ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES provinces(id);
添加/删除默认约束
ALTER TABLE tb_name ALTER [COLUMN] col_name{SET DEFAULT literal | DROP DEFAULT}
为age添加默认值15
ALTER TABLE users2 ALTER age SET DEFAULT 15;
删除age默认值15
ALTER TABLE users2 ALTER age DROP DEFAULT;
阅读全文
0 0
- 第三章 第二节:修改数据表——ALTER(二) 修改约束
- 第三章 第二节:修改数据表——ALTER(三) 删除约束
- 第三章 第二节:修改数据表——ALTER(四) 修改列定义和数据表更名
- 第三章 第二节:修改数据表——ALTER (一)ADD、DROP
- MySQL ——约束以及修改数据表
- 约束及修改数据表
- 约束和修改数据表
- 约束以及修改数据表
- 约束以及修改数据表
- Oracle ALTER 语句修改数据表
- MySQL数据库学习——约束与数据表修改
- MySQL入门3——约束及修改数据表
- 后台学习之路(二)mysql 约束和修改数据表
- MySQL 约束和修改数据表
- mysql约束和修改数据表
- MySQL 修改数据表--删除约束
- MySQL之约束、修改数据表
- 使用alter table命令修改数据表
- linux SFTP 配置
- Spark数据结构优化
- jmeter-线程组
- 题目206-矩形的个数
- 简单说明gcc和arm-linux-gcc的区别
- 第三章 第二节:修改数据表——ALTER(二) 修改约束
- NYOJ 128 前缀式计算
- C++中clock用法
- 0809JQuery Radio check
- 我的秋招经历(已完结)
- Oracle 树操作、递归查询
- Spring MVC 以.html为后缀名访问获取数据,报406 Not Acceptable错误。
- Javascript中的对象和原型
- QT 自定义窗口形状的图片查看器