修改字段类型和长度
说明:alter table 表名 modify column 字段名 类型;
举例:alter table player modify column name varchar(50);
注意:
- 谨慎修改类型,可能会导致原有数据出错。
- 修改长度,要保证不短与已有数据,以保证原有数据不出错。
设置字段值区分大小写
说明:mysql的字段值默认情况下是不区分大小写的,如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性。
举例:
- 创建时设置:CREATE TABLE player(name VARCHAR(64) BINARY);
- 使用alter修改:ALTER TABLE player MODIFY COLUMN name VARCHAR(64) BINARY;
mysql查看表结构
说明:使用desc命令
举例:desc player
使用mysqldump工具备份和还原数据库
说明:导出整个数据库。mysqldump -u 用户名 -p 密码 数据库名 > 导出的文件名
举例:mysqldump -u root -p pwd mydatabase > idata.sql
说明:导出一个表。mysqldump -u 用户名 -p 密码 数据库名 表名> 导出的文件名
举例:mysqldump -u root -p pwd mydatabase users> idata_user.sql
说明:导出一个数据库结构。mysqldump -u 用户名 -p -d 密码 数据库名 > 导出的文件名。 -d是没有数据的意思。
举例:mysqldump -u root -p pwd -d mydatabase > idata.sql
说明:还原数据库,进入备份的文件所在的目录,然后进入mysql,选择对应的数据库,使用source
命令。
mysql -u root -p
mysql>use mydatabase;
mysql>source idata.sql;
解决mysqldump备份数据库的1449错误
说明:比如在DogHome服务器使用dog账户进行备份,然后导入CatHome服务器。此时在CatHome服务器使用cat进行给备份的时候就会提示权限问题,提示,必须要用dog账户进行备份,cat没有权限。
mysqldump: Got error: 1449: The user specified as a definer (‘dog’@’%’) does not exist when using LOCK TABLES
解决就是在服务器中将dog的权限赋予cat。
举例:
mysql>grant all privileges on dog.* to 'dog'@'%' identified by 'cat';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)