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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/530860.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php生成不重复时间戳,PHP获取时间戳和微秒数以及生成唯一ID

microtime函数描述&#xff1a;返回当前Unix时间戳和微秒数语法&#xff1a;mixed microtime( [ bool $get_as_float ] )//直接输出echo microtime();//得到的是 如&#xff1a;0.26672100 1585622985 前面是当前微秒数&#xff0c;后面是正常时间戳&#xff0c;中间以空格分隔…

php异步处理任务工具,PHP实现异步任务分发处理利器-Gearman

通常&#xff0c;多语言多系统之间的集成是个大问题&#xff0c;一般来说&#xff0c;人们多半会采用WebService的方式来处理此类集成问题&#xff0c;但不管采用何 种风格的WebService&#xff0c;如RPC风格&#xff0c;或者REST风格&#xff0c;其本身都有一定的复杂性。相比…

java dos窗口小工具下载,maxdos 9 3-maxdos工具箱 v9.3 官方版

maxdos 9 3maxdos工具箱是一个dos工具箱&#xff0c;maxdos工具箱为安装好的电脑系统加入dos&#xff0c;方便用户维护与备份还原&#xff0c;是完全傻瓜化的工作模式&#xff0c;更是可以直接启动硬盘上的光盘ISO镜像一键启动。maxdos工具箱特色说明&#xff1a;1、支持进入DO…

java 1.7 linux rpm,linux下用rpm 安装jdk 7的jdk-7u79-linux-x64.rpm

linux下用rpm 安装jdk 7的jdk-7u79-linux-x64.rpm步骤一、下载jdk的rpm安装包步骤二、如果linux是centos的话&#xff0c;请先卸载openjdk&#xff0c;参考文档&#xff1a;使用rpm命令卸载CentOS 6.4自带的OpenJDK步骤三、安装jdk-7u79-linux-x64.rpm安装包先执行以下命令给所…

普通用户无法执行java,CentOS tomcat普通用户执行配置安装

CentOS tomcat经过长时间的发展&#xff0c;这里我发表一下个人理解&#xff0c;下面就这就来讲术CentOS tomcat。CentOS tomcat6_jdk1.6_安装配置_开启自动运行,普通用户执行 (转)秀脱linux笔记之CentOS tomcat6实战篇由于前段时间一直在外头出差&#xff0c;没有完成CentOS t…

elementui树形复选框,element-ui checkbox 组件的树形联动

前言示例版本为 Element-ui 2.13.0 Vue 2.6.11最近想弄 Element-ui checkbox 的多级联动&#xff0c;网上相关的例子大多数为二级联动&#xff0c;自己研究了一下&#xff0c;弄了一个树形菜单的多级联动&#xff0c;常用于角色管理等业务。(仅供参考&#xff0c;未考虑性能问…

php 魔术方法 sleep,php 魔术方法 sleep() wakeup()

__sleep() 和 __wakeup()public array __sleep ( void )void __wakeup ( void )serialize() 函数会检查类中是否存在一个魔术方法 __sleep()。如果存在&#xff0c;该方法会先被调用&#xff0c;然后才执行序列化操作。此功能可以用于清理对象&#xff0c;并返回一个包含对象中…

java 先入先出,java_阻塞队列(FIFO先进先出)

java_阻塞队列(FIFO先进先出)ArrayBlockingQueue&#xff1a;由数组结构组成的有界阻塞队列&#xff1b;LinkedBlockingQueue&#xff1a;由链表结构组成的有界阻塞队列(但大小默认值为&#xff1a;Integer.MAX_VALUE)&#xff1b;PriorityBlockingQueue&#xff1a;支持优先级…

PHP能在Mac上运行吗,PHP Composer无法在Mac上运行

我安装了bitnami mac堆栈主要是因为我的项目需要至少PHP 5.4.7版本.但是,我遇到了作曲家的问题.这是我跑步时遇到的错误&#xff1a;php composer.phar install --dev错误&#xff1a;Richard-Knops-MacBook-Pro:my-project richardknop$php composer.phar install --devdyld: …

主机安装php网站,php支持虚拟主机(php网站空间)

