如何用sql编写查询?

6jygbczu  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(272)

我目前正在学习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编写代码吗?或者我遗漏了一些我应该在我的查询上面包含的东西(例如作为标题或什么)?
说清楚一点,我相信我知道如何编写查询本身,但如果可以的话,我不知道编写查询的“协议”。我的意思是,例如,我肯定“从电影中选择标题,其中年份=2008满足问题的第一个要求。
希望你能有所启迪!
编辑1
好的,首先我必须向所有在我的帖子上发表评论的人道歉。由于一些非常奇怪的原因,我的查询在第一次运行时没有返回任何结果。然而,当我再次尝试,它的工作完美!我不确定到底出了什么问题,但现在一切都好了!很抱歉浪费大家的时间):
编辑2
好吧,我还发现我不能执行查询的原因是我在终端的“sqlite3”中。我应该在主终端上运行这个命令来执行我的查询,也就是说,当它说“sqlite3”时就不是了。愚蠢的。我知道。

332nm8kg

332nm8kg1#

打开浏览器并在你的课程网站上测试它
用法要在cs50ide上测试查询,可以通过运行
$cat filename.sql | sqlite3 movies.db其中filename.sql是包含sql查询的文件。
或者可以将它们粘贴到sqlite的“执行sql”选项卡的db browser中,然后单击▶.

z8dt9xmd

z8dt9xmd2#

选项1)您可以在普通终端上运行“$cat 1.sql | sqlite3 movies.db”(不在sqlite3模式下)
选项2)您可以通过键入“sqlite3 movies.db”来打开sql环境(如果movies.db存在,它将打开movies.db;如果不存在,它将创建一个临时的movies.db)。然后可以在“sqlite>之后键入“.read 1.sql”

相关问题