国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng))

這篇具有很好參考價(jià)值的文章主要介紹了c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng))。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

ubuntu下mysql數(shù)據(jù)庫(kù)的安裝

ubuntu安裝mysql(圖文詳解)-CSDN博客https://blog.csdn.net/qq_58158950/article/details/135667062?spm=1001.2014.3001.5501

項(xiàng)目目錄結(jié)構(gòu)

c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng)),c++,數(shù)據(jù)庫(kù),c++,mysql

數(shù)據(jù)庫(kù)及表結(jié)構(gòu)

c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng)),c++,數(shù)據(jù)庫(kù),c++,mysql

public.h

//打印錯(cuò)誤信息?

#ifndef PUBLIC_h
#define PUBLIC_H

#include<iostream>
using namespace std;

// 打印源文件的文件名、所造行號(hào)和時(shí)間戳
#define LOG(str)\
    cout<<__FILE__<<":"<<__LINE__<<" "<<\
    __TIMESTAMP__<<" : "<<str<<endl;

#endif

這段代碼是一個(gè)宏定義,它定義了一個(gè)名為 LOG 的宏。

  • __FILE__?是一個(gè)預(yù)定義宏,它會(huì)在編譯時(shí)被替換為當(dāng)前源文件的文件名(包括路徑)。
  • __LINE__?也是一個(gè)預(yù)定義宏,它會(huì)在編譯時(shí)被替換為當(dāng)前代碼所在的行號(hào)。
  • __TIMESTAMP__?是一個(gè)非標(biāo)準(zhǔn)的宏,在許多編譯器中并不支持。它被替換為編譯時(shí)的時(shí)間戳。

該宏的作用是在輸出日志時(shí)打印出當(dāng)前源文件的文件名、所在行號(hào)和時(shí)間戳,以及傳入的日志內(nèi)容。

MySqlConn.hpp?

//與mysql進(jìn)行交互的類,包括mysql的連接已經(jīng)操作

#ifndef MYSQLCONN_H
#define MYSQLCONN_H
#include<string>
#include "mysql/mysql.h"

class MySqlConn
{
public:
    //初始化數(shù)據(jù)庫(kù)連接
    MySqlConn();
    //釋放數(shù)據(jù)庫(kù)連接
    ~MySqlConn();

    //連接數(shù)據(jù)庫(kù)
    bool connection(string ip,unsigned short port,string user,string passwd,string dbname);
    // bool connection();

    //更新操作,insert,delete,update
    bool update(string sql);
    //查詢操作
    MYSQL_RES* query(string sql);

private:
    MYSQL *_conn;
};
#endif

這段代碼實(shí)現(xiàn)了一個(gè) MySQL 數(shù)據(jù)庫(kù)連接的封裝類 MySqlConn,該類提供了以下功能:

  1. 初始化和釋放數(shù)據(jù)庫(kù)連接。
  2. 連接數(shù)據(jù)庫(kù)。
  3. 執(zhí)行更新操作(insert, delete, update)。
  4. 執(zhí)行查詢操作(select)并返回結(jié)果集。

MySqlConn.cpp?

#include "public.h"
#include "MySqlConn.hpp"

//初始化數(shù)據(jù)庫(kù)連接
MySqlConn::MySqlConn()
{
    //初始化數(shù)據(jù)庫(kù)連接
    _conn=mysql_init(nullptr);
}
//釋放數(shù)據(jù)庫(kù)連接
MySqlConn::~MySqlConn()
{
    if(_conn!=nullptr)
    {
        mysql_close(_conn);
    }
}

//連接數(shù)據(jù)庫(kù)
// bool MySqlConn::connection()
bool MySqlConn::connection(string ip,unsigned short port,string user,string passwd,string dbname)
{
    MYSQL* p=mysql_real_connect(
        _conn,//數(shù)據(jù)庫(kù)連接
        //mysql數(shù)據(jù)庫(kù)內(nèi)部使用c風(fēng)格的字符串,需要使用c_str()函數(shù)將string類型字符串進(jìn)行轉(zhuǎn)換
        ip.c_str(),//ip地址
        user.c_str(),//用戶名
        passwd.c_str(),//密碼
        dbname.c_str(),//數(shù)據(jù)庫(kù)名稱
        port,//mysql端口號(hào)
        nullptr,0
    );

    if(p)
    {
        mysql_query(_conn,"SET NAME UTF8");
        // mysql_options(_conn, MYSQL_SET_CHARSET_NAME, "gb2312");
    }

    LOG("數(shù)據(jù)庫(kù)連接成功!");
    return p;
}

