作为一名初学程序员,他有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,但它似乎工作正常. 谢谢你的帮助!