由于机器龟速运行,决定分开跑,然后把数据合并,需要将mysql中的数据倒来倒去,没想到其中过程还蛮乱的,这里做个笔记,Mark一下。
命令行
1.数据库字符集问题
为了避免乱码的问题,先确定下database的编码是何种。
我在data的源电脑上的mysql command中输入 show variables like '%char%' 记得加分号执行
执行后,发现database的value为uft8
在data的目的电脑上输入,发现为latin1,于是修改data目的电脑上的字符编码格式:set charcter_set_database=uft8
这样格式一致,乱码就避免了
2.从源电脑导出数据
cmd中进入mysql安装下的bin目录,运行mysql -u [username] -p [database] [table] > [保存地址]
我的语句是:mysql -u root -p python uni > f:/data/uni.sql 保存在f盘data文件夹下的uni.sql中也可以保存为uni.txt
ok,可以用u盘拷贝,然后转移到目的电脑
3.导入数据
load data local infile 'f:/data/uni.sql' into table uni (如果保存为txt,则是f:/data/uni.txt)
打开表格查看,导入ok~~
利用navicat
但是在利用命令的时候,在windows环境中碰到了权限问题,没有解决好,后来利用nvcicat导出的,发现navcat导出txt比较快
利用navicat导出txt的流程如下:
1.点中要导出的表格,然后右击,选择导出
2.默认就是txt导出,下一步
3.选择好保存的地方,这里可以添加多个要导出的表格,当然记得设置保存的地方
4.选择导出的列,可以部分,可以全部,默认是全部,继续下一步就好
5.这里定义了额外的选项,记得选择包含列标题,这样导出的txt就不是只有光秃秃的数据了,还包括了相应的列名,继续下一步
6.点击开始,然后用notepad打开txt,保存ok,其中每行的数据之间是用tab隔开的
利用navicat导入txt的流程:
1.直接在相应数据库下的空白地方,右击,选择导入
2.导入格式默认为txt,选择下一步
3.设置好导入文件的存储地点
4.这一步的一些设置没弄太清楚,点击下一步
5.这里可以设置一些附带选项,第一栏设置为2,这样保存的列名就不会认为是数据记录了,点击下一步
6.继续选择的是目的表:如果导入的表是新建的,则要设置列的属性;如果已经存在了,可以控制列与列之间的映射关系