日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

ubuntu cpp与mysql连接_linux(ubuntu)下C++访问mysql数据库

發布時間:2023/12/10 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ubuntu cpp与mysql连接_linux(ubuntu)下C++访问mysql数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

向表中插入(刪除)一條數據 #include

#include

using namespace std;

int main(int argc, char* argv[])

{

//準備mysql的訪問結構

MYSQL mysql;

mysql_init( &mysql );

mysql_real_connect(

&mysql,

"192.168.16.114",//要訪問數據庫的IP地址

"root",//用戶名

"root",//密碼

"test",//要訪問的數據庫

3306,//該數據庫的端口

NULL,//一般為NULL

0//一般為0

);

//插入

string sql = "insert into student value(1, 'jp', 24, 'gzjd')";

//刪除

//string sql = "delete from student where id = 33";

//執行sql語句

mysql_query( &mysql, sql.c_str() );

//關閉數據庫連接

mysql_close( &mysql );

return 0;

}

//編譯

//g++ file.cpp -o target -lmysqlclient

//執行

//./target

//驗證

//成功

更新表內容 #include

#include

using namespace std;

int main(int argc, char* argv[])

{

MYSQL mysql;

mysql_init( &mysql );

mysql_real_connect(

&mysql,

"192.168.16.114",

"root",

"root",

"test",

3306,

NULL,

0

);

string sql = "update student set name = 'pj' where id = 2";

mysql_query( &mysql, sql.c_str() );

mysql_close(&mysql);

return 0;

}

調用存儲過程 #include

#include

using namespace std;

int main(int argc, char* argv[])

{

MYSQL mysql;

mysql_init( &mysql );

mysql_real_connect(

&mysql,

"192.168.16.114",

"root",

"root",

"test",

3306,

NULL,

0

);

string sql = "call myPorc();";

int ret = mysql_query( &mysql, sql.c_str() );

// debug info

//cout << mysql_error( &mysql );

//cout << ret << endl;

mysql_close(&mysql);

return 0;

}

查詢數據表的內容 #include

#include

using namespace std;

int main(int argc, char* argv[])

{

MYSQL mysql;

mysql_init( &mysql );

mysql_real_connect(

&mysql,

"192.168.16.114",

"root",

"root",

"test",

3306,

NULL,

0

);

string sql = "select * from student";

mysql_query( &mysql, sql.c_str() );

MYSQL_RES *result = NULL;

result = mysql_store_result( &mysql );

//得到查詢出來所有數據的條數

int row_count = mysql_num_rows( result );

cout << "all data number: " << row_count << endl;

//得到字段的個數和字段的名字

int field_count = mysql_num_fields( result );

cout << "field count : " << field_count << endl;

//得到所有字段的名字

MYSQL_FIELD* field = NULL;

for( int i = 0; i < field_count; ++i)

{

field = mysql_fetch_field_direct( result, i );

cout << field->name << "\t";

}

cout << endl;

//顯示表中的所有數據

MYSQL_ROW row = NULL;

row = mysql_fetch_row( result );

while ( NULL != row )

{

for( int i = 0; i < field_count; ++i)

{

cout << row[i] << "\t";

}

cout << endl;

row = mysql_fetch_row( result );

}

mysql_free_result(result);

mysql_close( &mysql );

return 0;

}

得到指定數據庫test中的所有表#include

#include

#include

#include

using namespace std;

int main(int argc, char* argv[])

{

//定義一個數據庫連接句柄

MYSQL mysql;

//對數據句柄進行初始化

mysql_init( &mysql );

//連接數據庫

mysql_real_connect(

&mysql,

"192.168.16.114",

"root",

"root",

"test",

3306,

NULL,

0

);

//查詢數據庫

string sql = "show tables;";

mysql_query( &mysql, sql.c_str() );

MYSQL_RES *result = NULL;

result = mysql_store_result( &mysql );

//得到查詢出來所有數據記錄的數量

vector allTable;

MYSQL_ROW row = mysql_fetch_row( result );

while( NULL != row )

{

allTable.push_back( row[0] );

row = mysql_fetch_row( result );

}

for(vector::const_iterator cit = allTable.begin(); cit != allTable.end(); ++cit )

{

cout << *cit << "\t";

}

cout << endl;

mysql_free_result( result );

mysql_close( &mysql );

return 0;

}

總結

以上是生活随笔為你收集整理的ubuntu cpp与mysql连接_linux(ubuntu)下C++访问mysql数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。