最近用mysql执行sql脚本,遇到一些问题,顺便记录一下笔记。
首先,先开启mysql服务,创建一个空数据库(脚本里没有创建数据库)
执行脚本有两个方法
1、未连接数据库:在Windows下使用cmd命令执行 【Mysql的bin目录】\mysql -u用户名 -p密码 -D数据库<【sql脚本文件路径全名】
示例: C:\MySQL\bin\mysql -root -p123456 -Ddb_show<C:\db_show.sql
(1)如果在sql脚本中使用了use数据库,-D数据库 可以不写
(2)如果【Mysql的bin目录】中包含空格,则需要使用" "包含,如:“C:\\Program Files\MySQL\bin\mysql” -u用户名 -p密码 -D数据库<【sql脚本文件路径全名】
2.连接数据库
先使用cmd命令: mysql -h主机地址 -u用户名 -p密码 来连接数据库进入MySQL控制台,
之后数据命令: use 数据库名称 回车
再数据命令: source 【sql脚本文件的路径全名】
遇到的问题:执行sql脚本往数据库里添加数据的时候,目标数据库或表是UFT8字符集的,但sql中有中文,最终结果在数据库里添加的都是乱码
解决方案:在导入的sql文件第一行加入如下内容,/*!40101 SET NAMES utf8 */; (亲测,是OK的)
具体原因请参考:http://jiaquanluo.blog.163.com/blog/static/77561163201161211253185/