Linux下C/C++连接MySql

首先确保已经安装有MySql的开发包

ubuntu下执行如下命令安装,其他发行版请自行查阅

apt-get install libmysqlclient-dev

范例代码如下:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <mysql.h>

using namespace std;

int main()
{
    MYSQL *conn = mysql_init(NULL);
    conn = mysql_real_connect(conn, "localhost", "root", "lyy", "test", 0, NULL, 0);
    if(!conn){
        perror("mysql_real_connect");
        exit(1);
    }
    
    int res = mysql_query(conn, "select * from teacher");
    if(res){
        printf("mysql_query: %s\n", mysql_error(conn));
        exit(1);
    } else {
        MYSQL_RES *result = mysql_store_result(conn);
        if(result){
            for(int i = 0; i < mysql_num_rows(result); i++){
                MYSQL_ROW row = mysql_fetch_row(result);
                for(int j = 0; j < mysql_num_fields(result); j++){
                    printf("%s\t", row[j]);
                }
                printf("\n");
            }
        }
        mysql_free_result(result);
    }
    res = mysql_query(conn, "delete from teacher where id = 2");
    if(res){
        printf("mysql_query: %s\n", mysql_error(conn));
        exit(1);
    }

    res = mysql_query(conn, "insert into teacher values(2, ‘lucy‘, 12345678, ‘f‘)");
    if(res){
        printf("mysql_query: %s\n", mysql_error(conn));
        exit(1);
    }
    mysql_close(conn);
    return 0;
}

执行如下命令进行编译

g++ -o test $(mysql_config --cflags) mysql_test.cpp $(mysql_config --libs)

说明:

MySQL中有一个特殊的脚本,叫做mysql_config. 它会为你编译MySQL客户端,并连接到MySQL服务器提供有用的信息.你需要使用下面两个选项.

  1. --libs 选项 - 连接MySQL客户端函数库所需要的库和选项.

  $ mysql_config --libs

  2. --cflags 选项 - 使用必要的include文件的选项等等.

  $ mysql_config --cflags

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。