如何使用SQL命令文件创建SQLite3数据库文件?

前端之家收集整理的这篇文章主要介绍了如何使用SQL命令文件创建SQLite3数据库文件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个包含一些sql命令的文件,如下所示:
CREATE DATABASE IF NOT EXISTS `db_name`;
USE `db_name`;

CREATE TABLE IF NOT EXISTS `customers` (
  `id` int(10) unsigned NOT NULL,`f_name` varchar(50) DEFAULT NULL,`l_name` varchar(50) DEFAULT NULL,`company_name` varchar(200) DEFAULT NULL,`email` varchar(50) DEFAULT NULL,`phone` varchar(25) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `customers` (`id`,`f_name`,`l_name`,`company_name`,`email`,`phone`) VALUES
    ...
    ...
    ...

我想使用这些命令创建一个sqlite3数据库文件,以便使用Python轻松使用.

如何在Ubuntu上执行此操作?

解决方法

这不是一个sql文件,它包含一些MysqL特定的东西,其中一些sqlite将接受,有些不会.我们将从顶部开始.

您不需要创建数据库或与sqlite一起使用.如果要从命令行运行sqlite3创建数据库,请将其命名:

$sqlite3 db_name.sqlt < your_sql.sql

如果db_name.sqlt存在,那么它将被使用,如果它不存在,那么它将被创建.所以创建数据库和使用是由你如何运行sqlite3隐含的.您可能需要使用不同的扩展名,具体取决于Python要查看的内容.

引用的反引号是MysqLism,双引号是标识符的标准引用机制.幸运的是,sqlite会接受他们,所以你可以让他们一个人.

sqlite不知道什么是int(10)unsigned意味着,你必须删除unsigned,否则sqlite将会接受它. sqlite也不会知道什么是ENGINE = InnoDB DEFAULT CHARSET = utf8意味着你也必须删除它.

你可能会碰到MysqL很高兴的其他事情,但sqlite不是.你必须尝试并修复它,并尝试并修复它,直到它工作.或者尝试找到一个可以为您转换数据库的工具,我总是手动执行这些操作或使用一次性脚本,因此我不知道可以帮助您的任何工具.

猜你在找的MsSQL相关文章