|
先来个概念,这玩意是干啥的:
1.用途 删除、添加、修改表名称 或者表的字段名称:
先删一个瞅瞅:- ALTER TABLE testalter_tbl DROP i;
复制代码 上述代码解析:ALTER 命令以及DROP 子句来删除表中的 i 字段; 提示: 如果表中只有一个字段 是删不掉的。
再加一个字段瞅瞅:- ALTER TABLE testalter_tbl ADD i INT;
复制代码 上述代码解析: ALTER 命令 使用 ADD子句 向数据表中添加列【 i 字段】。并定义了类型
接上面这个 说说这个新增字段,也就是新增列 是可以选择位置的 选择位置的方式:
1. 使用关键字FIRST 设置为第一列
2.AFTER 字段名 (设定在某个字段之后)- ALTER TABLE testalter_tbl DROP i;
- ALTER TABLE testalter_tbl ADD i INT FIRST;
- ALTER TABLE testalter_tbl DROP i;
- ALTER TABLE testalter_tbl ADD i INT AFTER c;
复制代码 小提示: 【就这么大字的小提示】 FIRST / AFTRE 关键字只占用ADD子句,所以如果想重置数据表字段的位置,就需要先使用DROP删除字段 然后使用ADD 来添加字段设置位置。
再贴个修改字段类型 或者名称的代码:抵用MODIFY 或 CHANGE 子句;
1.吧类型换掉- ALTER TABLE testalter_tbl MODIFY c CHAR(10);
复制代码 2.使用CHANGE 子句,语法有很大的不同,在CHANGE 关键字之后,紧跟着的是要修改的字段名,然后是指定新字段名和类型:- ALTER TABLE testalter_tbl CHANGE i j BIGINT;
复制代码- ALTER TABLE testalter_tbl CHANGE j j INT;
复制代码
ALTER TABLE 对 NULL 值 和默认值的影响:- mysql> ALTER TABLE testalter_tbl
- -> MODIFY j BIGINT NOT NULL DEFAULT 100;
复制代码 上述代码解析: 指定字段j 为 NOTNULL 且默认值为100 。 【如果不设置默认值,MYSQL 会自动设置该字段默认为NULL】那么如何修改字段默认值?- ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000;
复制代码 删除默认值- ALTER TABLE testalter_tbl ALTER i DROP DEFAULT;
复制代码
修改数据表类型 可以使用ALTER 以及 TYPE 子句来完成。【查看表的类型可以使用 SHOW TABLE STATUS】
贴一段代码- mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM;
- mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G
- *************************** 1. row ****************
- Name: testalter_tbl
- Type: MyISAM
- Row_format: Fixed
- Rows: 0
- Avg_row_length: 0
- Data_length: 0
- Max_data_length: 25769803775
- Index_length: 1024
- Data_free: 0
- Auto_increment: NULL
- Create_time: 2007-06-03 08:04:36
- Update_time: 2007-06-03 08:04:36
- Check_time: NULL
- Create_options:
- Comment:
- 1 row in set (0.00 sec)
复制代码 修改表名怎么改? 【利用 RENAME 子句来实现】- ALTER TABLE testalter_tbl RENAME TO alter_tbl;
复制代码 其他用途?
1.修改存储引擎: 修改为MUJSAM - alter table tableName engine=myisam;
复制代码
2.删除外键约束: KEYNAME 是外键名- alter table tableName drop foreign key keyName;
复制代码
2. 修改字段的相对位置 这个就算了 —— 不 我还贴一个吧- alter table tableName modify name1 type1 first|after name2;
复制代码
|
|