C语言操作mysql数据库函数说明

    作者:课课家教育更新于: 2016-03-23 09:49:15

      如何使用C语言进行MySQL数据库的连接,对于一些初学者来说,这是困难的,今天我们给大家介绍了一些C语言操作mysql函数的相关介绍。

    C语言操作mysql数据库函数说明_数据库_C语言_课课家

      这里归纳了CAPI可使用的函数。

      与MySQL交互时,应用程序应使用该一般性原则:

      1.通过调用mysql_library_init(),初始化MySQL库。库可以是mysqlclientC客户端库,或mysqld嵌入式服务器库,具体情况取决于应用程序是否与“-libmysqlclient”或“-libmysqld”标志链接。

      2.通过调用mysql_init()初始化连接处理程序,并通过调用mysql_real_connect()连接到服务器。

      3.发出SQL语句并处理其结果。(在下面的讨论中,详细介绍了使用它的方法)。

      4.通过调用mysql_close(),关闭与MySQL服务器的连接。

      5.通过调用mysql_library_end(),结束MySQL库的使用。

      介绍常用到的MYSQL相关的C变量类型。这些类型在我们后面定义变量的时候会用到

      1、MYSQL

      要连接MYSQL,必须建立MYSQL实例,通过mysql_init初始化方能开始进行连接

      示例:

      MYSQLmysql;#创建MYSQL实例

      mysql_init(&mysql);#初始化开始进行连接

      2、MYSQL_RES

      这个结构代表返回行的一个查询的(SELECT,SHOW,DESCRIBE,EXPLAIN)的结果。返回的数据称为“数据集”。从数据库读取数据,最后就是从MYSQL_RES中读取数据。

      PS:类似于java里面的ResultSet变量一样,将结果集存入到此变量中再从它里面去读数据。

      3、MYSQL_ROW

      这是一个行数据的类型安全(type-safe)的表示。当前它实现为一个计数字节的字符串数组。行通过调用mysql_fetch_row()获得

      4、MYSQL_FIELD

      你可以通过重复调用mysql_fetch_field()对每一列获得MYSQL_FIELD结构。这个结构包含字段信息,例如字段名、类型和大小。

      PS:此变量定义的是列的相关属性问题!

      示例一:实现遍历查询select*fromtable-name操作

      #include"Windows.h"

      #include"mysql.h"

      #pragmacomment(lib,"libmySQL.lib")

      intmain()

      {

      MYSQLmysql;//mysql连接

      MYSQL_RES*res;//这个结构代表返回行的一个查询结果集

      MYSQL_ROWrow;//一个行数据的类型安全(type-safe)的表示

      char*query;//查询语句

      intt,r;

      mysql_init(&mysql);

      if(!mysql_real_connect(&mysql,"localhost","root","123","test",3306,NULL,0))

      {

      printf("Errorconnectingtodatabase:%s",mysql_error(&mysql));

      }else

      printf("Connected...");

      query="SETCHARACTERSETutf8";//设置编码

      t=mysql_real_query(&mysql,query,(unsignedint)strlen(query));

      if(t)

      {

      printf("编码设置失败");

      }

      query="select*froma";

      t=mysql_real_query(&mysql,query,(unsignedint)strlen(query));

      if(t)

      {

      printf("执行查询时出现异常:%s",mysql_error(&mysql));

      }else

      printf("[%s]构建成功",query);

      res=mysql_store_result(&mysql);

      while(row=mysql_fetch_row(res))

      {

      /*

      for(t=0;t

      {

      printf("%s""",row[t]);

      }

      */

      printf("%s",row[1]);表示查询的第几个字段的!也还可以遍历全部字段信息

      printf("\\n");

      }

      mysql_free_result(res);

      mysql_close(&mysql);

      return0;

      }

      示例二:执行插入、更新、删除操作

      #include"windows.h"

      #include"mysql.h"

      #pragmacomment(lib,"libmySQL.lib")

      intmain()

      {

      MYSQLmysql;//mysql连接

      MYSQL_RES*res;//这个结构代表返回行的一个查询结果集

      MYSQL_ROWrow;//一个行数据的类型安全(type-safe)的表示

      char*query;//查询语句

      intt,r;

      mysql_init(&mysql);

      if(!mysql_real_connect(&mysql,"localhost","root","123","test",3306,NULL,0))

      {

      printf("Errorconnectingtodatabase:%s",mysql_error(&mysql));

      }else

      printf("Connected...");

      query="SETCHARACTERSETutf8";//设置编码

      t=mysql_real_query(&mysql,query,(unsignedint)strlen(query));

      if(t)

      {

      printf("编码设置失败");

      }

      query="insertintoa(name,age)values('w',9)";

      t=mysql_real_query(&mysql,query,(unsignedint)strlen(query));

      if(t)

      {

      printf("执行查询时出现异常:%s",mysql_error(&mysql));

      }else

      printf("[%s]构建成功",query);

      mysql_close(&mysql);

      return0;

      }

C语言 更多推荐

课课家教育

未登录