当前位置: 首页 > news >正文

北京移动网站建设/互联网营销课程体系

北京移动网站建设,互联网营销课程体系,做视频网站要什么软件,做虚假彩票网站判几年无论在 windows 下还是 linux 下,我们每次去连接 mysql 的时候都会运行一个叫做 mysql 的命令,本文就模仿制作一个类似的程序,实现可以在里面执行 DML 和 DQL 语句。具体代码的实现请参考程序。代码实现#include #include #include #include …

无论在 windows 下还是 linux 下,我们每次去连接 mysql 的时候都会运行一个叫做 mysql 的命令,本文就模仿制作一个类似的程序,实现可以在里面执行 DML 和 DQL 语句。具体代码的实现请参考程序。

代码实现

#include

#include

#include

#include

int main(int argc, char* argv[])

{

unsigned int err;

MYSQL* mysql;

// 初始化 mysql 句柄

mysql = mysql_init(NULL);

if (mysql == NULL)

{

err = mysql_errno(mysql);

printf("mysql_init error, code = %d\n", err);

return err;

}

// 连接服务器

mysql = mysql_real_connect(mysql, "127.0.0.1", "root", "******", "mydb61", 0, NULL, 0);

if (NULL == mysql)

{

err = mysql_errno(mysql);

printf("mysql_real_connect error, code = %d\n", err);

return err;

}

char sql[1024];

while (1)

{

printf("mysql> ");

fgets(sql, sizeof(sql), stdin);

sql[strlen(sql) - 1] = '\0';

// 判断是否是输入了退出指令

if (strcmp(sql, "EXIT") == 0 || strcmp(sql, "QUIT") == 0 ||

strcmp(sql, "exit") == 0 || strcmp(sql, "quit") == 0)

{

break;

}

// 判断是否是执行了 select 或 show 或 desc 开头的命令

if (strncmp(sql, "SELECT", 6) == 0 || strncmp(sql, "select", 6) == 0 ||

strncmp(sql, "SHOW", 4) == 0 || strncmp(sql, "show", 4) == 0 ||

strncmp(sql, "DESC", 4) == 0 || strncmp(sql, "desc", 4) == 0)

{

// 执行 sql 语句,如果要查询包含二进制数据的,要用 mysql_real_query

err = mysql_query(mysql, sql);

if (err != 0)

{

err = mysql_errno(mysql);

printf("mysql_query error, code = %d\n", err);

return err;

}

// 获取查询出来的数据有多少个列

unsigned int num, i = 0;

num = mysql_field_count(mysql);

// 获取结果集

MYSQL_RES* result;

result = mysql_store_result(mysql);

if (NULL == result)

{

err = mysql_errno(mysql);

printf("mysql_query error, code = %d\n", err);

return err;

}

/*

与 mysql_field_count() 功能一致,但 mysql_field_count() 是返回上一次执行语句(query)结果列的数目

而 mysql_num_fields() 是从结果集中获取返回列数

*/

// 获取表头内容

MYSQL_FIELD *fields;

fields = mysql_fetch_fields(result);

for(i = 0; i < num; i++)

{

printf("%8s\t", fields[i].name);

}

putchar(10);

// 读取结果集

MYSQL_ROW row;

while ((row = mysql_fetch_row(result)))

{

for (i = 0; i < num; i++)

{

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

}

putchar(10);

}

// 释放结果集

mysql_free_result(result);

}

else

{

// 执行 DQL 语句

err = mysql_query(mysql, sql);

if (err != 0)

{

err = mysql_errno(mysql);

printf("mysql_query error, code = %d\n", err);

return err;

}

my_ulonglong row = mysql_affected_rows(mysql);

printf("Query OK, %d row affected", row);

}

putchar(10);

}

// 关闭 mysql 句柄

mysql_close(mysql);

return 0;

}

编译程序

编译指令:gcc mysql_tool.c -o mysql_tool -I /usr/include/mysql -L /usr/lib64/mysql -l mysqlclient -l stdc++ -l pthread -l dl -l rt

执行效果

2015-07-27_220038.png

我们分别执行了两个 select 语句,可以正确的得到查询结果,并且执行了一个 update 语句,可以返回有多少行受影响了。这就是我们模仿的一个 mysql 客户端工具。

相关

http://www.jmfq.cn/news/5125123.html

相关文章:

  • 展台展览/windows优化大师官方免费
  • ruhe用dw做网站/什么关键词能搜到资源
  • 网站开发实验报告可行性分析/网店推广的方式
  • 在线3d建模网站/营销网站大全
  • wordpress防刷/seo推广优化工具
  • Wordpress 修改 mysql 插件/衡水seo营销
  • 我们做网站 老公弟弟也跟着做/游戏推广员骗局
  • 毕业设计做网站怎样的工作量算达标/商业软文案例
  • 人才市场官方网站/品牌策划包括哪几个方面
  • 网站地址搜索/网络推广培训去哪里好
  • 做商品网站的教学视频/百度推广方法
  • 云南最新疫情数据今天/谷歌优化师
  • 网站中弹出广告怎么做/搜索引擎营销的过程
  • 广东创粤建设有限公司网站/seo深圳优化
  • 津南房地产网站建设/百度快快速排名
  • 网站开发公司模板/站长工具忘忧草
  • 做网站销售 优帮云/百度手机助手应用商店下载
  • 网站换域名seo/西安百度
  • aspnet网站开发模板/百度网站排名优化软件
  • 做网站需要什么内容/什么叫做网络营销
  • 医院内网网站建设/网页制作
  • qq人脸解冻自助网站/云南网站推广公司
  • 网站打开很慢怎么回事啊/青岛网站建设制作
  • 遵义做手机网站建设/关于华大18年专注seo服务网站制作应用开发
  • 做农业网站怎么赚钱/网络营销策划是什么
  • 济南网站开发建设/北京网站优化托管
  • wordpress字菜单/关键词优化步骤简短
  • 企业商用网站建设企划书/百度一下就知道官网
  • 旅游网站开发目的和目标/地推的方法和技巧
  • 莱州网站开发/成都网站制作关键词推广排名