- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux下使用C语言访问MySQL
Linux下使用C语言访问MySQL本学期刚学完数据库,上课的时候使用的是SQL Server数据库,但是本人的操作系统是linux系统,无法使用SQL,故闲来折腾一下mysql,惊觉mysql和SQL Server还是有很大的区别。以前使用JDBC可以很轻松的访问各种数据库,今天闲的太无聊折腾一下用C语言访问mysql。废话少说,步骤如下:1在linux下使用C语言访问mysql数据库不需要手动加载类似JDBC的驱动,但是要包括一个头文件mysql/mysql.h,在ubuntu15.04中,该头文件的路径是:/usr/include/mysql/mysql.h,阅读一下该头文件还是很受用的。2仅仅包含mysql.h头文件还不行,必须要添加sql的动态库,codeblock操作如下:setttings/compliler/global compiler settings/linker settings,在Link libraries框中添加动态库/usr/lib/x86_64-linux-gnu/libmysqlclient.a,在右边添加这些参数(-lmysqlclient-lz-lm-ldl),然后在左边添加/usr/lib/x86_64-linux-gnu/libpthread.a动态库,然后在右边添加参数-lpthread。3现在可以编写第一个C语言访问mysql数据库的代码了,如下:首先查看一下我已经建立的数据库OrderDB里面的表【所有用到的表是我提前建立的,可以不适用命令行的形式,可以通过mysql workbench查看】:选择一个表Customer,查看其结构:查看其具体的数据内容:代码分析如下:#includestdlib.h#includestdio.h#includestring.h#includemysql/mysql.hint main(){MYSQL mysql;//mysql 连接,定义在mysql.h中,是一个结构体MYSQL_RES *res;//查询结果集合,类似于ResultSetMYSQL_ROW row;//代表查询结果集合提取的一行char *query;//表示查询语句int t,r;//两个状态mysql_init(mysql);//初始化数据库资源,这是需要访问数据库必须要做的第一步//第二步是使用函数mysql_real_connect建立MYSQL结构与数据库的连接,该函数带有8个参数(MYSQL指针,服务器名,数据库用户名,数据库密码,数据库名,端口号,unix_socket,clientflag),注意其返回值。if(!mysql_real_connect(mysql,localhost,root,0213,OrderDB,3306,NULL,0)){//使用函数mysql_error可以返回访问数据库的最进一次发生的错误,该函数带有一个MYSQL*类型参数 printf(对不起,连接数据库失败!错误原因:%s,mysql_error(mysql));}else{ printf(建立连接成功!);query=set character set utf8; //使用mysql_real_query函数执行查询,该函数带有三个参数,(MYSQL结构指针,查询语句,查询语句的长度),注意其返回值。t=mysql_real_query(mysql,query,(unsigned long)strlen(query)); if(t){ printf(编码设置失败!);}//查询Customer表中信息 query=select * from Customer; t=mysql_real_query(mysql,query,(unsigned long)strlen(query)); if(t){ printf(表查询失败!错误原因:%s,mysql_error(mysql)); }else{ printf(查询成功:%s,query); }//执行查询之后就可以使用mysql_store_result函数获取结果集了,其中res是MYSQL_RES类型的参数。 res=mysql_store_result(mysql);//获取结果集 puts();//MYSQL_ROW类型参数的实质是char**类型,mysql_fetch_row(MYSQL_RES)可以提取结果集合中的一行数据 while(row=mysql_fetch_row(res)){ //输出res结果集上的字段值 printf(顾客编号为:%s ,row[0])
您可能关注的文档
- 九年级英语unit4-6练习.doc
- 天津市耀华中学八年级13-14第二学期期中英语试卷.doc
- mysql query brower 使用方法.doc
- 法国电子政务现状.doc
- 火炬之光2秘籍和使用方法.doc
- 高考重点:It的用法.doc
- 历年考研阅读短语.doc
- wlanapi小结.doc
- 现代文和作文.doc
- 外刊时文(@tutu)2.docx
- 分析let s单元56ago2卷纸zheng unit56.pdf
- 塑胶材料其它分类原料pa9t 12.pdf
- md16x16数字媒体切换器设备.pdf
- 者参考项目发起人学科类型单位序列承包商修订页代码顺序典型.pdf
- 届世界天然气大会阿姆斯特丹2006add10288.pdf
- 期测试记录表每周weekly g1g6 journeys tests level 6 lesson26.pdf
- modernize-whitepaper现代化您应用程序白皮书.pdf
- anybackup产品典型案例分析.pdf
- 约克金融工程课程tfeslide32.pdf
- 广州市妇女儿童医疗中心历份教学药历01tjy.pdf
最近下载
- 广西南宁市天桃实验学校英语六年级小升初期末复习试卷(含答案) (2).doc
- 公路工程标准施工招标文件(2018年3月1日起施行).docx
- 南师附中高一分班测试(数学).pdf VIP
- 中科院研究生院罗铁坚 魏峻 刘丹高级软件工程答案.docx
- 6预防高温中暑应急预案.doc VIP
- 《直肠间质瘤》课件.pptx VIP
- 20230913-2023燕窝品牌发布会“燕归巢 · 美如初”主题活动策划方案.pdf
- 2023年12月苏州大学招聘16名劳务派遣制人员(第五批)笔试历年高频考点难、易错点荟萃附答案带详解.docx
- 四年级数学(上)计算题及答案汇编.docx VIP
- 中国保险行业协会官方-2023年度商业健康保险经营数据分析报告-2024年3月.pdf
文档评论(0)