sql - 学习 SQL 的硬方法 - 练习 2 - 创建多表数据库 - .schema 命令

标签 sql sqlite schema

I understand the sql in this exercise完美,但设置类型的任务让我感到困惑。 Zed 要求您使用以下 SQL 在新数据库中创建以下通过 id 键关联的表。我在那里很好。

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
);

在我的 Windows 命令提示符中,我输入了:
C:\SQLite> sqlite3 ex2.db < ex2.sql

ex2.db 是我的新数据库,ex2.sql 包含上面列出的创建语句。

然后 Zed 要求您使用 sqlite 命令提示符输入 .schema。我什么都不会发生。它不会转储。 .schema 是否仅适用于 Linux 或 OSX?我在 window 上。

以下是他说你应该得到的:
sqlite> .schema
CREATE TABLE person (
    id INTEGER PRIMARY KEY,
    first_name TEXT,
    last_name TEXT,
    age INTEGER
);
CREATE TABLE person_pet (
    person_id INTEGER,
    pet_id INTEGER
);
CREATE TABLE pet (
    id INTEGER PRIMARY KEY,
    name TEXT,
    breed TEXT,
    age INTEGER,
    dead INTEGER
);
sqlite>

相反,这就是我得到的:
sqlite> .schema
sqlite>

最佳答案

你必须启动sqlite3工具:

C:\SQLite> sqlite3 ex2.sb
sqlite> .schema
...

没有数据库文件名,sqlite3只是创建一个临时数据库。

关于sql - 学习 SQL 的硬方法 - 练习 2 - 创建多表数据库 - .schema 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19143407/

相关文章:

ruby-on-rails - 我可以即时创建 resque 队列吗

sql - 无法使用 ALTER TABLE 添加 FOREIGN KEY 约束

sql - 将列的值与该列的平均值进行比较 SQL

sqlite - 使用 Xamarin.Forms 从 Sqlite 数据库获取数据

xml - SSIS 如何从变量传递 XSD 路径

architecture - 收集审计和统计数据

sql - 查询返回太多结果?

sql - 如果字段之间的所有值在 PostgreSQL 中不匹配,则链接两个表?

python - 将 python 列表插入 SQLite 数据库

entity-framework - Entity Framework SaveChanges 不保存数据