视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL与SQLite的迁移_MySQL
2020-11-09 20:18:23 责编:小采
文档
 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的命令集合

下载本文
显示全文
专题