MSSQL转MYSQL的一些记录
1.用MSSQL企业管理器,打开表的结构(设计表),本地用phpmyadmin根据结构一个一个创建,同时优化了一下表数据字段,表创建完成。
2.用企业管理器导出单表,导入源选择文本,分隔符选择;,原为',',因phpmyadmin默认的是;,所以这里选择;。导出一个文本文件。
3.用phpmyadmin单表导入功能,选择下面的 CSV 使用 LOAD DATA,就可以将表内容导入了。
完成!
如 果字段比较多,或者记录很多,那么这种方法就不适用了,就需要借助于软件来帮忙。目前,据enjoy所知,有两款比较好的软件可以把MSSQL转换成 MYSQL。一个是DBConvert for MSSQL & MySQL ,可以双向转换,十多M。一个是MSSQL to MySQL,很小巧,压缩包才1M多。它可以指定一个库的哪些表导成sql,也可以直接导进MYSQL,挺好用的。
我使用了MSSQL to MySQL将一个MSSQL库改存为sql,在实际操作中发现了如下两个问题。
1.建表问题。生成的建表sql指定的是ENGINE=INNODB,我用的是MYISAM类型,gbk编码,就改成了:ENGINE=MYISAM DEFAULT CHARSET = GBK,
2.编码问题。我的数据库是gbk编码,在导入时就加了--default-character-set=gbk的选项,这样中文就能正常显示了。
mysql --default-character-set=gbk -D DBNAME < E:\hx\9enjoy.txt -uroot -p
文章作者:Enjoy 转载请注明原文链接。
相关推荐
-
MSSQL转MySQL数据库的实际操作记录
以下的文章主要介绍的是MSSQL转MySQL数据库的一些记录的实际操作流程,以及在其实际操作中发现的问题的阐述,其中包括建表问题,编码问题,以下就是文章的主要主要内容描述,望你会有所收获. 今天把一个MSSQL的数据库转成MySQL,在没有转换工具的情况下,对于字段不多的数据表我用了如下手功转换的方法,还算方便.MSSQL使用企业管理器操作,MySQL用phpmyadmin操作. 1.用MSSQL企业管理器,打开表的结构(设计表),本地用phpmyadmin根据结构一个一个创建,同时优化了一下表
-
找到一种不错的从SQLServer转成Mysql数据库的方法
年初的时候一直在做一个网站MSSQL2000 -> MySQL5的迁移工作,因为采用了不同的程序系统,所以主要问题在数据的迁移.由于2个系统数据库结构差异非常大,不方便采取SQL SERVER里导入MYSQL的ODBC数据源的功能(也不推荐这么做,字段类型等不同点会搞死人的-),因此就在WINDOWS下自己写PHP脚本从SQLSERVER里读数据,然后按照新系统的需要处理之后插入MYSQL里面,灵活也比较方便.实际过程主要有下面几个问题: 1.数据库的连接,主要是连接SQL SERVER.主要有
-
通过SQLServer 2008 操作 MySQL的方法
数据库测试环境 1. SQL Server 2008 2. MySQL 5.1.36 Database: Test Table: TestTable 创建MySQL 测试表 复制代码 代码如下: CREATE TABLE `testtable` ( `id` int(11) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `age` int(11) DEFAULT NULL ) 创建Link Server 下面来创建一个与MySQL交互的链接(类似
-
mssql转换mysql的方法小结
方法一: 1.导表结构 使用MySQL生成create脚本的方法.找到生成要导出的脚本,按MySQL的语法修改一下到MySQL数据库中创建该表的列结构什么的. 2.导表数据 在MSSQL端使用bcp导出文本文件: bcp "Select * FROM dbname.dbo.tablename;" queryout tablename.txt -c -Slocalhost\db2005 -Usa 其中""中是要导出的sql语句,-c指定使用\t进行字段分隔,使用\n进
-
MySQL和SQLServer的比较
转自: http://www.qqread.com/mysql/z442108305.html 对于程序开发人员而言,目前使用最流行的两种后台数据库即为MySQL和SQLServer.这两者最基本的相似之处在于数据存储和属于查询系统.你可以使用sql来访问这两种数据库的数据,因为它们都支持ansi-sql. 还有,这两种数据库系统都支持二进制关键词和关键索引,这就大大地加快了查询速度.同时,二者也都提供支持xml的各种格式.除了在显而易见的软件价格上的区别之外,这两个产品还有什么明显的区别吗?在
-
SQLServer导出数据到MySQL实例介绍
1从SQLServer导出数据 执行BCP: bcp "..." queryout "F:\test.txt" -c –S1.2.3.4 -Usa -P1111 命令参数含义: (1) 导入. 这个动作使用in命令完成,后面跟需要导入的文件名. (2) 导出. 这个动作使用out命令完成,后面跟需要导出的文件名. (3) 使用SQL语句导出. 这个动作使用queryout命令完成,它跟out类似,只是数据源不是表或视图名,而是SQL语句. (4) 导出格式文件. 这
-
简单实现SQLServer转MYSQL的方法
本次转换需要依赖使用工具Navicat Premium. 首先,将数据库移至本地SQLServer,我试过直接在局域网上其他SQLServer服务器上想转到本地Mysql好像有问题,想将远程数据库备份恢复到本地. 1.打开Navicat Premium,新建一个同名的数据库,然后在表上点击"导入向导".并选择"ODBC". 2.选择SQLServer提供程序,并输入参数. 3.然后就拼命下一步.下一步. 在这里有个条件查询,如果有太多不想要的数据,或者字段类型有问题
-
MSSQL转MYSQL的一些记录
1.用MSSQL企业管理器,打开表的结构(设计表),本地用phpmyadmin根据结构一个一个创建,同时优化了一下表数据字段,表创建完成.2.用企业管理器导出单表,导入源选择文本,分隔符选择;,原为',',因phpmyadmin默认的是;,所以这里选择;.导出一个文本文件.3.用phpmyadmin单表导入功能,选择下面的 CSV 使用 LOAD DATA,就可以将表内容导入了.完成! 如 果字段比较多,或者记录很多,那么这种方法就不适用了,就需要借助于软件来帮忙.目前,据enjoy所知,有两款
-
防止mysql重复插入记录的方法
防止mysql重复插入记录的方法有很多种,常用的是ignore,Replace,ON DUPLICATE KEY UPDATE,当然我们也可以在php中加以判断了. 方案一:使用ignore关键字 如果是用主键primary或者唯一索引unique区分了记录的唯一性,避免重复插入记录可以使用: 代码如下: 复制代码 代码如下: INSERT IGNORE INTO `table_name` (`email`, `phone`, `user_id`) VALUES ('test9@163.com'
-
MSSQL转MYSQL,gb2312转utf-8无乱码解决方法
使用软件:MySQLMigrationTool 提示数据过大,无法导入.修改my.cnf文件的max_allowed_packet = 100M以上.在windows操作系统中,my.cnf有可能显示不出来,需要用编辑器直接输入地址:盘符:\目录mysql教程binmy.cnf打开. "there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause",MSSQL一个
-
Mysql 相邻两行记录某列的差值方法
表结构: 数据: 需求: 按照company_id不同分组,然后分别求出相同company_id相邻记录touch_time的差值 SQL: select r1.company_id, r1.touch_time, r2.touch_time, r1.touch_time - r2.touch_time from (select (@rownum := @rownum + 1) as rownum, info.company_id, info.touch_time from sys_touch_
-
MySQL删除了记录不生效的原因排查
线上的一次MySQL事务问题记录 上周五进行了一个大表删除的操作,在删除的过程中,出现了一点小问题,白白花费了两个小时,我这里记录了一下大概的过程,废话不多说了,直接看过程吧. 当时想进行删除,先测试了一下删除语句的语法,删了一条试了一下,如下: mysql ::>>select min(id) from XXXX_user_login; +---------+ | min(id) | +---------+ | | +---------+ row in set (0.00 sec) mysq
-
PHP实现获取MySQL数据库的记录数据
目录 如果后台数据处理使用PHP来进行,那么就要有相应的数据处理及返回. 最常用的就是获取记录总数和表记录查询结果. 获取数据表的记录总数 <?php require 'linkConfig.php';//根据连接信息连接数据库 $sql = "select count(*) from druserlist where C04='普通用户'";//查询数据表 $result = $mysqli->query($sql);//以索引的方式返回一个结果集 list($rowCo
-
MySQL 使用触发器记录用户的操作日志问题
目录 MySQL 使用触发器记录用户的操作日志 一.创建用户数据表(emp)和保存操作日志的表(emp_log) 二.为 emp 表创建触发器 1.创建触发器 trigger_after_insert_emp 2.创建触发器 trigger_after_update_emp 3.创建触发器 trigger_after_delete_emp 三.数据验证 1.在 emp 中添加数据记录 2.在 emp 中更新数据记录 3.在 emp 中删除数据记录 MySQL 使用触发器记录用户的操作日志 使用
-
mysql中判断记录是否存在方法比较
我这里总结了判断记录是否存在的常用方法: sql语句:select count(*) from tablename; 然后读取count(*)的值判断记录是否存在.对于这种方法性能上有些浪费,我们只是想判断记录记录是否存在,没有必要全部都查出来. 以下这个方法是我推荐的. sql语句:select 1 from tablename where col = col limit 1; 然后读取语句执行所影响的行数. 当然这里limit 1很重要.这要mysql找到一条记录后就不会在往下找了.这里执行
随机推荐
- js操作label给label赋值及取label的值示例
- 星外PHP4升级到PHP5的注意事项与方法
- php生成短网址示例
- JDBC中使用Java8的日期LocalDate和LocalDateTime操作mysql、postgresql
- RecyclerView的简单使用
- javascript解析json数据的3种方式
- Shell脚本中实现切换用户并执行命令操作
- 比较漂亮的一个导航条的效果DIV+CSS
- linux备份与恢复基础知识
- C++友元函数与拷贝构造函数详解
- js验证身份证号有效性并提示对应信息
- JavaScript性能陷阱小结(附实例说明)
- iOS中的音频服务和音频AVAudioPlayer音频播放器使用指南
- C++之BOOST字符串查找示例
- Java调用Shell命令的方法
- python调用cmd命令行制作刷博器
- 深入理解java中i++和++i的区别
- ASP.NET中数据库操作初步
- 详解JavaScript中的Unescape()和String() 函数
- Android实现button居中的方法