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 ......