【问题标题】:SQLite - How to use it at terminal level & C++ application?SQLite - 如何在终端级别和 C++ 应用程序中使用它?
【发布时间】:2012-08-13 07:12:13
【问题描述】:

我是 sqlite 的新手,我最近才安装它。我对 mysql 很熟悉,但我需要使用 sqlite,因为我将它用于我要创建的 C++ 应用程序。

问题 1:

我在命令行终端输入这个

root@ubuntu:/home/baoky/version1.2/Assignment 2# sqlite abeserver.db

然后我看到了这个输出

sqlite>

所以我输入 .h 并看到帮助命令列表

但我想创建一个表

sqlite> .数据库

seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/baoky/version1.2/Assignment 2/abeserver.db          
1    temp             /var/tmp/sqlite_hjT3FEefcAHRPhn 

在我的主数据库中

我如何在终端级别执行这个 sql 命令

CREATE TABLE abe_account (
  username TEXT,
  name TEXT,
  department TEXT,
  password TEXT
);

问题 2:

如何使用 C++ 将记录插入表 abe_account

问题 3:

如何从表 abe_account 中检索记录并使用 C++ 将其分配给字符串

对不起,我用谷歌搜索并搜索堆栈溢出,我仍然对用法感到困惑,如果它是 mysql,对我来说会很简单。

【问题讨论】:

    标签: c++ sql sqlite


    【解决方案1】:

    问题 2:

    问题 3:

    朋友,我来谷歌一下吧:An Introduction To The SQLite C/C++ Interface

    【讨论】:

      【解决方案2】:

      如果你使用的是 sqlite 终端,你可以在那里输入 SQL,它就会被执行。

      您的 C++ 代码的典型工作循环将如下所示某事

      sqlite3 * db;//database
      sqlite3_stmt * stmt;//sql statement
      
      sqlite3_open( "database.db", & db );//opening database
      
      sqlite3_prepare( db, "SELECT something FROM something else;", -1, &stmt, NULL );//preparing the statement
      sqlite3_step( stmt );//executing the statement
      
      while( sqlite3_column_text( stmt, 0 ) )
      {
      char * str = (char *) sqlite3_column_text( stmt, 0 );///reading the 1st column of the result
      //do your stuff
      sqlite3_step( stmt );//moving to the next row of the result
      }
      
      sqlite3_finalize(stmt);
      sqlite3_close(db);
      

      您可以轻松地搜索函数以了解它们的论点以及它们的详细功能。

      【讨论】:

      • 我需要包含什么库才能在 C++ 中使用这个 sqlite3
      • 你需要#include sqlite3.h
      【解决方案3】:

      要创建一个新数据库,只需连接到它:

      $ sqlite3 your_database_file
      

      这将在文件your_database_file 中创建您的数据库。如果该文件已经存在,该命令将打开它。

      然后你可以执行CREATE TABLE或任何其他SQL。

      【讨论】:

      • 当我在 sqlite 中时如何执行创建表>
      • 我刚试过,但是我输入了show tables;或显示数据库;它不起作用,我如何列出我的数据库中的所有表
      • 好的,我设法使用 .tables 和 .databases 来执行以下操作,外观和感觉有点不同,但我开始掌握它了,感谢您的帮助。
      猜你喜欢
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 2014-10-22
      相关资源
      最近更新 更多