//更新操作
bool MySqlConn::update(string sql)
{
    //insert,delete,update
    if(mysql_query(_conn,sql.c_str()))
    {
        LOG("更新失敗:"+sql);
        const char* errorMsg = mysql_error(_conn);
        LOG("錯(cuò)誤信息:" + string(errorMsg));
        return false;
    }
    return true;
}
//查詢操作,select
MYSQL_RES* MySqlConn::query(string sql)
{
    if(mysql_query(_conn,sql.c_str()))
    {
        LOG("查詢失?。?+sql);
        LOG("錯(cuò)誤信息:" + string(mysql_error(_conn)));
        return nullptr;
    }
    return mysql_use_result(_conn);
}

sprintf() 函數(shù)是 C 語(yǔ)言標(biāo)準(zhǔn)庫(kù)中的一個(gè)格式化輸出函數(shù),它的原型如下:

int sprintf(char *str, const char *format, ...);

sprintf() 函數(shù)的作用是將格式化的字符串輸出到指定的字符數(shù)組 str。它的參數(shù)與 printf() 函數(shù)類似,第二個(gè)參數(shù) format 是格式化字符串,后面的可變參數(shù)則是要輸出的數(shù)據(jù)。

sprintf() 返回輸出的字符數(shù),如果出錯(cuò),則返回一個(gè)負(fù)數(shù)。

sprintf() 函數(shù)可以用于將格式化的數(shù)據(jù)轉(zhuǎn)換為字符串,然后將字符串輸出到一個(gè)緩沖區(qū)中。

main.cpp

#include<iostream>
#include"public.h"
#include"MySqlConn.hpp"
using namespace std;

int main()
{
    // LOG("this is log msg!!!");
    string ip = "127.0.0.1";
    string user = "root";
    string passwd = "123456";
    string dbname = "chat";

    MySqlConn conn;//創(chuàng)建mysql對(duì)象
    //定義sql語(yǔ)句
    char sql[1024]={0};
    sprintf(sql,
            "insert into user(name,age,sex) values('%s',%d,'%s')",
            "jack",20,"male");
    //連接數(shù)據(jù)庫(kù)
    conn.connection(ip,3306,user,passwd,dbname);
    //執(zhí)行sql
    conn.update(sql);
    return 0;
}

CMakeLists.txt

cmake_minimum_required(VERSION 3.0)
project(mysql)

# 編譯配置選項(xiàng)
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}  -g)

# 配置可執(zhí)行文件的生成路徑
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

aux_source_directory(. SRC_LIST)

add_executable(mysqltest ${SRC_LIST})
target_link_libraries(mysqltest mysqlclient)

進(jìn)入build文件夾中編譯

cmake ..
make

c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng)),c++,數(shù)據(jù)庫(kù),c++,mysql

進(jìn)入bin目錄下執(zhí)行

c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng)),c++,數(shù)據(jù)庫(kù),c++,mysql?查看結(jié)果

c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng)),c++,數(shù)據(jù)庫(kù),c++,mysql文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-811531.html

