可查看帮助文档:http://dev.mysql.com/doc/refman/5.1/zh/apis.html
=======================
网上的一个例子:
  1 #include <string.h>   
  2 #include <stdlib.h>   
  3 #include <stdio.h>   
  4 #include <winsock2.h>   
  5 #include <mysql/mysql.h>/*注意要包含这个头文件*/   
  6 #pragma comment(lib,"libmysql")   
  7 /*定义了一些数据库连接需要的宏*/   
  8 #define HOST "localhost"   
  9 #define USERNAME "root"   
 10 #define PASSWORD "123456"   
 11 #define DATABASE "test"   
 12 /*这个函数用来执行传入的sql語句*/   
 13 void exe_sql(char* sql) {   
 14 MYSQL my_connection; /*这是一个数据库连接*/   
 15 int res; /*执行sql語句后的返回标志*/   
 16 /*初始化mysql连接my_connection*/   
 17 mysql_init(&my_connection);   
 18 /*这里就是用了mysql.h里的一个函数,用我们之前定义的那些宏建立mysql连接,并  
 19 返回一个值,返回不为空证明连接是成功的*/   
 20 if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD,   
 21 <div style="text-indent: 28px;"></div>DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) {/*连接成功*/ //连接成功返回mysql*连接句柄,失败返回NULL  
 22 printf("数据库执行exe_sql连接成功!n");   
 23 /*这句话是设置查询编码为utf8,这样支持中文*/   
 24 mysql_query(&my_connection, "set names utf8");   
 25 /*下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句,  
 26 这会返回一个int值,如果为0,证明語句执行成功*/   
 27 res = mysql_query(&my_connection, sql);   
 28 if (res) {/*现在就代表执行失败了*/   
 29 printf("Error: mysql_query !\n");   
 30 /*不要忘了关闭连接*/   
 31 mysql_close(&my_connection);   
 32 } else {/*现在就代表执行成功了*/   
 33 /*mysql_affected_rows会返回执行sql后影响的行数*/   
 34 printf("%d 行受到影响!\n",   
 35 mysql_affected_rows(&my_connection));   
 36 /*不要忘了关闭连接*/   
 37 mysql_close(&my_connection);   
 38 }   
 39 } else {   
 40 /*数据库连接失败*/   
 41 printf("数据库执行exe_sql连接失败!\n");   
 42 }   
 43 }   
 44 /*这个函数用来执行传入的sql語句,并打印出查询結果*/   
 45 void query_sql(char* sql) {   
 46 MYSQL my_connection; /*这是一个数据库连接*/   
 47 int res; /*执行sql語句后的返回标志*/   
 48 MYSQL_RES *res_ptr; /*指向查询结果的指针*/   
 49 MYSQL_FIELD *field; /*字段结构指针*/   
 50 MYSQL_ROW result_row; /*按行返回的查询信息*/   
 51 int row, column; /*查询返回的行数和列数*/   
 52 int i, j; /*只是控制循环的两个变量*/   
 53 /*初始化mysql连接my_connection*/   
 54 mysql_init(&my_connection);   
 55 /*这里就是用了mysql.h里的一个函数,用我们之前定义的那些宏建立mysql连接,并  
 56 返回一个值,返回不为空证明连接是成功的*/   
 57 if (mysql_real_connect(&my_connection, HOST, USERNAME, PASSWORD,   
 58 DATABASE, 0, NULL, CLIENT_FOUND_ROWS)) {/*连接成功*/   
 59 printf("数据库查询query_sql连接成功!\n");   
 60 /*这句话是设置查询编码为utf8,这样支持中文*/   
 61 mysql_query(&my_connection, "set names utf8");   
 62 /*下面这句话就是用mysql_query函数来执行我们刚刚传入的sql語句,  
 63 这会返回一个int值,如果为0,证明語句执行成功;非0证明执行失败*/   
 64 res = mysql_query(&my_connection, sql);   
 65 if (res) { /*现在就代表执行失败了*/   
 66 printf("Error: mysql_query !\n");   
 67 /*不要忘了关闭连接*/   
 68 mysql_close(&my_connection);   
 69 } else { /*现在就代表执行成功了*/   
 70 /*将查询的結果给res_ptr*/   
 71 res_ptr = mysql_store_result(&my_connection);   
 72 /*如果结果不为空,就把结果print*/   
 73 if (res_ptr) {   
 74 /*取得結果的行数和*/   
 75 column = mysql_num_fields(res_ptr);   
 76 row = mysql_num_rows(res_ptr) + 1;   
 77 printf("查询到 %lu 行 \n", row);   
 78 /*输出結果的字段名*/   
 79 for (i = 0; field = mysql_fetch_field(res_ptr); i++)   
 80 printf("%st", field->name);   
 81 printf("\n");   
 82 /*按行输出結果*/   
 83 for (i = 1; i < row; i++) {   
 84 result_row = mysql_fetch_row(res_ptr);   
 85 for (j = 0; j < column; j++)   
 86 printf("%st", result_row[j]);   
 87 printf("\n");   
 88 }   
 89 }   
 90 /*不要忘了关闭连接*/   
 91 mysql_close(&my_connection);   
 92 }   
 93 }   
 94 }   
 95 int main(int argc, char *argv[]) {   
 96 /*测试下向里面插入数据*/   
 97 char *query;   
 98 char *exe = "insert into student values(\'lala\',\'hahhahah!\');";   
 99 exe_sql(exe);   
100 *测试下查询*/   
101 query="select * from student;";   
102 query_sql(query);   
103 return 0;   
104 } 

 

版权声明:本文为opsing原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/opsing/p/3435968.html