修改库名
首先:
- 不管存储引擎是InnoDB还是MyISAM直接去修改data下的文件夹名称都是不可行的。
- rename database oldname TO newname;也是不可行的。
可采取的方法:
方法一:
新建数据库,导出旧库数据,删除旧数据库,具体如下:
1.创建需要改成新名的数据库。
2.mysqldum 导出要改名的数据库。
3.删除原来的旧库。
该方法在数据量大时会比较慢。
方法二:
创建一个数据库,将旧数据库里的表都移动(重命名)到数据库内,删除旧数据库,具体如下:
假设源库名是old,目标库名是new
1.首先创建目标库。
create database new;
2.获取所有源库的表名。
use information_schema;
select table_name from tables where table_schema=old;
或者是直接:
select table_name from information_schema.tables where table_schema=old;
3.然后按照以下命令一个个修改。
rename table old.[tablename] to new.[tablename];
# 批量修改
rename table old.[tablename1] to new.[tablename1],
old.[tablename2] to new.[tablename2],
old.[tablename3] to new.[tablename3];
修改数据表(AlTER TABLE 语句)
MySQL中可以使用ALTER TABLE语句来改变原有表的结构,例如增加或删除列、创建或取消索引、更改原有列类型、重新命名列或表等。
基本语法
修改表指的是修改数据库中已经存在的数据表的结构。MySQL 使用 ALTER TABLE 语句修改表。常用的修改表的操作有修改表名、修改字段数据类型或字段名、增加和删除字段、修改字段的排列位置、更改表的存储引擎、删除表的外键约束等。
常用的语句如下:
ALTER TABLE <表名> [修改选项]
修改选项的语法如下:
{ ADD COLUMN <列名> <类型>
| CHANGE COLUMN <旧列名> <新列名> <新列类型>
| ALTER COLUMN <列名> { SET DEFAULT <默认值> | DROP DEFAULT }
| MODIFY COLUMN <列名> <类型>
| DROP COLUMN <列名>
| RENAME TO <新表名> }
添加字段
随着业务的变化,可能需要在已经存在的表中添加新的字段,一个完整的字段包括字段名、数据类型、完整性约束。添加字段的语法格式如下:
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST|AFTER 已存在的字段名]
新字段名为需要添加的字段的名称;FIRST 为可选参数,其作用是将新添加的字段设置为表的第一个字段;AFTER 为可选参数,其作用是将新添加的字段添加到指定的已存在的字段名的后面。
修改字段数据类型
修改字段的数据类型就是把字段的数据类型转换成另一种数据类型。在 MySQL 中修改字段数据类型的语法规则如下:
ALTER TABLE <表名> MODIFY <字段名> <数据类型>
其中,表名指要修改数据类型的字段所在表的名称,字段名指需要修改的字段,数据类型指修改后字段的新数据类型。
删除字段
删除字段是将数据表中的某个字段从表中移除,语法格式如下:
ALTER TABLE <表名> DROP <字段名>
其中,字段名指需要从表中删除的字段的名称。
修改字段名称
MySQL 中修改表字段名的语法规则如下:
ALTER TABLE <表名> CHANGE <旧字段名> <新字段名> <新数据类型>
其中,旧字段名指修改前的字段名;新字段名指修改后的字段名;新数据类型指修改后的数据类型,如果不需要修改字段的数据类型,可以将新数据类型设置成与原来一样,但数据类型不能为空。
修改表名
MySQL 通过 ALTER TABLE 语句来实现表名的修改,语法规则如下:
ALTER TABLE <旧表名> RENAME [TO] <新表名>
其中,TO 为可选参数,使用与否均不影响结果。