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

歡迎訪問 生活随笔!

生活随笔

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

数据库

linux c++连接mysql示例

發布時間:2023/12/10 数据库 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux c++连接mysql示例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

 編譯和連接程序

  MySQL中有一個特殊的腳本,叫做mysql_config. 它會為你編譯MySQL客戶端,并連接到MySQL服務器提供有用的信息.你需要使用下面兩個選項.

  1. --libs 選項 - 連接MySQL客戶端函數庫所需要的庫和選項.

  $ mysql_config --libs

  2. --cflags 選項 - 使用必要的include文件的選項等等.

  $ mysql_config --cflags

  你需要將上面兩個選項加入到對源文件的編譯命令中. 所以,要編譯上面的程序,要使用下面的命令:

  $ g++ -o output-file $(mysql_config --cflags) test.c $(mysql_config --libs)

  執行編譯后的程序:

  $ ./output.file

?

#include <mysql.h> #include <stdlib.h> #include <stdio.h> static char *server_args[] = { "this_program", /* this string is not used */ "--datadir=.", "--key_buffer_size=32M" }; static char *server_groups[] = { "embedded", "server", "this_program_SERVER", (char *)NULL }; int main(void) { if (mysql_server_init(sizeof(server_args) / sizeof(char *), server_args, server_groups)) exit(1); MYSQL *conn; MYSQL_RES *res; MYSQL_ROW row; char *server = "localhost"; char *user = "admin"; char *password = "metrics"; /* 此處改成你的密碼 */ char *database = "test"; conn = mysql_init(NULL); /* Connect to database */ if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0)) { fprintf(stderr, "%s/n", mysql_error(conn)); exit(1); } /* send SQL query */ if (mysql_query(conn, "show tables")) { fprintf(stderr, "%s/n", mysql_error(conn)); exit(1); } res = mysql_use_result(conn); //utput table name */ printf("MySQL Tables in mysql database:/n"); while ((row = mysql_fetch_row(res)) != NULL) printf("%s /n", row[0]); printf ("Number of rows: %lu/n", (unsigned long) mysql_num_rows(res)); MYSQL_FIELD *field; while ((field = mysql_fetch_field(res))) { printf("field name %s/n", field->name); } int num_fields = mysql_num_fields(res); for (int i = 0; i < num_fields; i++) { field = mysql_fetch_field_direct(res, i); printf("Field %u is %s/n", i, field->name); } if (!mysql_set_character_set(conn, "utf8")) { MY_CHARSET_INFO cs; mysql_get_character_set_info(conn, &cs); printf("character set information:/n"); printf("character set name: %s/n", cs.name); printf("collation name: %s/n", cs.csname); printf("comment: %s/n", cs.comment); printf("directory: %s/n", cs.dir); printf("multi byte character min. length: %d/n", cs.mbminlen); printf("multi byte character max. length: %d/n", cs.mbmaxlen); } /* close connection */ mysql_free_result(res); mysql_close(conn); /* Use any MySQL API functions here */ mysql_server_end(); return EXIT_SUCCESS; }

運行結果如下:

轉載于:https://www.cnblogs.com/zhwj184/archive/2009/11/24/3027541.html

總結

以上是生活随笔為你收集整理的linux c++连接mysql示例的全部內容,希望文章能夠幫你解決所遇到的問題。

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