以艰难的方式学习SQL - 练习1. sqlite3 ex1.db< ex1.sql无法正常工作

时间:2015-01-06 12:22:54

标签: sql sqlite

学习SQL艰难之路 - 练习1. http://sql.learncodethehardway.org/book/ex1.html

确实很难。

我首先不得不四处寻找

> sqlite3 ex1.db < ex1.sql 

命令工作,您必须先手动创建.sql文件。但是当有文件时我输入

D:\SQL> sqlite3 ex1.db < ex1.sql
它似乎根本没有做任何事情。文件大小保持0个字节。

D:\Sql>sqlite3 ex1.db < ex1.sql

D:\Sql>dir

Directory of D:\Sql

06-01-2015  13:01    <DIR>          .
06-01-2015  13:01    <DIR>          ..
06-01-2015  13:00             4.096 ex1.db
06-01-2015  12:51                 0 ex1.sql

我目前正在练习6,其他一切正在发挥作用。 (我可以在我创建的表格中SELECT

2 个答案:

答案 0 :(得分:2)

您需要将SQL语句放入SQL文件中,该教程暗示您应该放置:

CREATE TABLE person (
    id INTEGER PRIMARY KEY,
    first_name TEXT,
    last_name TEXT,
    age INTEGER
);
ex1.sql中的

答案 1 :(得分:1)

(感谢我通过侧边栏找到的https://stackoverflow.com/a/25213083/1692094

固定。问题是我通过sqlite3命令行创建了.sql文件,而它应该在常规文本编辑器中创建。现在一切似乎都在起作用。

正确的步骤:

打开记事本(或其他文本编辑器)并输入

CREATE TABLE person (
id INTEGER PRIMARY KEY,
first_name TEXT,
last_name TEXT,
age INTEGER
);

CREATE TABLE pet (
id INTEGER PRIMARY KEY,
name TEXT,
breed TEXT,
age INTEGER,
dead INTEGER
);

CREATE TABLE person_pet (
person_id INTEGER,
pet_id INTEGER
);

将文件另存为ex2.sql

打开命令提示符并键入>sqlite3 ex2.db < ex2.sql。将使用ex2.sql文件中的代码生成ex2.db文件。