面试的时候发现一道题:写出sql导入的命令。
这是本是很基础很基础的东西,但就是不常用,基本上都是傻瓜式操作,这些基础的东西都忘记了。
使用这篇文章记录一下sql的导入导出以及常用的操作,加深一下自己的印象。
mysql的导入操作
需要的test.sql文件,下面是文件内容。
CREATE TABLE test(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '姓名',
`email` VARCHAR(50) NOT NULL DEFAULT '' COMMENT '邮箱',
`password` CHAR(32) NOT NULL COMMENT '密码',
`create_time` INT(10) unsigned DEFAULT NULL COMMENT '添加时间',
`update_time` INT(10) unsigned DEFAULT NULL COMMENT '更新时间'
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
命令行导入数据
mysql -u用户名 -p密码 数据库名称 --default-character-set=utf8 >sql所在目录
mysql -uroot -proot test --default-character-set=utf8 <C:\Users\Administrator\Desktop\test.sql
导入时数据库一定要存在否则会报错
命令行导出数据
mysqldump -u用户名 -p 密码 数据库名称 > 导出地址
mysqldump -uroot -proot -d test > C:\Users\Administrator\Desktop\dump.sql
MySQL导入数据库,数据库文件过大时报错(ERROR 2006 (HY000) at line 2484: MySQL server has gone away)
修改my.ini文件 增加 两个参数配置
max_allowed_packet=90M
wait_timeout=6000