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

c mysql数据库_C实现MySQL数据库操作相关推荐

  1. 使用c 对mysql数据库_c对mysql数据库的操作

    在自己的LiuServer中要加入对数据库的支持,即开发者可以用liuServer实现WEB数据库技术.现在发布一个对mysql数据库操作的源代码. 要准备的文件是mysql提供的C开发API文件和l ...

  2. cad与连接mySQL数据库_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  3. c web mysql数据库_C连接Mysql数据库代码

    //vc工具中添加E:\WAMP\BIN\MYSQL\MYSQL5.5.8\LIB 路径 //在工程设置->链接>库模块中添加 libmysql.lib #include #include ...

  4. c++向mysql通信_C++连接MySQL

    C++连接mysql有2种方法:利用ADO连接.利用mysql自己的api函数进行连接,下面看看如何用吧. 第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysq ...

  5. c winform mysql类_C#连接MySQL数据库操作类

    首先需要安装MySQL Connector Net 6.8.3 然后在项目中引用MySQL Connector,如下图所示 C#连接MySQL的操作类代码如下:public class MySQLHe ...

  6. c 连接mysql数据库_C++连接mysql数据库的两种方法

    现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接m ...

  7. c# 连接mysql数据库_C#连接Mysql数据库

    一. ADO.NET访问方式 程序集:Mysql.Data.dll 导入包:using MySql.Data.MySqlClient; 说明:这是MySql为 ADO.NET推出的 访问 Mysql数 ...

  8. c 修改mysql数据库_c 修改mysql数据库

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  9. c#定时备份mysql数据库_C# 定时备份数据库工具源码下载

    [实例简介] [实例截图] [核心代码] using System; using System.Collections.Generic; using System.ComponentModel; us ...

最新文章

  1. Office 365 成微软 AI 落地载体, 53 项 AI 功能你用过多少?
  2. [歌曲]心愿(by 四个女生)
  3. Linux Kernel TCP/IP Stack — L1 Layer — NIC Controller — Buffer descriptor table
  4. HDFS restful API:关于WebHDFS与HttpFS的区别
  5. HTML中From表单的常用type属性及用法【较全】
  6. 高德深度信息接入的平台化演进
  7. 不能输入_为什么稳压器输入端不能配漏电保护器
  8. Android中shape的解析
  9. 计算机节电模式不能打开,电脑进入节电模式打不开怎么办
  10. idea设置断点,对于for循环,到指定次数时停止
  11. vue map遍历_vue中内嵌百度地图
  12. 如何远程登录连接Linux云服务器(电脑端/移动端)?
  13. 《Java EE 7精粹》—— 3.12 Passthrough属性和HTML5友好的标记
  14. 内网群PING的shell
  15. geektool 天气_桌面自定义:适用于OS X的GeekTool简介
  16. 论坛小程序(含论文ssm后台)
  17. mysql 32位_MySQL8下载 MySQL 8 for windows 32位 v8.0.18 官方免费正式版 下载-脚本之家
  18. 惊闻“漫游成本只有一分钱”
  19. java.lang.IllegalArgumentException: Malformed \uxxxx encoding
  20. 开源Api后台服务/管理系统 HoServer

热门文章

  1. linux wheel用户组,Linux的用户和组之详解用户和组的分类
  2. java jndi使用_Java项目中使用JNDI连接数据库
  3. python的整数类型_Python int 数字整型类型 定义int()范围大小转换
  4. Vue Bootstrap OSS 实现文件上传
  5. 安装和使用Ant Design Vue 图标库
  6. SpringBoot集成Flowable_Jsite待办任务菜单报500
  7. 解决SecureCRT与SecureFX中文乱码问题
  8. Mycat+Mysql 插入数据报错 i[Err] 1064 - partition table, insert must provide ColumnList
  9. 在linux下搭建mysql数据库(以linux 版本Ubuntu18.04为例进行讲解)
  10. java 如何循环执行一个对象_Java基础:如何定义好一个方法和进行方法重载