MySQL与SQLite的迁移

作者:emily

链接:http://zhuanlan.zhihu.com/p/20778415

来源:知乎

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

从sqlite数据库导入到mysql数据库实例

从sqllite中导出数据文件库XX.sql的文件。导入到mysql数据库中。

键入命令: source /smb/works/mysql.sql

出现很多如下的错误:

You have an error in your SQL syntax; check the manual thatcorresponds to your MariaDB server version for the right syntax to use near XXXXXXXXX

原因是sqllite与mysql语句有很大的区别:左边为MYSQL、右边为SQLite

1、启动事务

Mysql 为start transaction

Sqlite 为 begin transaction

2、提交事务

Mysql 为commit

Sqlite 为commit transaction

3 创建表

Mysql的库名、表名、列明等都不需要使用[ ],sqlite 所有的名称都需要增加[ ]。

4、数据类型

sqlite的数据类型mysql都支持。但是sqlite中定义了范围在mysql中导入会报错。只有varchar需要定义范围。

5、冲突解决

SQLite 的 ONCONFLICT子句不是独立的SQL命令。这是一条可以出现在许多其他SQL命令中的非标准的子句。在Mysql中不支持。

从mysql数据库导入到sqlite数据库实例

第一步: mysql导出.sql文件

在终端中输入

mysqldump -h localhost -u root -p mydb>e:\mysql\mydb.sql

然后输入密码,等待一会导出就成功了,可以到目标文件中检查是否成功。

第二步:使用命令打开数据库db文件。

在当前目录下创建数据库文件 test.db,若存在该数据库文件,则是打开数据库文件。如果想从别人的db文件上修改,也可以采用这样的方式打开其数据库文件,然后修改。导入成功后出现下图所示:

第三步:使用dabatabse命令

可以库main对应的数据库文件保存路径为第二步打开的文件。

第四步:修改数据库

使用SQL语句对该数据库进行操作。如果从别的库迁移过来,使用库导出的sql文件,用记事本打开sql文件,mysql与sqlite的sql语句有一些差别,在文档《从sqlite数据库导入到mysql数据库》一文中已有标书。

若需要对数据库的表进行创建、数据结构进行调整都可以在.sql文件中进行修改完后,使用read命令读入sql文件。 如果有错,则返回错误信息。 如果正确,就直接返回了。如图:

第五步:确认是否修改成功

使用headers on命令,打开表开关,然后sql语句select查阅表,看表中的内容是否已经修改成功。

sqlite3 的命令需要通过“.XXX”的形式调用。调用命令前需要加”.”。

sql语句需要“XXXXXXXXXX;”的形式调用。语句结束后需要加“;”

sqlite的命令集合:

mysql的命令集合

时间: 2024-11-15 00:29:27

MySQL与SQLite的迁移的相关文章

SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.4

最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微软 DTS 的,也有使用 mss2sql 工具进行转换的.使用 DTS 需要预先创建好数据表,否则新迁移的数据库是没有主键的.而 mss2sql 工具可以解决以上问题,但转换速度非常慢!我需要转换 3000 万的数据,在一台相当不错的服务器上面,也需要几天几夜才能转换完成.而 DB2DB 就是在这样

SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.3

最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微软 DTS 的,也有使用 mss2sql 工具进行转换的.使用 DTS 需要预先创建好数据表,否则新迁移的数据库是没有主键的.而 mss2sql 工具可以解决以上问题,但转换速度非常慢!我需要转换 3000 万的数据,在一台相当不错的服务器上面,也需要几天几夜才能转换完成.而 DB2DB 就是在这样

SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.1

最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微软 DTS 的,也有使用 mss2sql 工具进行转换的.使用 DTS 需要预先创建好数据表,否则新迁移的数据库是没有主键的.而 mss2sql 工具可以解决以上问题,但转换速度非常慢!我需要转换 3000 万的数据,在一台相当不错的服务器上面,也需要几天几夜才能转换完成.而 DB2DB 就是在这样

SQLServer(MSSQL)、MySQL、SQLite、Access相互迁移转换工具 DB2DB v1.2

最近公司有一个项目,需要把原来的系统从 MSSQL 升迁到阿里云RDS(MySQL)上面.为便于测试,所以需要把原来系统的所有数据表以及测试数据转换到 MySQL 上面.在百度上找了很多方法,有通过微软 DTS 的,也有使用 mss2sql 工具进行转换的.使用 DTS 需要预先创建好数据表,否则新迁移的数据库是没有主键的.而 mss2sql 工具可以解决以上问题,但转换速度非常慢!我需要转换 3000 万的数据,在一台相当不错的服务器上面,也需要几天几夜才能转换完成.而 DB2DB 就是在这样

Flask Web中用MySQL代替SQLite

由于.sqlite文件操作的诸多不便,决定常识用MySQL代替书上的SQLite作为数据库. 1.在虚拟环境中安装mysql-Python具体步骤为: <1> 安装python-dev sudo apt-get install python-dev <2>安装 libmysqlclient-dev sudo apt-get install libmysqlclient-dev <3>安装mysql-python pip install mysql-python 2.安装

[Sqlite]--&gt;数据迁移备份--从低版本3.6.2到高版本3.8.6

数据迁移 一, 使用.dump命令 命令帮助提示 .dump ?TABLE? ...      Dump the database in an SQL text format If TABLE specified, only dump tables matching LIKE pattern TABLE. 理解分析:       使用.dump命令可以将数据库对象导出成SQL格式.不带任何参数时,.dump将整个数据库导出为数据库定义语言(DDL)和数据库操作语言(DML)命令,适合重新创建数据

【转载】Mysql binlog relaylog 日志迁移

背景: 默认情况下,mysql的数据.binlog.relaylog都是保存在同一个磁盘上,路径根据每个人的设置不一. 当mysql数据库中数据或日志增长很快时,磁盘可能面临空间不够或者IO性能跟不上,所以把日志迁移到其他磁盘是首先想到的工作. 但日志迁移的文档并不多,本文根据实践记录,希望对大家有点参考作用. 假设迁移前的路径如下: binlog:    /data/mysql_data/mysql数据: /data/mysql_data/mysql relay log :/data/mysq

Android Login and Registration with PHP, MySQL and SQLite

Android Login and Registration with PHP, MySQL and SQLite

broadleaf commerce到mysql和tomcat的迁移

最近刚刚接触broadleaf commerce, 一个电商网站的开源模版.具体的运行和配置可以参考链接:点击打开链接 而该模版是在jetty容器下运行的,数据库是HSQL.官方网站上给出了如何将数据库迁移到mysql以及把项目工程部署在tomcat中所需要的配置,但是过程不甚详细,网上这方面的资源也不是很多,所以楼主就打算写这篇博客作为一个总结. 1.数据库的迁移(HSQL到MYSQL) (a)打开DemoSite工程的根目录下pom.xml文件,在<dependencyManagement>