一、约束:
保证数据完整性和一致性
表级约束和列级约束
- not null(非空约束)
- primary key(主键约束)
- unique key(唯一约束)
- default(默认约束)
- foreign key(外键约束)
外键约束的例子:
mysql> use text;
Database changed
mysql> create table provinces(
-> id smallint unsigned primary key AUTO_INCREMENT,
-> pname varchar(20) not null
-> );
Query OK, 0 rows affected
mysql> show create table provinces;
mysql> create table users(
-> id smallint unsigned primary key auto_increment,
-> username varchar(10) not null,
-> pid smallint unsigned ,
-> FOREIGN KEY(pid)REFERENCES provinces (id) //on delete CASCADE 这里增添就是外键约束参照 看情况添加
-> );
Database changed
二、mysql修改列定义
ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]
eg:
ALTER TABLE tbl_name MODIFY id TINYINT NOT NULL FIRST;将id字段改为首字段
修改列名称
ALTER TABLE tbl_name CHANGE [COLUMN] old_col_name new_col_name column_definition [FIRST|ALTER col_name]即可以改列名称也可以改列定义
eg:
ALTER TABLE user CHANGE pid p_id TINYINT UNSIGNED NOT NULL; 将pid字段名称更改为p_id,并将其类型更改为TINYINT
数据表更名
方法一:
ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name
eg:
ALTER TABLE users2 RENAME users3;将数据表名称更改为user3
方法二
RENAME TABLE tbl_name TO new_tbl_name [,tbl_name2 TO new_tbl_name2] ....可以为多张数据表进行更名
eg:
RENAME TABLE users2 TO users3;
尽量少进行数据表更名或者数据列的更名