IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> c++使用Mysql的详解及常用操作示例 -> 正文阅读

[系统运维]c++使用Mysql的详解及常用操作示例

ubuntu14.04命令安装mysql
MYSQL 基础知识之API解析

运行环境:ubuntu14.04
c++版本: c++11
编译器:QT
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu
Mysql版本:mysql Ver 14.14 Distrib 5.5.62, for debian-linux-gnu (x86_64) using readline 6.3

1 pro文件

TEMPLATE = app
CONFIG += console c++11
CONFIG -= app_bundle
CONFIG -= qt

LIBS += -L/usr/local/lib -lmysqlclient

SOURCES += main.cpp

2 代码实例

2.1 实例1 —— 查询

  • 示例表:
    在这里插入图片描述
  • 源码:
#include <iostream>
#include <vector>
#include "mysql/mysql.h"
using namespace std;

int main()
{
    string strSelect = "select * from repositories";

    MYSQL *pDatabase = mysql_init(nullptr);
    MYSQL *pConnect = mysql_real_connect(pDatabase, "127.0.0.1", "root", 
    "yourpassword", "vrsmgr",3306, nullptr, 0);

    int iQueryRet = mysql_query(pConnect, strSelect.c_str());
    cout << "iRet = " << iQueryRet << endl;

    MYSQL_RES *pRes = mysql_store_result(pConnect);
    if(nullptr != pRes)
    {
        int iRowCount = mysql_num_rows(pRes);
        cout << "row count = " << iRowCount << endl;

        int iColCount = mysql_num_fields(pRes);
        cout << "col count = " << iColCount << endl;

        MYSQL_FIELD *pField = nullptr;
        vector<string> vctFields;
        while (pField = mysql_fetch_field(pRes) )
        {
            cout << pField->name << "\t";
            vctFields.push_back(pField->name);
        }

        MYSQL_ROW pQueryRes;
        int iCurRow = 0;
        while (pQueryRes = mysql_fetch_row(pRes) )
        {
            cout << "\nrow " << ++iCurRow << " :" << endl;
            for(int i = 0; i < iColCount; ++i)
            {
                if(nullptr == pQueryRes[i])
                {
                    cout << vctFields[i] << " = " << "null" << endl;
                }
                else
                {
                    cout << vctFields[i] << " = " << pQueryRes[i] << endl;
                }
            }
        }

        mysql_free_result(pRes);
    }
    mysql_close(pConnect);
    
    getchar();
    return 0;
}
  • 解析:
    1~4:头文件及使用std命名空间
    8:定义sql查询语句
    10:初始化MYSQL对象
    11~12:用root用户连接本地服务器的vrsmgr数据库
    14:查询数据库
    17:将查询的全部结果读取到客户端,将结果置于返回值pRes中
    20:获取结果集中数据的行数
    23:获取结果集中数据的列数
    28:循环获取结果集中数据的列信息
    31:将列的字段名存在vctFields中
    36:循环获取结果集中每一行的数据信息
    39:循环获取每一行的每一列数据内容
    52:释放为结果集分配的内存
    54:关闭前面打开的连接
  • 运行结果:
iRet = 0
row count = 2
col count = 13
id	name	description	author	trunkId
status	version	date	tableId	revision
private_flag	delete_flag	property_file_id	
row 1 :
id = 1
name = test1
description = null
author = null
trunkId = 2
status = 3
version = 1.0.1
date = null
tableId = 4
revision = null
private_flag = 5
delete_flag = null
property_file_id = null

row 2 :
id = 11
name = test11
description = null
author = null
trunkId = 22
status = 33
version = 1.0.2
date = null
tableId = 44
revision = null
private_flag = 0
delete_flag = null
property_file_id = null

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 11:12:00  更:2021-09-07 11:14:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 15:01:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码