[c/c++] c 操作mysql数据库

 输出mysql版本

1 #include <my_global.h>2 #include <mysql.h>3 #include <stdlib.h>4 #include <stdio.h>5 6 int main(int argc,char **argv) {7     printf("mysql client version:%s\n",mysql_get_client_info());8     return 0;9 }

编译

gcc version.c -o version $(mysql_config --cflags --libs)

结果

$ ./versionmysql client version:5.1.63

 

创建DB

 1 #include <my_global.h> 2 #include <mysql.h> 3 #include <stdio.h> 4 #include <stdlib.h> 5  6 int main(int argc,char **argv) { 7     MYSQL *conn; 8  9     conn = mysql_init(NULL);10     if(conn == NULL) {11         printf("Error %u:%s\n",mysql_errno(conn),mysql_error(conn));12         exit(EXIT_FAILURE);13     }14 15     // host user password 16     if(mysql_real_connect(conn,"localhost","root","admin",NULL,0,NULL,0) == NULL) {17         printf("Error %u:%s\n",mysql_errno(conn),mysql_error(conn));18         exit(EXIT_FAILURE);19     }20 21     char* sql = "CREATE DATABASE IF NOT EXISTS test_cdb";22     //char* sql = "CREATE database test_cdb";23     if(mysql_query(conn,sql)) {24         printf("Error %u:%s\n",mysql_errno(conn),mysql_error(conn));25         exit(EXIT_FAILURE);26     }27 28     mysql_close(conn);29 30     exit(EXIT_SUCCESS);31 }

创建Table

 1 #include <my_global.h> 2 #include <mysql.h> 3 #include <stdio.h> 4 #include <stdlib.h> 5  6 int main(int argc,char **argv) { 7     MYSQL *conn; 8  9     conn = mysql_init(NULL);10     // host user password dbname11     if(mysql_real_connect(conn,"localhost","root","admin","test_cdb",0,NULL,0) == NULL) {12         printf("Error %u:%s",mysql_errno(conn),mysql_error(conn));13         exit(EXIT_FAILURE);14     }15 16     char* sql = "CREATE TABLE IF NOT EXISTS test(name VARCHAR(25));";17     if(mysql_query(conn,sql)) {18         printf("Error %u:%s",mysql_errno(conn),mysql_error(conn));19         exit(EXIT_FAILURE);20     }21     sql = "INSERT INTO test VALUES('test1')";22     if(mysql_query(conn,sql)) {23         printf("Error %u:%s",mysql_errno(conn),mysql_error(conn));24         exit(EXIT_FAILURE);25     }26 27     mysql_close(conn);28     exit(EXIT_SUCCESS);29 }

查询

 1 #include <my_global.h> 2 #include <mysql.h> 3 #include <stdio.h> 4 #include <stdlib.h> 5  6 int main(int argc,char **argv) { 7     MYSQL *conn; 8     MYSQL_RES *result; 9     MYSQL_ROW row;10     MYSQL_FIELD *field;11 12     int num_fields;13     int i;14     int j = 0;15 16     conn = mysql_init(NULL);17     if(mysql_real_connect(conn,"localhost","root","admin","test_cdb",0,NULL,0) == NULL) {18         printf("Error %u:%s",mysql_errno(conn),mysql_error(conn));19         exit(EXIT_FAILURE);20     }21 22     char* sql = "SELECT * FROM test";23     if(mysql_query(conn,sql)) {24         printf("Error %u:%s",mysql_errno(conn),mysql_error(conn));25         exit(EXIT_FAILURE);26     }27     result = mysql_store_result(conn);28     num_fields = mysql_num_fields(result); // 记录项数29 30     while((row = mysql_fetch_row(result))) {31         // for(int i = 0; i < num_fields;i++) { // allowed c99 mode32         for(i = 0; i < num_fields;i++) {33             if(j == 0) {34                 // struct ?35                 while(field = mysql_fetch_field(result)) {36                     printf("%s ",field->name);                    37                 }38                 printf("\n");39             }40             printf("%s ",row[i]? row[i] : "NULL");41         }42         printf("\n");43         j++;44     }45     mysql_free_result(result);46 47     mysql_close(conn);48     exit(EXIT_SUCCESS);49 }

你可能感兴趣的:(开发者,手机开发,手机应用,天翼空间,天翼社区)