到了這里,關(guān)于c++ mysql數(shù)據(jù)庫(kù)編程(linux系統(tǒng))的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux系統(tǒng)中MySQL 數(shù)據(jù)庫(kù)的主從同步

    在主數(shù)據(jù)庫(kù)服務(wù)器上配置: 編輯主數(shù)據(jù)庫(kù)服務(wù)器的配置文件(my.cnf) : 打開(kāi) MySQL 配置文件,一般路徑為 /etc/my.cnf 或 /etc/mysql/my.cnf。 確保以下參數(shù)已啟用或配置正確: 注: 一定是[mysqld]代碼塊中 創(chuàng)建用于復(fù)制的用戶 : 登錄到 MySQL 控制臺(tái): mysql -u root -p 創(chuàng)建用于復(fù)制的用戶

    2024年03月23日
    瀏覽(19)
  • Linux系統(tǒng)MySQL數(shù)據(jù)庫(kù)的備份及應(yīng)用

    Linux系統(tǒng)MySQL數(shù)據(jù)庫(kù)的備份及應(yīng)用

    本節(jié)主要學(xué)習(xí)了MySQL數(shù)據(jù)庫(kù)的備份:概念,數(shù)據(jù)備份的重要性,造成數(shù)據(jù)丟失的原因,備份的類型,常見(jiàn)的備份方法,實(shí)例與應(yīng)用等。 目錄 一、概述 二、數(shù)據(jù)備份的重要性 三、造成數(shù)據(jù)丟失的原因 四、備份類型 1、物理與邏輯角度 ①物理備份—對(duì)數(shù)據(jù)庫(kù)操作系統(tǒng)的物理文件

    2024年02月15日
    瀏覽(22)
  • 系統(tǒng)學(xué)習(xí)Linux-MySQL數(shù)據(jù)庫(kù)備份(四)

    數(shù)據(jù)庫(kù)備份是指將數(shù)據(jù)庫(kù)中的數(shù)據(jù)、表格、視圖、存儲(chǔ)過(guò)程、觸發(fā)器等信息備份到另一個(gè)地方,一遍在數(shù)據(jù)庫(kù)丟失或損壞時(shí)進(jìn)行恢復(fù),數(shù)據(jù)庫(kù)備份是數(shù)據(jù)庫(kù)管理中必不可少的一項(xiàng)工作,通過(guò)備份可以保護(hù)數(shù)據(jù)庫(kù)中的數(shù)據(jù)和業(yè)務(wù)。 備份的主要目的是災(zāi)難恢復(fù),備份還可以測(cè)試應(yīng)

    2024年02月15日
    瀏覽(24)
  • 數(shù)據(jù)庫(kù)系統(tǒng)課設(shè)——基于python+pyqt5+mysql的酒店管理系統(tǒng)(可直接運(yùn)行)--GUI編程

    數(shù)據(jù)庫(kù)系統(tǒng)課設(shè)——基于python+pyqt5+mysql的酒店管理系統(tǒng)(可直接運(yùn)行)--GUI編程

    幾個(gè)月之前寫的一個(gè)項(xiàng)目,通過(guò)這個(gè)項(xiàng)目,你能學(xué)到關(guān)于數(shù)據(jù)庫(kù)的觸發(fā)器知識(shí),python的基本語(yǔ)法,python一些第三方庫(kù)的使用,包括python如何將前后端連接起來(lái)(界面和數(shù)據(jù)),還有界面的設(shè)計(jì)等等。希望大家能從項(xiàng)目中學(xué)到東西。 賓館管理系統(tǒng)通過(guò)提供顧客和員工信息之間的

    2024年02月05日
    瀏覽(34)
  • 數(shù)據(jù)庫(kù)系統(tǒng)課設(shè)——基于python+pyqt5+mysql的酒店管理系統(tǒng)(可直接運(yùn)行)--GUI編程(2)

    數(shù)據(jù)庫(kù)系統(tǒng)課設(shè)——基于python+pyqt5+mysql的酒店管理系統(tǒng)(可直接運(yùn)行)--GUI編程(2)

    ?幾個(gè)月之前寫的一個(gè)項(xiàng)目,通過(guò)這個(gè)項(xiàng)目,你能學(xué)到關(guān)于數(shù)據(jù)庫(kù)的觸發(fā)器知識(shí),python的基本語(yǔ)法,python一些第三方庫(kù)的使用,包括python如何將前后端連接起來(lái)(界面和數(shù)據(jù)),還有界面的設(shè)計(jì)等等。希望大家能從項(xiàng)目中學(xué)到東西。 賓館管理系統(tǒng)通過(guò)提供顧客和員工信息之間

    2024年02月03日
    瀏覽(25)
  • PHP 房產(chǎn)網(wǎng)站系統(tǒng)Dreamweaver開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)php編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    PHP 房產(chǎn)網(wǎng)站系統(tǒng)Dreamweaver開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)php編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    一、源碼特點(diǎn) ?? ?PHP 房產(chǎn)網(wǎng)站系統(tǒng)是一套完善的WEB設(shè)計(jì)系統(tǒng),對(duì)理解php編程開(kāi)發(fā)語(yǔ)言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫(kù),系統(tǒng)主要采用B/S模式開(kāi)發(fā)。 源碼 https://download.csdn.net/download/qq_41221322/88233553 論文 https://download.csdn.net/download/qq_41221322/88233555 PHP 房產(chǎn)網(wǎng)站系統(tǒng)Drea

    2024年02月12日
    瀏覽(32)
  • JSP在線小說(shuō)系統(tǒng)用eclipse定制開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)BS模式j(luò)ava編程jdbc

    JSP在線小說(shuō)系統(tǒng)用eclipse定制開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)BS模式j(luò)ava編程jdbc

    一、源碼特點(diǎn) ?? ? JSP 在線小說(shuō)系統(tǒng)是一套完善的web設(shè)計(jì)系統(tǒng),對(duì)理解JSP java編程開(kāi)發(fā)語(yǔ)言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫(kù),系統(tǒng)主要采用B/S模式開(kāi)發(fā)。開(kāi)發(fā)環(huán)境為 TOMCAT7.0,eclipse開(kāi)發(fā),數(shù)據(jù)庫(kù)為Mysql5.0,使用java語(yǔ)言開(kāi)發(fā)。 JSP在線小說(shuō)系統(tǒng)用eclipse定制開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)

    2024年02月12日
    瀏覽(29)
  • 基于Linux操作系統(tǒng)中的MySQL數(shù)據(jù)庫(kù)操作(三十)

    基于Linux操作系統(tǒng)中的MySQL數(shù)據(jù)庫(kù)操作(三十)

    MySQL數(shù)據(jù)庫(kù)安裝 目錄 一、概述 (一)什么是數(shù)據(jù)庫(kù) (二)數(shù)據(jù)庫(kù)能干什么 ? ? 1、企業(yè)應(yīng)用 ? ? 2、金融行業(yè) ? ? 3、電子商務(wù) ? ? 4、社交媒體 ? ? 5、物聯(lián)網(wǎng) (三)為什么要用數(shù)據(jù)庫(kù),優(yōu)勢(shì)、特性? ? ? 1、可靠性和穩(wěn)定性 ? ? 2、數(shù)據(jù)管理能力 ? ? 3、數(shù)據(jù)共享和集成 ?

    2024年02月15日
    瀏覽(27)
  • java碳排放數(shù)據(jù)信息管理系統(tǒng)Myeclipse開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)java編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    java碳排放數(shù)據(jù)信息管理系統(tǒng)Myeclipse開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)java編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    一、源碼特點(diǎn) ?? ?java Web碳排放數(shù)據(jù)信息管理系統(tǒng)是一套完善的java web信息管理系統(tǒng),對(duì)理解JSP java編程開(kāi)發(fā)語(yǔ)言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫(kù),系統(tǒng)主要采用B/S模式開(kāi)發(fā)。開(kāi)發(fā)環(huán) 境為TOMCAT7.0,Myeclipse8.5開(kāi)發(fā),數(shù)據(jù)庫(kù)為Mysql5.0,使用java語(yǔ)言開(kāi)發(fā)。 java Web碳排放數(shù)據(jù)信

    2024年01月22日
    瀏覽(28)
  • jsp 圖書銷售系統(tǒng)Myeclipse開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)java編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    jsp 圖書銷售系統(tǒng)Myeclipse開(kāi)發(fā)mysql數(shù)據(jù)庫(kù)web結(jié)構(gòu)java編程計(jì)算機(jī)網(wǎng)頁(yè)項(xiàng)目

    一、源碼特點(diǎn) ?? ? JSP 圖書銷售系統(tǒng)是一套完善的java web信息管理系統(tǒng),對(duì)理解JSP java編程開(kāi)發(fā)語(yǔ)言有幫助,系統(tǒng)具有完整的源代碼和數(shù)據(jù)庫(kù),系統(tǒng)主要采用B/S模式開(kāi)發(fā)。開(kāi)發(fā)環(huán)境為 TOMCAT7.0,Myeclipse8.5開(kāi)發(fā),數(shù)據(jù)庫(kù)為Mysql5.0,使用java語(yǔ)言開(kāi)發(fā)。 jsp 圖書銷售系統(tǒng)Myeclipse開(kāi)發(fā)mys

    2024年02月11日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包