作为一个拥有超过 20 小时 Python 编码和熟悉命令行的新手的初级程序员,我打开了 Zed Shaw 的“Learn SQL The Hard Way”,很快就被难住了。
在练习 01中,Zed 让您使用以下第一个命令创建您的第一个表:
sqlite3 ex1.db < ex1.sql
但是,这无法在我的命令行中运行,并给出错误消息“-bash: ex1.sql: No such file or directory”。最初,我忽略了这个推荐的代码并继续:
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
我搜索了一下,发现这个博客实现了相同的“name.db < name.sql”语法,但是按照这里的代码对我也不起作用。这个Stack Overflow也有类似的语法,但在将 .sql 转换为 sqlite3 的上下文中。
具体来说,我想知道这是否是在本机 bash 终端中使用的“<”,并且我未能满足其正确使用的某些标准。此外,我不知道同时创建 .sql 和 .db 文件的目的,尽管显然其中一个比另一个小得多。也许我错误地安装了 sqlite3,但它似乎工作正常。
谢谢你的帮助!