#include <stdio.h> #include <windows.h> #include "D:/service/mysql/include/mysql.h" #pragma comment(lib,"D:/service/mysql/lib/opt/libmysql.lib") #define host "localhost" #define username "root" #define password "root" #define database "test" //MySQL的连接句柄 MYSQL *CONN; int main() { //查询结果指针 MYSQL_RES *res; //保存行数据 MYSQL_ROW row; //字段信息指针 MYSQL_FIELD *field; my_ulonglong num_rows; unsigned int i,ret,num_fields,errno; const char *character,*error; //初始化MySQL结构 CONN = mysql_init(NULL); //设置MySQLde 连接选项 ret = mysql_options(CONN, MYSQL_SET_CHARSET_NAME, "UTF8"); //连接到MySQL服务器 mysql_real_connect(CONN,host,username,password,database,0,NULL,0); //返回默认字符集 character = mysql_character_set_name(CONN); printf("set_name:/t=%s/n",character); //创建数据库 mysql_query(CONN,"CREATE DATABASE IF NOT EXISTS `tests`"); if(errno=mysql_errno(CONN)!=0){ error = mysql_error(CONN); printf("MySQL ERROR [%d]:%s/n",errno,error); } //创建表 mysql_query(CONN,"create table `demo`( `id` int NOT NULL , `first_name` char(30) , `last_name` char(30) , `age` tinyint , `gender` tinyint , `job` char(30) , PRIMARY KEY (`id`))"); if(errno=mysql_errno(CONN)!=0){ error = mysql_error(CONN); printf("MySQL ERROR [%d]:%s/n",errno,error); } //执行插入语句 mysql_query(CONN,"INSERT INTO `demo` (`first_name`,`last_name`,`age`,`gender`,`job`) VALUES ('Gan','Forest',20,1,'worker')"); num_rows = mysql_affected_rows(CONN); printf("insert rows:/t=%d/n",num_rows); //执行查询语句 mysql_query(CONN,"SELECT * FROM demo"); //获得查询结果 res = mysql_store_result(CONN); //获得查询结果的行数 num_rows = mysql_num_rows(res); printf("select rows:/t=%d/n",num_rows); //获得查询结果的列数 num_fields = mysql_num_fields(res); //或者使用该函数 //num_fields = mysql_field_count(CONN); printf("select fields:/t=%d/n",num_fields); //获取查询结果的字段信息 printf("result fields:/n"); while((field = mysql_fetch_field(res))) { printf("/t%s", field->name); } printf("/n"); //根据编号返回字段 printf("result fields type:/n"); for(i = 0; i < num_fields; i++) { field = mysql_fetch_field_direct(res, i); printf("/t%s",field->name); } printf("/n"); //获取查询结果 printf("result:/n"); while ((row = mysql_fetch_row(res)) != NULL) { for (i=0; i<num_fields; i++) { printf("/t%s",row[i] != NULL ? row[i] : "NULL"); } printf("/n"); } //关闭MySQL连接 mysql_close(CONN); return 0; }