Home  >  Article  >  Database  >  MySQL与SQLite的迁移_MySQL

MySQL与SQLite的迁移_MySQL

PHP中文网
PHP中文网Original
2016-05-27 13:45:061991browse

MySQL与SQLite的迁移_MySQL

从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的命令集合

 

\

以上就是MySQL与SQLite的迁移_MySQL的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn