c mysql数据库_C实现MySQL数据库操作

C实现MySQL数据库操作

两个月前,也就是9月份,心血来潮在windows下实现了用C连接数据库,当时很是有把linux下一并给实现了。但是没有想得那么简单。这个任务一直推迟到了现在才完成,究其原因:1.我直接用eclipse开发工具,对于环境变量的设置不是很熟。2.linux系统库文件结构不熟悉,对于mysql提供的库文件没有放对位置。3.当时比较烦躁,没有沉下心来好好的学习。

两个月后的今天终于不经意的弄好了,虽然不是什么大的突破,但是对于一个初学C语言的人来说,这可是一个突破。代码如下:#include "include/mysql.h"

#include "include/errmsg.h"

#include

/**

* Define the QUERY STATUS

* */

#define QUERY_SUCCESS 1

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

{

MYSQL mysql;

MYSQL_ROW row;

MYSQL_FIELD *field;

mysql_init(&mysql);

mysql_options(&mysql,MYSQL_SET_CHARSET_NAME,"gb2312");

if(mysql_real_connect(&mysql,"localhost","root","root","test",3306,0,0))

{

mysql_select_db(&mysql,"test");

//insert

mysql_query(&mysql,"insert into ids values(2);");

//query

mysql_query(&mysql,"select id from ids");

MYSQL_RES* mysql_res = mysql_store_result(&mysql);

while((row = mysql_fetch_row(mysql_res)) != NULL){

for(unsigned int j = 0; j < mysql_num_fields(mysql_res); j++){

field = mysql_fetch_field_direct(mysql_res, j);

printf("%s %s ",field->table,field->name);

}

}

//update

mysql_query(&mysql,"update ids set id = 123");

//delete

mysql_query(&mysql,"delete from ids where id = 1");

return QUERY_SUCCESS;

}

else

{

int err = mysql_errno(&mysql);

printf("错误:%d",err);

}

mysql_close(&mysql);

return 0;

}对于

其实在linux和windows下mysql的操作是一样的,只是mysql的库文件放置的位置不同而已。

在linux下把libmysql.so.16拷贝到/usr/lib目录下,一切正常。别忘了开mysql数据库服务。

相关文档:

如果只是一个数据库的话,我们一般习惯这样写:mysql_select_db("guestbook");

mysql_query('select * from users');

但是如果是连接多个mysql,有可能出现同名的数据库,或者数据库中出现同名的表,所以就必须用完整的形式了,如下代码:

$link1 = mysql_connect('localhost1','root','root');

mysql ......

查询及删除重复记录的方法

(一)

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from people

where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)

2、删除表中多余的重复记录� ......

共3个文件

IncDB.php数据库连接

index.php首页

InsetToDB.php数据库操作

数据库lguestbook里面建表

CREATE TABLE `intd` (

`id` int(11) NOT NULL auto_increment,

`name` varchar(255) character set utf8 collate utf8_bin N ......

添加字段:

MYSQL

alter table tb add col2 varchar(10)

MSSQL2000

alter table tb add col2 varchar(10)

修改字段:

MYSQL

alter table tb modify col2 varchar(20)

MSSQL2000

alter table tb alter column col2 varchar(20)

删除字段:

MYSQL

alter table tb drop column col ......

安装后MYSQL5后,发现启动出错.

出错代码:1067

解决办法如下:

删除%windows%/my.ini

删除其它地方的my.ini

在mysql安装目录下把my-small.ini复制为my.ini

在my.ini最后一行插入:

CODE:

[mysqld]

#设置basedir指向mysql的安装路径

basedir=C:\mysql-5.1.11-beta-win32

datadir=C:\mysql-5.1.11-beta-win32\dat ......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值