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

系统 2480 0

[c/c++] c 操作mysql数据库 - bluefrog - 博客园

[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)
          

结果

            $ ./
            
              version
mysql 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 dbname
            
            
              11
            
            
              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 mode
            
            
              32
            
            
              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
            
             }
          

 

 

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


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论