1、基本Syntax
对付 mySql 而言,其ALTER 语法规则的利用实在很类似 DROP 与 CREATE:
```
ALTER TABLE tb_name alter column column_name {新的列配置项};
```
比如,修正 tb 表下 ID 列类型,详细 sql 为:
```
ALTER TABLE tb MODIFY id INT NOT NULL AUTO_INCREMENT PRIMARY KEY;
```
2、为表新增字段
修正时再添加字段并在同一个语句里修正其它已有列的特色,利用 ADD 加入。
```
ALTER TABLE user ADD username varchar(32), phone CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
```
个中,ADD用于表或列定义后重新插入新定义。
3、为表删除字段
当想要删除数据表内的某一个或多个字段时,应采取 DROP COLUMN,通过字段的实际或别名,为表进行此行操作。
```
ALTER TABLE tablename DROP COLUMN fieldname;
ALTER TABLE users DROP id, DROP name, ADD userid INT UNSIGNED PRIMARY KEY NOT NULL, ADD username TEXT NULL;
```
4、对列变动属性
为了实现对数据类型进行转换的哀求,mySql ALTER 许可为相应字段定制数据类型、主码、约束等:
```
ALTER TABLE demo_table
CHANGE cityName cityChar CHARACTER(64); -- 修正一个列名为 cityName 到新列名 cityChar的数据类型为CHAR(64)
```
改变全体表中现有行的属性值利用 RE name TO 'newname':
```
ALTER TABLE db.Table RENAME TO newtable;
```
我们利用 DUMPQUERYOUTPUT AS 'd:\mysqldump\' 创建 SQL文件;它将 mySQL数据转换为 Windows 字节顺序的 SQL文本表格数据,别的的在线转化工具可在谷歌查询 'Sql to Php - DBF To SQL Query online tool convert' 下很容地找到相同的工具。
5、利用 ALTER GRANT 命令
您可能有 occasion to execute ALTER 命令 on GRANT-related topics also. We can also have ALTER-like permissions such as using ALTER. This command works closely with tables and objects tied to such tables or functions.
```
ALTER AUTHORIZATION privileges grant OR REVOKE... FOR ...(column name(s)|table);
ALTER EVENT privileges [GRANT | REVOKE... FOR...[ON SCHEMA]]db_name];
```
上面已经理解了ALTER相应的语法,可知当须要表构造存在大变更、数据须要加新变量,对现有行进行更新和全体库的权限、事宜等存在变动时。如果大家都将这份知识加以娴经于身 Side,相信,数据存储不了避免的失落业、转正问题,但只管即便采取这统统方案来掌握失落效率或数据讹譳性等问题会是保卫数据安全的侍 protecting the fencing.
```