sql - 如何在 SQL 中编写查询?
问题描述
我目前正在学习 CS50,这是哈佛的在线编码入门课程。我们刚刚介绍了 SQL,我现在正在尝试尝试问题集中的“电影”问题,可以在此处找到其描述:https ://cs50.harvard.edu/x/2020/psets/7/movies /
但是,我不确定如何正确执行此操作。
例如对于1.sql,我的代码如下:
SELECT title FROM movies WHERE year = 2008;
我实际上只在文件“1.sql”中写了那一行,仅此而已。
但是当我跑步时
$ cat 1.sql | sqlite3 movies.db
在我的终端中,什么都没有发生?
这就是我应该为 SQL 编写代码的方式吗?或者我是否遗漏了一些我应该在查询上方包含的内容(例如标题或其他内容)?
需要明确的是,我相信我知道如何编写查询本身,但如果可能的话,我不知道编写它的“协议”。我的意思是,例如,我非常确定“SELECT title FROM movies WHERE year = 2008;” 满足问题的第一个要求。
一些启示将不胜感激!
编辑 1
好的,首先我必须向所有花时间评论我的帖子的人道歉。由于一些非常奇怪的原因,我的查询在我第一次运行时没有返回任何结果。然而,当我再次尝试时,它完美地工作了!不知道老实说出了什么问题,但现在一切都很好!很抱歉浪费大家的时间):
编辑 2
好的,我还发现我无法执行查询的原因是我在终端的“sqlite3”中。我应该运行命令在主终端中执行我的查询,即当它说“sqlite3”时。愚蠢的。我知道。
解决方案
选项 1)您可以在普通终端中运行“$ cat 1.sql | sqlite3 movies.db”(不是在 sqlite3 模式下)
选项2)您可以通过键入“sqlite3 movies.db”打开sql环境(如果它存在,它将打开movies.db,如果不存在则创建一个临时的)。然后你可以在“sqlite>”之后输入“.read 1.sql”
推荐阅读
- datetime - 离线模式下的otp当前日期时间问题
- api - VS Code API 调用不适用于基本授权
- c++ - 为什么在 same_as 中检查两次相等性?
- python-3.x - 生成具有特定长度并使用掩码的所有可能的十六进制字符串列表的最有效方法
- javascript - 使用 Firestore 集合创建带有 javascript 函数的 Html 表
- markdown - jupyter实验室可以当markdown编辑器吗?
- php - 在 PHP 中正确显示 HTML 电子邮件
- discord - 如何检查用户消息是否是视频?
- python - Pyarrow:将流读入熊猫数据帧高内存消耗
- php - 如何在 laravel Blade 中创建可搜索的选择选项表单