码迷,mamicode.com
首页 > 数据库 > 详细

Linux下C/C++连接MySql

时间:2015-05-01 19:57:00      阅读:148      评论:0      收藏:0      [点我收藏+]

标签:

首先确保已经安装有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

Linux下C/C++连接MySql

标签:

原文地址:http://www.cnblogs.com/csuer/p/4470988.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!