C实现MySQL数据库操作
两个月前,也就是9月份,心血来潮在windows下实现了用C连接数据库,当时很是有把linux下一并给实现了。但是没有想得那么简单。这个任务一直推迟到了现在才完成,究其原因:1.我直接用eclipse开发工具,对于环境变量的设置不是很熟。2.linux系统库文件结构不熟悉,对于mysql提供的库文件没有放对位置。3.当时比较烦躁,没有沉下心来好好的学习。
两个月后的今天终于不经意的弄好了,虽然不是什么大的突破,但是对于一个初学C语言的人来说,这可是一个突破。代码如下:#include "include/mysql.h"
#include "include/errmsg.h"
#include <stdio.h>
/**
* 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
格式: mysql -h主机地址 -u用户名 -p用户密码
1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>
2、例2:连接到� ......
基本查询
SELECT语句用于查询数据库和SQL中的所有输出操作。
SELECTc_u_name, emailfromcooya_users;
输出cooya_users表中所有行(或记录)的属性c_u_name和email的值。
如果需要所有属性,可以使用星号(*)的快捷方式。
SELECT* from cooya_users;
SELECT语句还可以输出不是数据库中的数据及可以用作简单的计算符 ......
这就要从双引号和单引号的作用讲起:
双引号里面的字段会经过编译器解释然后再当作HTML代码输出,但是单引号里面的不需要解释,直接输出。例如:
$abc='I love u';
echo $abc //结果是:I love u
echo '$abc' //结果是:$abc
echo "$abc" //结果是:I love u
所以在对数据库里面的SQL语句赋值的时候也要用在双引号 ......
一种表驱动,除了innodb还有其它的,例如isam,myisam等.
innodb的特色在于支持并发与表间引用
MySQL支持多种存储引擎,用户可以方便的选用不同的存储引擎来支持自己的应用,每种不同的存储引擎都有其自己的特性
Innodb是其中的一种存储引擎,它的特性是支持事务,并且采用多版本并发控制的方式来提高并发度
主要 ......
各位大哥,有清楚GPS接收灵敏度的指标---载噪比C/N, C/No的有何含义,两者有何区别,可以在这里讨论一下。
C/No=10* Log(C/KTB)﹐不包括天線到Correlator的PATH LOSS及LNA等線路引進的噪音﹔而C/N則包括一切噪音。
C是指信號強度﹐K是指波爾&# ......