189 8069 5689

c语言mysql怎么读 c使用mysql

c语言读取mysql库中的数据的程序头文件怎么设置

Mysql C API编程步骤

创新互联建站是一家专业提供翁牛特企业网站建设,专注与网站设计、成都网站设计、H5技术、小程序制作等业务。10年已为翁牛特众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

1、首先我们要包含mysql的头文件,并链接mysql动态库。即添加以下语句:

#include WinSock2.h // 进行网络编程需要winsock2.h

#include mysql.h

#pragma comment(lib, “libmysql.lib”)

2、创建MYSQL变量。如:

MYSQL mysql;

3、初始化MYSQL变量。

mysql_init(mysql);

4、调用mysql_real_connect函数连接Mysql数据库。mysql_real_connect函数的原型如下:

MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,const char *user,const char *passwd,const char *db,unsigned int port,const char *unix_socket,unsigned long clientflag);

参数说明:mysql–前面定义的MYSQL变量;host–MYSQL服务器的地址;user–登录用户名;passwd–登录密码;db–要连接的数据库;port–MYSQL服务器的TCP服务端口;unix_socket–unix连接方式,为NULL时表示不使用socket或管道机制;clientflag–Mysql运行为ODBC数据库的标记,一般取0。连接失败时该函数返回0。

5、调用mysql_real_query函数进行数据库查询。mysql_real_query函数的原型如下:

int STDCALL mysql_real_query(MYSQL *mysql, const char *q, unsigned long length);

参数说明:mysql–前面定义的MYSQL变量;q–SQL查询语句;length–查询语句的长度。

查询成功则该函数返回0。

6、通过调用mysql_store_result或mysql_use_result函数返回的MYSQL_RES变量获取查询结果数据。

两个函数的原型分别为:

MYSQL_RES * STDCALL mysql_store_result(MYSQL *mysql);

MYSQL_RES * STDCALL mysql_use_result(MYSQL *mysql);

这两个函数分别代表了获取查询结果的两种方式。第一种,调用mysql_store_result函数将从Mysql服务器查询的所有数据都存储到客户端,然后读取;第二种,调用mysql_use_result初始化检索,以便于后面一行一行的读取结果集,而它本身并没有从服务器读取任何数据,这种方式较之第一种速度更快且所需内存更少,但它会绑定服务器,阻止其他线程更新任何表,而且必须重复执行mysql_fetch_row读取数据,直至返回NULL,否则未读取的行会在下一次查询时作为结果的一部分返回,故经常我们使用mysql_store_result。

7、调用mysql_fetch_row函数读取结果集数据。

上述两种方式最后都是重复调用mysql_fetch_row函数读取数据。mysql_fetch_row函数的原型如下:

MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result);

参数result就是mysql_store_result或mysql_use_result的返回值。

该函数返回MYSQL_ROW型的变量,即字符串数组,假设为row,则row〔i〕为第i个字段的值。当到结果集尾部时,此函数返回NULL。

8、结果集用完后,调用mysql_free_result函数释放结果集,以防内存泄露。mysql_free_result函数的原型如下:

void STDCALL mysql_free_result(MYSQL_RES *result);

9、不再查询Mysql数据库时,调用mysql_close函数关闭数据库连接。mysql_close函数的原型为:

void STDCALL mysql_close(MYSQL *sock);

「MySQL」这个词怎么读?

My S-Q-L,不专业的可以读作 my sequel(希扣),但绝非是 卖塞科儿

其实很多老师并不知道他的读法,当时联系的数据库是dbase, foxbase, foxpro, access, MS SQL server (oracle), 15年前,mysql类似于幼儿园的游戏。此外,SQL server还被用于遵从SQL 92.99标准,在这方面mysql不太正式,因此您可以看到事务隔离级别。这样也很不错,mysql有很多非正式的,但更为方便的语法。

具体可以看他的专业书。

MySQL包含许多特性,特别是在MySQL 5.0和5.1中,添加了一些主要特性和特性。MySQL的特定功能或语句非常丰富。这就是为什么MySQL核心技术手册(版本2)是有价值的。“MySQL核心技术手册(第二版)”“需要让读者快速找到具体的细节,无论是SQL关键字还是MySQL命令行选项,特定的API信息或实用程序管理。

《“MySQL核心技术手册(第二版)”“覆盖适用于所有命令和MySQL 5.1版本的编程信息,包括一些新特性和语言界面,对于大多数语句和函数,使用示例给出。

MySQL核心技术手册(版本2)为MySQL语句、函数、配置选项和实用程序提供了完整的手册。为了帮助初学者入门,我们提供了一些教程。为PHP、Perl和C语言提供了应用程序编程接口(api)。在每个章节的API开头提供了一个简要的指南。新副本、触发器和存储过程部分。提供了一些MySQL的实际示例。一些有用的技巧可以帮助读者克服困难。

c语言怎么连接mysql数据库 代码

//vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路径

//在工程设置-》链接》库模块中添加 libmysql.lib

#include stdio.h

#include time.h

#include string.h

#include winsock.h

#include "E:\wamp\bin\mysql\mysql5.5.8\include\mysql.h"

void main(){

MYSQL *conn;

MYSQL_RES *res;

MYSQL_ROW row;

char *server ="localhost";

char *user ="root";

char *password="";

char *database="test";

char sql[1024]="select * from chinaren";

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0)){

fprintf(stderr,"%s\n",mysql_error(conn));

exit(1);

}

if(mysql_query(conn,sql)){

fprintf(stderr,"%s\n",mysql_error(conn));

exit(1);

}

res=mysql_use_result(conn);

while((row = mysql_fetch_row(res))!=NULL){

printf("%s\n",row[2]);

}

mysql_free_result(res);

mysql_close(conn);

}

===============================

#if defined(_WIN32) || defined(_WIN64) //为了支持windows平台上的编译

#include windows.h

#endif

#include stdio.h

#include stdlib.h

#include "mysql.h"

//定义数据库操作的宏,也可以不定义留着后面直接写进代码

#define SELECT_QUERY "show tables;"

int main(int argc, char **argv) //char **argv 相当于 char *argv[]

{

MYSQL mysql,*handle; //定义数据库连接的句柄,它被用于几乎所有的MySQL函数

MYSQL_RES *result; //查询结果集,结构类型

MYSQL_FIELD *field ; //包含字段信息的结构

MYSQL_ROW row ; //存放一行查询结果的字符串数组

char querysql[160]; //存放查询sql语句字符串

//初始化

mysql_init(mysql);

//连接数据库

if (!(handle = mysql_real_connect(mysql,"localhost","user","pwd","dbname",0,NULL,0))) {

fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(mysql));

}

sprintf(querysql,SELECT_QUERY,atoi(argv[1]));

//查询数据库

if(mysql_query(handle,querysql)) {

fprintf(stderr,"Query failed (%s)\n",mysql_error(handle));

}

//存储结果集

if (!(result=mysql_store_result(handle))) {

fprintf(stderr,"Couldn't get result from %s\n", mysql_error(handle));

}

printf("number of fields returned: %d\n",mysql_num_fields(result));

//读取结果集的内容

while (row = mysql_fetch_row(result)) {

printf("table: %s\n",(((row[0]==NULL)(!strlen(row[0]))) ? "NULL" : row[0]) ) ;

}

//释放结果集

mysql_free_result(result);

//关闭数据库连接

mysql_close(handle);

system("PAUSE");

//为了兼容大部分的编译器加入此行

return 0;

}


分享标题:c语言mysql怎么读 c使用mysql
标题网址:http://cdxtjz.cn/article/doieogd.html

其他资讯