Linux 上c++ 訪問mysql

來源:互聯網
上載者:User

標籤:

1.安裝mysql用戶端

  用命令:

yum install -y mysql-server mysql mysql-devel

此命令包含了安裝用戶端和伺服器

2.訪問myslq

在命令列輸入:

mysql -h192.168.0.36 -uroot -p123456

出現:

Welcome to the MySQL monitor.  Commands end with ; or \g.

Your MySQL connection id is 45099

Server version: 5.5.5-10.0.12-MariaDB MariaDB Server

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its

affiliates. Other names may be trademarks of their respective

owners

代表Mysql用戶端安裝成功!

 

3.代碼訪問

#include <iostream>#include <mysql/mysql.h>#include <string>using namespace std;int main(){     MYSQL mysql;     mysql_init(&mysql);     mysql_real_connect(&mysql, "192.168.0.36", "root", "123456", "uc", 3306, NULL, 0);     string sql = "insert into sysuser (orgid,useraccount) values (1, ‘java1‘);";     mysql_query(&mysql, sql.c_str());     mysql_close(&mysql);     return 0;}

 

 

編譯:

g++ -o test main.cpp -lmysqlclient -I/usr/include/mysql/ -L/usr/lib64/mysql

 

注意:-L的路徑在lib64下面

 

4.查詢執行個體代碼

#include <iostream>#include <string>#include <mysql/mysql.h>using namespace std;int main(){    MYSQL mysql;    MYSQL_RES *result = NULL;    MYSQL_FIELD *field = NULL;    mysql_init(&mysql);    mysql_real_connect(&mysql, "192.168.0.36", "root", "123456","uc", 3306,NULL, 0);   // mysql_real_connect(&mysql, "localhost", "root", "root", "test", 3306, NULL, 0);    string sql = "select id,useraccount from sysuser;";    mysql_query(&mysql, sql.c_str());    result = mysql_store_result(&mysql);    int rowcount = mysql_num_rows(result);    cout <<"rowcount:"<< rowcount << endl;    int fieldcount = mysql_num_fields(result);    cout <<"fieldcount:"<< fieldcount << endl;    for(int i = 0; i < fieldcount; i++)    {     field = mysql_fetch_field_direct(result,i);     cout << "field name:"<<field->name << "\t\t";    }    cout << endl;    MYSQL_ROW row = NULL;    row = mysql_fetch_row(result);    while(NULL != row)    {     for(int i=0;i<fieldcount; i++)     {        cout << "row"<<i<<":"<<row[i] << "\t\t";     }     cout << endl;     row = mysql_fetch_row(result);    }    mysql_close(&mysql);    return 0;}

 

Linux 上c++ 訪問mysql

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.