当前位置: 首页 > news >正文

南宁伯才网络建站如何WordPress一键采集插件

南宁伯才网络建站如何,WordPress一键采集插件,广州外贸建网站,医院网站建设运行管理办法使用C和SQLite进行多表联合查询的示例代码。假设有两个表&#xff1a; students 表和 scores 表&#xff0c; students 表包含学生的基本信息&#xff0c; scores 表包含学生的成绩信息&#xff0c;通过学生的 id 进行关联查询。 #include <iostream> #include …

使用C++和SQLite进行多表联合查询的示例代码。假设有两个表: students  表和  scores  表, students  表包含学生的基本信息, scores  表包含学生的成绩信息,通过学生的  id  进行关联查询。

#include <iostream>

#include <sqlite3.h>

#include <string>

 

// 回调函数,用于处理查询结果

static int callback(void *NotUsed, int argc, char **argv, char **azColName) {

    for (int i = 0; i < argc; i++) {

        std::cout << azColName[i] << " = " << (argv[i] ? argv[i] : "NULL") << " ";

    }

    std::cout << std::endl;

    return 0;

}

 

int main() {

    sqlite3 *db;

    char *zErrMsg = 0;

    int rc;

 

    // 打开数据库

    rc = sqlite3_open("test.db", &db);

    if (rc) {

        std::cerr << "Can't open database: " << sqlite3_errmsg(db) << std::endl;

        return 0;

    } else {

        std::cout << "Opened database successfully" << std::endl;

    }

 

    // 创建students表

    std::string sqlCreateStudents = "CREATE TABLE IF NOT EXISTS students ("

                                    "id INTEGER PRIMARY KEY AUTOINCREMENT,"

                                    "name TEXT NOT NULL,"

                                    "age INTEGER NOT NULL);";

    rc = sqlite3_exec(db, sqlCreateStudents.c_str(), 0, 0, &zErrMsg);

    if (rc != SQLITE_OK) {

        std::cerr << "SQL error: " << zErrMsg << std::endl;

        sqlite3_free(zErrMsg);

    }

 

    // 创建scores表

    std::string sqlCreateScores = "CREATE TABLE IF NOT EXISTS scores ("

                                   "id INTEGER PRIMARY KEY AUTOINCREMENT,"

                                   "student_id INTEGER NOT NULL,"

                                   "math_score REAL NOT NULL,"

                                   "english_score REAL NOT NULL,"

                                   "FOREIGN KEY (student_id) REFERENCES students(id));";

    rc = sqlite3_exec(db, sqlCreateScores.c_str(), 0, 0, &zErrMsg);

    if (rc != SQLITE_OK) {

        std::cerr << "SQL error: " << zErrMsg << std::endl;

        sqlite3_free(zErrMsg);

    }

 

    // 插入学生数据

    std::string sqlInsertStudents = "INSERT INTO students (name, age) VALUES ('Alice', 20); "

                                    "INSERT INTO students (name, age) VALUES ('Bob', 21);";

    rc = sqlite3_exec(db, sqlInsertStudents.c_str(), 0, 0, &zErrMsg);

    if (rc != SQLITE_OK) {

        std::cerr << "SQL error: " << zErrMsg << std::endl;

        sqlite3_free(zErrMsg);

    }

 

    // 插入成绩数据

    std::string sqlInsertScores = "INSERT INTO scores (student_id, math_score, english_score) VALUES (1, 90.5, 85.0); "

                                  "INSERT INTO scores (student_id, math_score, english_score) VALUES (2, 80.0, 75.5);";

    rc = sqlite3_exec(db, sqlInsertScores.c_str(), 0, 0, &zErrMsg);

    if (rc != SQLITE_OK) {

        std::cerr << "SQL error: " << zErrMsg << std::endl;

        sqlite3_free(zErrMsg);

    }

 

    // 多表联合查询

    std::string sqlQuery = "SELECT students.name, students.age, scores.math_score, scores.english_score "

                           "FROM students "

                           "JOIN scores ON students.id = scores.student_id;";

    rc = sqlite3_exec(db, sqlQuery.c_str(), callback, 0, &zErrMsg);

    if (rc != SQLITE_OK) {

        std::cerr << "SQL error: " << zErrMsg << std::endl;

        sqlite3_free(zErrMsg);

    }

 

    // 关闭数据库

    sqlite3_close(db);

    return 0;

}

上述代码先创建了  students  表和  scores  表,并插入了一些测试数据,然后通过  JOIN  关键字将两个表基于  students.id  和  scores.student_id  的关联关系进行联合查询,将学生的基本信息和成绩信息一起查询并输出。

http://www.dtcms.com/a/420111.html

相关文章:

  • 免费三网合一网站系统网站建设介绍书
  • 网站开发公司起名10分钟快速建网站
  • flink批处理-时间和窗口
  • 无锡有什么网站怎样免费注册个人网网址
  • SLAM | SLAM中松耦合与紧耦合技术对比分析
  • xtuoj 方程组
  • 重庆网站设计建设东莞微联建站
  • 北京医疗网站建设公司排名网站建设开票项目是什么
  • C#——方法的定义、调用与调试
  • 开源的容器化平台:Docker入门与核心概念解析
  • 手机网站价格小广告网页
  • 晋城市建设局网站国内编程培训机构排名
  • 08 线性回归 + 基础优化算法【动手学深度学习v2】
  • 创新为擎,绿色为基:新天力科技引领食品容器行业高质量发展新征程
  • 从 GDPR 到 ROI:一次评透海外影音数据抓取的合规与性价比
  • 商务网站规划与建设中江建设银行网站
  • 关于做书的网站专门做项目代理的网站
  • 【Vue3】v-dialog 中使用 execCommand(‘copy‘) 复制文本失效的原因与解决方案
  • lesson70:jQuery Ajax完全指南:从基础到4.0新特性及现代替代方案引言:jQuery Ajax的时代价值与演进
  • 郑州网站建设 李浩大气集团企业网站模板
  • Redis高级特性:持久化机制
  • 哈尔滨模板建站哪个品牌好网站怎么做交易
  • 城建设投资公司网站潍坊路通工程建设有限公司网站
  • 个人工作室网站如何把字体安装在wordpress
  • 轴状态读取(枚举变量直接赋值给整型变量)
  • 做哪方面的网站好呢深圳ppt设计制作公司
  • 做ppt找图片在哪个网站电商运营工作很难做吗
  • qqqqqqq
  • 如何建设网站简答题太原网站建设模板
  • GA论文阅读