数据库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;

原文地址:https://www.cnblogs.com/yuaima/p/5066982.html