gpt4 book ai didi

c - sqlite3 api 与数据库交互

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:37 26 4
gpt4 key购买 nike

从这里运行这个简单示例时遇到问题:

SQLite example

我创建了数据库

[prompt]$ sqlite3 /tmp/bedrock.db
sqlite> .help
sqlite> CREATE TABLE employee (Name varchar(20),Dept varchar(20),jobTitle varchar(20));
sqlite> .schema employee
CREATE TABLE employee (Name varchar(20),Dept varchar(20),jobTitle varchar(20));
sqlite> INSERT INTO employee VALUES ('Fred Flinstone','Quarry Worker','Rock Digger');
sqlite> INSERT INTO employee VALUES ('Wilma Flinstone','Finance','Analyst');
sqlite> INSERT into employee values ('Barney Rubble','Sales','Neighbor');
sqlite> INSERT INTO employee VALUES ('Betty Rubble','IT','Neighbor');
sqlite> .tables
employee
sqlite> SELECT Name FROM employee WHERE dept='Sales';
Barney Rubble
sqlite> SELECT * FROM employee;
Fred Flinstone|Quarry Worker|Rock Digger
Wilma Flinstone|Finance|Analyst
Barney Rubble|Sales|Neighbor
Betty Rubble|IT|Neighbor
sqlite> DELETE FROM employee WHERE dept='Sales';
sqlite> .output /tmp/bedrock.sql
sqlite> .dump
sqlite> .exit

一切似乎都很好,我退出了程序,但在我再次进入 sqlite3 程序后,当我尝试 .databases 命令时数据库不存在(但它出现在退出之前),而且我不知道如何再次对其进行修改。

更新:

我设法找到了 this page在官方文档网站上,它完美地工作,这对我来说很好。但是在退出 sqlite3 应用程序后,我仍然对修改数据库和更新内容感到困扰。有什么方法可以让我与我选择的数据库进行交互吗?创建数据库后添加/删除表?

最佳答案

你听起来很困惑,我认为你所报告的部分内容是因为你一头雾水。

您可以随时修改数据库(包括它包含的数据和表结构)。即使在添加数据之后。即使在您离开 sqlite3 程序之后。

在您上面的示例中,有两个文件。一个是 /tmp/bedrock.db。那就是数据库。对数据库使用 /tmp 不是一个好主意,因为 /tmp 中的文件会被删除。无论如何,您可以使用 sqlite3/tmp/bedrock.db 重新连接到该数据库。

请注意,您必须在使用 sqlite3 命令时包含数据库。如果您在没有数据库的情况下启动 sqlite3,则 .databases 命令将显示数据库。

另一个文件是/tmp/bedrock.sql。那只是您用来创建数据库的 sql。通常那是没有用的,通常您不会创建它。它在该示例中创建的原因是因为该示例是从旧版本的 sqlite 更新的。但这不是您需要担心的事情。如果我是你,我会完全忘记这个文件。

如果它没有被删除(因为它在 /tmp 中)那么你现在可以连接到你的数据库,使用 sqlite3/tmp/bedrock.db 和继续修改。

关于c - sqlite3 api 与数据库交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20283794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com