数据库4-修改数据表
1.添加单列
ALTER TABLE tb1_name ADD[COLUMN] col_name COLUM_definition [AFTER colum]
例子 一
如果一个数据表中的内容如下
id
username
pid
ALTER TABLE user1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;
结果为:
id
username
pid
age
这种方式的添加单列,会在最后面添加
例子二
ALTER TABLE user1 ADD truename VARCHAR(20) NOT NULL FIRST;
结果会是这样
truename
id
username
age
这样添加的方式会在最前面添加
例子三
ALTER TABLE user1 ADD password VARCHAR(32) NOT NULL AFTER username;
truename
id
username
password
age
2删除列
ALTER TABLE tb1_name DROP [column] column_name;
例子
ALTER TABLE user1 DROP truename;删除一列
ALTER TABLE user1 DROP password ,DROP age;
删除的同时在添加
ALTER TABLE table1_name DROP password ,ADD sex VARCHAR(10),NOT NULL DEFAULT "男";
3.添加主键约束
ATER TABLE tb1_name ADD PRIMARY KEY(index_col_name);
例子;
ALTER TABLE tb1 ADD PRIMARY KEY(id);
删除操作:同理将ADD改为DROP
4.添加唯一约束
ALTER TABLE tb1 ADD UNIQUE(index_col_name)
删除操作:同理将ADD改为DROP
5.添加外键约束
ALTER TABLE tb1 ADD FOREIGN KEY(tb1_index_col_name) REFERENCE tb2_name(tb2_index_col_name),
删除外键
ALTER TABLE tb1 DROP FOREIGN KEY;
6,添加/删除默认约束
ALTER TABLE tb1_name ALTER col_name{SET/DROP DEFAULT}
修改列定义
ALTER TABLE tb1_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]
例子
ALTER TABLE user2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;
改变了位置,位于最前面,也修改了id的其他属性,如也可以将SMALLINT->TINYINT
修改列的名字
ALTER TABLE tb1_name CHANGE[column] old_col_name new_col_name col_defination [FIRST|AFTER col_name]
例子:
ALTER TABLE user2 CHANGE pid p_id TINYINT UNSIGNED NOT NULL;
数据表更名
方法一
ALTER TABLE tb1_nameRENAME[TO|AS] new_tb1_name;
方法二
RENAME TABLE tb1_name TO new_tb1_name;