




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/*创建数据库,库名为cusemysql:mysqlcreate database cusemysql;创建表,表名为:mysqluse cusemysql;mysqlcreate table children(childno int not null unique,fname varchar(20),age int);添加一点数据哦:mysqlinsert into children values(1,花儿,10);对拉,为了方便起见,把表的大致样子给大家看看 */下面是实现代码/* 环境:redHat-express-6.0-x86 mysql-5.1.47-4.el6.i686 name:select.c*/#include #include #include #include /usr/include/mysql/mysql.h/*注意,上面必须是mysql.h的绝对地址,一般在mysql下的include目录下,不同系统该路径可能不同,一般在usr/include/下*/int main(int argc, char *argv) MYSQL my_connection;/这个结构表示对一个数据库连接的句柄,它被用于几乎所有的MySQL函数MYSQL_RES *res_ptr; /这个结构代表返回行的一个查询的(SELECT, SHOW, DESCRIBE, EXPLAIN)的结果。 /*指向检索的结果存放地址的指针,一般设为NULL*/MYSQL_ROW sqlrow; /*返回的记录信息这是一个行数据的类型安全(type-safe)的表示。当前它实现为一个计数字节的字符串数组。*/MYSQL_FIELD *fd; /*字段结构指针*/char aszflds2525; /*用来存放各字段名*/int res; /*执行查询操作后的返回标志*/int i,j,k;mysql_init(&my_connection); /*初始化数据库 MYSQL_CONNECT包括mysql服务器ip username pwd dbname */*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) = NULL)*/if (mysql_real_connect(&my_connection, localhost, root, 123456,cusemysql,0,NULL,CLIENT_FOUND_ROWS) /mysql_real_connect()试图建立到运行host的一个MySQL数据库引擎的一个连接。printf(Connection successn);if ( mysql_set_character_set(& my_connection, utf8 ) ) fprintf ( stderr , 错误, %sn , mysql_error(& my_connection) ) ;/对于由mysql指定的连接,mysql_errno()返回最近调用的可能成功或失败的API函数的错误代码。res = mysql_query(&my_connection, select childno,fname,age from children where agename);/*输出各条记录*/printf(下面是检索出的各条记录信息:n);j=mysql_num_fields(res_ptr);/在行中值的数量由mysql_num_fields(result)给出。如果row保存了从一个对用mysql_fetch_row()调用返回的值,指向该值的指针作为row0到rowmysql_num_fields(result)-1来存取。在行中的NULL值由NULL指针指出。for(i=0;ij;i+)printf(%st,aszfldsi);printf(n);while(sqlrow=mysql_fetch_row(res_ptr)/在行中字段值的长度可以通过调用mysql_fetch_lengths()获得。空字段和包含NULL的字段长度都是 0;你可以通过检查该值的指针区分他们。如果指针是NULL,字段是NULL;否则字段是空的for(i=0;ij;i+)printf(%st,sqlrowi);printf(n);if (mysql_errno(&my_connection)fprintf(stderr,Retrive error:sn,mysql_error(&my_connection);mysql_free_result(res_ptr);/释放由mysql_store_result()、mysql_use_result()、mysql_list_dbs()等为一个结果集合分配的内存。当你用完了一个结果集合时,你必须调用mysql_free_result()来释放它使用的内存mysql_close(&my_connection);/关闭一个以前打开了的连接。如果句柄由mysql_init()或mysql_connect()自动分配,mysql_close()也释放被mysql指向的连接句柄。 else fprintf(stderr, Connection failedn);if (mysql_errno(&my_connection) fprintf(stderr, Connection error %d: %sn,mysql_errno(&my_connection),mysql_error(&my_connection); return EXIT_SUCCESS;/*编译:gcc -o select mysql.c -lmysqlclient -L /usr/lib/mysql*/如果想实现其他如插入,更新等操作只需要将res = mysql_query(&my_connection, select childno,fname,age from children where age 然后修改root的密码,执行下语句:grant all on mysql.* to rootlocalhost identified by “password”; 回车 再执行下语句:flush privileges; 回车;修改密码成功,quit;退出mysql。 校验密码是否修改成功。执行mysqladmin -u root -p,这次系统提示你输入密码时候,就要输入修改成功后的了 检索并处理比较全面哦,呵呵:select 下面是详细的代码:/* select1.c */#include #include #include #include /usr/include/mysql/mysql.hint main(int argc, char *argv) MYSQL my_connection;MYSQL_RES *res_ptr; /*指向检索的结果存放地址的指针*/MYSQL_ROW sqlrow; /*返回的记录信息*/MYSQL_FIELD *fd; /*字段结构指针*/char aszflds2525; /*用来存放各字段名*/int res; /*执行查询操作后的返回标志*/int i,j,k;mysql_init(&my_connection); /*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0) = NULL)*/if (mysql_real_connect(&my_connection, localhost, root, 123456,cusemysql,0,NULL,CLIENT_FOUND_ROWS) printf(Connection successn);res = mysql_query(&my_connection, select childno,fname,age from children where agename);/*输出各条记录*/printf(下面是检索出的各条记录信息:n);j=mysql_num_fields(res_ptr);for(i=0;ij;i+)printf(%st,aszfldsi);printf(n);while(sqlrow=mysql_fetch_row(res_ptr)for(i=0;ij;i+)printf(%st,sqlrowi);printf(n);if (mysql_errno(&my_connection)fprintf(stderr,Retrive error:sn,mysql_error(&my_connection);mysql_free_result(res_ptr);mysql_close(&my_connection); else fprintf(stderr, Connection fail
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年教育局业务知识和行政执法技能培训考试题及答案
- (教研室提供)山东省威海乳山市(五四制)2024-2025学年七年级下学期期末考试历史试题
- 医疗器械销售培训知识课件
- 基于大数据的互联网+教育试点项目资金申请分析报告
- 新能源汽车基础知识培训课件
- 工程廉政排查方案(3篇)
- 2025年文化遗产保护专家职业资格考试试题及答案解析
- 公司2025年上半年落实意识形态工作责任制情况自查报告2
- 2025年安全生产月活动工作总结(集团公司)
- 2025年文创产业书法创意设计理念试题及答案
- 2025年中考数学几何模型归纳训练:最值模型之阿氏圆模型解读与提分训练
- 2025年民航安全试题简答题及答案
- 2025年事业编畜牧笔试试题及答案
- 江苏省职教高考烹饪类专业知识考试复习题(附答案)
- 焊接技术培训(基础教程)课件
- 室内地坪施工技术交底
- 健康教育高血压课件
- 多耐病人的护理管理
- 珠海广东珠海万山海洋开发试验区发展改革和政策研究局招聘合同制职员笔试历年典型考点(频考版试卷)附带答案详解
- 特种设备安全法培训课件
- 2024年机动车检测站质量手册程序文件记录表格合集(根据补充要求编制)
评论
0/150
提交评论