php设置虚拟主机&#xff0c;主要是为了在ie输入地址栏是&#xff0c;可以输入任意的&#xff0c;而不是localhost/&#xff0c;为了方便&#xff0c;但是设置起来很不方便的。。发现不能实现每个站点使用不同的PHP版本&#xff0c;想向大家求教一下&#xff0c;有没有能让。支…

php时分获取秒数,javascript与php时/分/秒与秒数互转

javascript&#xff1a;/*时间转换成秒*/function time_to_second(time){var arr time.split(‘:‘)var hour arr[0]?arr[0]:0var minute arr[1]?arr[1]:0var second arr[2]?arr[2]:0var ret hour * 3600 minute * 60 secondreturn ret}/*秒转换成时间*/function sec…

lbp matlab程序,求教大神给解释一下LBP特征提取每部分程序是干什么的

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼function X1 LBP(Resimage)% Returns a rotation invariant LBP (uniform patterns) histogram (10 bins)% of picture X.% the size of picture X must be at least 3x3 pixelsw1 (1/sqrt(2))^2;%根号1/2平方w2 (1-1/sqrt(2))*…

python以20字符宽居中输出,Python 字符串内置方法(一)

以下方法只需要知道用法就行了&#xff0c;权当了解&#xff0c;不用硬背&#xff0c;以后需要用到的时候再回来看说明&#xff1a;一般方法中前面是is开头的就是判断来的&#xff0c;输出不是True就是False&#xff0c;例如isalpha()方法capitalize()方法&#xff1a;首字母大…

php 复选框全选和取消,基于JavaScript实现复选框的全选和取消全选

这篇文章主要为大家详细介绍了基于JavaScript实现复选框的全选和取消全选&#xff0c;具有一定的参考价值&#xff0c;感兴趣的小伙伴们可以参考一下本文实例为大家分享了js复选框的全选和取消全选的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下效果图&#xff1a;…

oracle 字段全大写,Oracle如何批量将表中字段名全转换为大写(利用简单存储过程)...

前言今天查询一个数据字段一直提示字符无效&#xff0c;明明在数据库表字段中是存在的&#xff1b;查询后得知&#xff0c;数据库表字段为小写时&#xff0c;查询需要将字段名小写并加上双引号&#xff1b;表名同理&#xff0c;我这里表名是大写&#xff0c;暂时不需要改。搜到…

oracle的al32utf8,oracle字符集修改(AL32UTF8-UTF8)

author&#xff1a;skatetime&#xff1a;2012/04/10AL32UTF8->UTF8步骤shutdown immediate;startup mount;alter session set sql_tracetrue;alter system enable restricted session;alter system set job_queue_processes0;alter system set aq_tm_processes0;alter data…

javascript date php date,JavaScript Date 知识浅析

Date函数new Date()Date 对象会自动把当前日期和时间保存为其初始值。date.getDate()从 Date 对象返回一个月中的某一天 (1 ~ 31)。date.getDay()从 Date 对象返回一周中的某一天 (0 ~ 6)。周日是0。date.getMonth()从 Date 对象返回月份 (0 ~ 11)。date.getFullYear()从 Date …

16字节 oracle md5,Oracle中的MD5加密

因为要用到MD5加密&#xff0c;所以在网上搜了一下相关资料&#xff0c;并进行仔细研究。其核心就是MD5编码的数据包函数&#xff1a;DBMS_OBFUSCATION_TOOLKIT.M因为要用到MD5加密&#xff0c;所以在网上搜了一下相关资料&#xff0c;并进行仔细研究。其核心就是MD5编码的数据…

ip字符串转换 linux,Linux网络编程入门

在日常使用&#xff0c;我们更多的使用十进制字符串表示IP地址&#xff0c;比如192.169.130.66&#xff0c;而不是记忆32位的IP地址(关键是太长了记不住呀)&#xff0c;使用字符串IP更为方便&#xff0c;可读性也更好。但是根据上述in_addr定义&#xff0c;网络编程中需要的是网…

linux php目录是否存在,PHP判断文件或者目录是否可写,兼容windows/linux系统

在PHP中&#xff0c;可用is_writable()函数来判断一个 文件/目录 是否可写&#xff0c;用是否可生成文件的方式判断目录是否可写&#xff1b;网上的一些代码大多数能判断linux系统&#xff0c;但windows服务器下判断不准确。下面的代码兼容windows和linux判断文件或目录是否可写…