描述
把mysql数据库中的一个数据库导出(备份,或者传输给别人),
导出:
使用Navicat连接到mysql,然后选中
你要导出的数据库,右键
,选择转储SQL文件...
,命名为数据名.sql
,保存到本地中即可。如下图:
- 选择转储SQL文件…
- 保存到本地:数据库名.sql
- 保存成功
usersinfo.sql中的内容:
/*
Navicat MySQL Data Transfer
Source Server : localhost_3306
Source Server Version : 50508
Source Host : localhost:3306
Source Database : usersinfo
Target Server Type : MYSQL
Target Server Version : 50508
File Encoding : 65001
Date: 2018-07-03 15:42:50
*/
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for `student`
-- ----------------------------
DROP TABLE IF EXISTS `student`;
CREATE TABLE `student` (
`学号` varchar(20) NOT NULL DEFAULT '',
`姓名` varchar(20) DEFAULT NULL,
`性别` varchar(20) DEFAULT NULL,
`专业` varchar(40) DEFAULT NULL,
`年级` varchar(20) DEFAULT NULL,
`出生` varchar(255) DEFAULT NULL,
`课程` varchar(255) DEFAULT NULL,
`成绩` double DEFAULT NULL,
PRIMARY KEY (`学号`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- ----------------------------
-- Records of student
-- ----------------------------
INSERT INTO `student` VALUES ('B1', '小丽', '男', '计算机科学与技术', '大二', '1996', '高等数学', '500');
INSERT INTO `student` VALUES ('H1000', '小郭', '女', '计算机科学与技术', '大二', '1999', '高等数学', '100');
INSERT INTO `student` VALUES ('H1234', '小兰', '男', '计算机科学以与技术', '大三', '1997', '高等数学', '200');
可以看到上面都是sql语句,有创建表的语句,和在表中插入一行行数据的语句。注意,usersinfo.sql中只有原来usersinfo这个数据库里的表的信息,没有数据库本身的信息,所以我我们一会导入sql文件的时候,需要先自己建立一个数据库名为:”usersinfo”.
导入数据库
- 为了演示,我先把上面的数据库usersinfo删除掉:
- 现在数据库中已经没有usersinfo这个库了:
导入备份好的数据库.sql
在Navicat中新建一个和数据库名
.sql同名的数据库,然后选择字符集,
新建数据库usersinfo,字符集选用gbk,(和上面的student表的字符集一样)。
复制usersinfo.sql的文件名
usersinfo
,粘贴,字符集选gbk
然后双击点击usersinfo数据库,usersinfo数据库颜色变了就对了(变绿了)
然后选中usersinfo,右键,选择运行SQL文件
选中
...
按钮,到本地中选择你刚才导出的usersinfo.sql文件。然后字符集选utf-8(选gbk导入不成功),最后点击开始即可导入。
点击开始即可,导入。
Navicat不显示刚才导入的表解决方法
虽然提示导入成功了,但是我们展开数据库usersinfo,发现里面居然没有表,这个时候点击刷新,也是没有用的,依然不能看到刚才导入的表。这是怎么回事我也不知道。
解决方法:
断开连接,
重新连接数据库即可。
现在就正常显示了,Navicat每次操作后都要重新连接一次数据库,应该是个bug吧。
最后点击student表,打开表。可以看到已经冲洗添加数据到表中了,备份操作完成