zyf
2025-03-20 6cc7dc16fe70f56fe3094b9f4c8858f3c3b0429d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include <iostream>
//#include <mysql.h>
#include <winsock2.h>
#include "mysql/include/mysql.h"
 
#include <memory>
#include <string>
#include <chrono> 
#include <fstream>
#include <vector>
 
using namespace std;
 
#pragma comment(lib, "libmysql.lib")
#pragma comment(lib, "ws2_32.lib")
 
typedef long long ll;
/*
mysql_init() ³õʼ»¯MYSQL±äÁ¿
mysql_real_connect //Á¬½Óµ½Êý¾Ý¿â
mysql_real_query //Êý¾Ý¿â²éѯ
mysql_query(MYSQL*mysql,const char*query)
mysql_store_result/mysql_use_result //·µ»ØµÄ»ñÈ¡²éѯ½á¹ûÊý¾Ý
mysql_fetch_row//¶ÁÈ¡½á¹û¼¯Êý¾Ý
mysql_free_result//ÊͷŽá¹û¼¯£¬ÒÔ·ÀÄÚ´æÐ¹Â©
mysql_close//¹Ø±ÕÊý¾Ý¿âÁ¬½Ó
 
*/
class ConnectMysql
{
private:
    std::chrono::steady_clock::time_point m_alivetime;// ¼Ç¼Á¬½ÓµÄ´æ»îÆðʼʱ¼äµã
    MYSQL* m_conn;
    MYSQL_RES* m_result;// ±£´æ²éѯ½á¹û
    MYSQL_ROW m_mysqlRow;// ±£´æ²éѯ½á¹ûµÄijһÐÐ
 
    void freeRes();// ÊͷŽá¹û¼¯
 
public:
    ConnectMysql();
    ~ConnectMysql();
    bool connect(const string user = "root", const string passwd = "1",
        const string dbName = "AI_datas", string ip = "192.168.133.129", const unsigned short port = 3306);// Á¬½ÓÊý¾Ý¿â
    bool update(const string sql) const;// ¸üÐÂÊý¾Ý¿â
    bool query(const string sql);// ²éѯÊý¾Ý¿â
    bool getRes();// ±éÀú²éѯ½á¹û¼¯£¬»ñÈ¡ÏÂÒ»ÐÐÊý¾Ý
    string getValue(const int fieldIndex) const;// »ñÈ¡²éѯ½á¹û¼¯Ä³Ò»ÐеÄijһÁÐ
    vector<vector<string>> getQueryResults();  // ²éѯ½á¹û
    //bool selectDB(const string dbName) const;// Ñ¡ÔñÊý¾Ý¿â
    //bool createDB(const string dbName) const;// ´´½¨Êý¾Ý¿â
 
    void backupCurrentDBUsingShell(const string path);    // Ê¹ÓàShell ½Å±¾±¸·ÝÊý¾Ý¿â
    void backupCurrentDB(const string path);    //±¸·ÝÊý¾Ý¿â
    void backupCurrentTable(const string path, const string tableName);
    bool transaction() const;// ¿ªÆôÊÂÎñ
    bool commit() const;// Ìá½»ÊÂÎñ
    bool rollback() const;// »Ø¹öÊÂÎñ
    void refreashAliveTime();// Ë¢Ð´æ»îʱ¼ä
    ll getAliveTime();// »ñÈ¡´æ»îʱ¼ä£¬µ¥Î»£ººÁÃë
};