资源描述:
《C语言调用mysql快速教程(精华篇)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1,使用c语言操作mysql之前,先在mysql里头创建一个数据库,一个表,在表里头添加数据如下:创建数据库,库名为cusemysql:mysql>createdatabasecusemysql;创建表,表名为:mysql>usecusemysql;mysql>createtablechildren(childnointnotnullunique,fnamevarchar(20),ageint);添加一点数据哦:mysql>insertintochildrenvalues(5,"花儿",10);对拉,为了方便起见,把表
2、的大致样子给大家看看childnofnameage1小星92大量152,下面进行具体的操作插入:insert好的,我们现编辑一段c代码,取名为insert.c////////////////////////////////////*insert.c*/#include#include#include"/usr/local/mysql/include/mysql/mysql.h"/*注意哦,上面必须是mysql.h的绝对地址,一般在mysql下的include目录下,仔细看看你的在哪
3、里?*/intmain(intargc,char*argv[]){MYSQLmy_connection;intres;mysql_init(&my_connection);/*mysql_real_connect(&mysql,host,user,passwd,dbname,0,NULL,0)==NULL)*/if(mysql_real_connect(&my_connection,"localhost","root","","cusemysql",0,NULL,CLIENT_FOUND_ROWS)){printf("
4、Connectionsuccessn");res=mysql_query(&my_connection,"insertintochildrenvalues(10,'Ann',5)");if(!res){printf("Inserted%lurowsn",(unsignedlong)mysql_affected_rows(&my_connection));/*里头的函数返回受表中影响的行数*/}else{//分别打印出错误代码及详细信息fprintf(stderr,"Inserterror%d:%sn",mysql_er
5、rno(&my_connection),mysql_error(&my_connection));}mysql_close(&my_connection);}else{fprintf(stderr,"Connectionfailedn");if(mysql_errno(&my_connection)){fprintf(stderr,"Connectionerror%d:%sn",mysql_errno(&my_connection),mysql_error(&my_connection));}}returnEXIT_S
6、UCCESS;}/////////////////////////////////////////////代码写完了,要编译哦#gcc-oinsertinsert.c-L/usr/local/mysql/lib/mysql/*.a-lzok,现在我们执行看看#./insertConnectionSuccessInserted1rowsyear,果然可以,呵呵不信到mysql下看看表children中是否多了刚才插入的那一行数据注:也许你会问上面gcc的命令参数是什么意思阿,其实,我也不太清楚,呵呵大概是要把mysql下
7、的某个特定库包含进来,可是我不知道具体是个什么库,所以用*.a全部包含进来拉其实只要包含mysqlclient.a就可以,你试试看更新:update我们只要把上面的代码中的res=mysql_query(&my_connection,"insertintochildrenvalues(10,'Ann',5)");换成res=mysql_query(&my_connection,"updatechildrensetage=20wherechildno<5");即可上面语句实现的功能是,把编号小于5的所有孩子的年龄全部改成
8、20岁检索:select看代码之前,最好是先看蓝色字体的部分[介绍了代码中用到的一些函数的作用]///////////////////////////////////////////////////*select.c*/#include#include#include"/usr/local/m