命令行 – 学习SQL艰难的方法 – 在SQL Lite 3中使用.db创建.sql

作为一名初学程序员,他有20个小时的Python编码和熟悉命令行的新手,我开辟了Zed Shaw的“学习SQL困难之路”并很快就被打败了.

在exercise 01,Zed让你用第一个命令创建你的第一个表:

sqlite3 ex1.db < ex1.sql

但是,这无法在我的命令行中运行,给出错误消息“-bash:ex1.sql:没有这样的文件或目录.”最初,我忽略了这个推荐的代码并继续:

sqlite3 ex1.db
SQLite version 3.7.15.1 2012-12-19 20:39:10
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> CREATE TABLE person (
   ...>     id INTEGER PRIMARY KEY,...>     first_name TEXT,...>     last_name TEXT,...>     age INTEGER
   ...> );

在命令行中运行“ls -l”显示:

-rw-r--r--  1 thefifth  staff  2048 Feb 15 15:23 ex1.db

但我想要的却未能得到:

$ls -l
-rw-r--r--  1 zedshaw  staff  2048 Nov  8 16:18 ex1.db
-rw-r--r--  1 zedshaw  staff    92 Nov  8 16:14 ex1.sql

我用Google搜索并发现this blog实现了相同的“name.db< name.sql”语法,但是这里的代码跟着我也不起作用.这个Stack Overflow也有类似的语法,但在将.sql转换为sqlite3的上下文中.

具体来说,我想知道这是否是“<”用于本机bash终端,并且我无法满足正确使用的某些标准.另外,我不知道创建.sql和.db文件的目的,虽然显然一个比另一个小得多.也许我已经错误地安装了sqlite3,但它似乎工作正常. 谢谢你的帮助!

解决方法

>将代码保存在扩展名为.sql的文件中 >然后在终端:sqlite3 ex1.db< ex1.sql用于创建ex1.db >放入终端:sqlite3 ex1.db .schema >或者说:sqlite3 ex1.db […然后….] .schema

相关文章

发表回复

您的电子邮箱地址不会被公开。