C语言写数据库(一)
/***
connect.c
***/
#include<stdio.h>
#include<stdlib.h>
#include"mysql.h" int main()
{
MYSQL mysql;
int t,r;
mysql_init(&mysql);
if(!mysql_real_connect(&mysql,"localhost","root","mysql123","csql",,NULL,))
{
printf("Error connecting to database:%s\n",mysql_error(&mysql));
}
else
{
printf("Connect MYSQL successfully!\n");
}
mysql_close(&mysql);
return ;
}
gcc编译:gcc connect.c -o connect -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient
/***
query
***/
#include<stdio.h>
#include<stdlib.h>
#include"mysql.h" int main()
{
MYSQL* conn_ptr;
MYSQL_RES* res_ptr;
MYSQL_ROW sqlrow;
char taskID[];
char taskName[];
int res,i,j; conn_ptr = mysql_init(NULL);
if(!conn_ptr)
{
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","mysql123","csql",,NULL,);
if(conn_ptr)
{
res = mysql_query(conn_ptr,"select * from task where taskState=4 order by taskLastEditTime desc");
if(res)
{
printf("SELECT error:%s\n",mysql_error(conn_ptr));
}
else
{
res_ptr=mysql_store_result(conn_ptr);
if(res_ptr)
{
printf("%lu Rows\n",(unsigned long)mysql_num_rows(res_ptr));
j = mysql_num_fields(res_ptr); while((sqlrow = mysql_fetch_row(res_ptr)))
{
for(i = ; i < j; i++)
{
printf("%s\t",sqlrow[i]);
}
printf("\n");
break;
}
if(mysql_errno(conn_ptr))
{
fprintf(stderr,"Receive error:%s",mysql_error(conn_ptr));
}
}
mysql_free_result(res_ptr);
}
if(res)
{
printf("mysql_insert error:%s\n",mysql_error(conn_ptr));
}
}
else
{
printf("Connection failed\n");
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}
gcc编译:gcc query.c -o query -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient
/**
insert
***/
#include<stdio.h>
#include<stdlib.h>
#include"mysql.h" int main(){
MYSQL *conn_ptr;
int res; conn_ptr = mysql_init(NULL);
if(!conn_ptr){
printf("mysql_init failed!\n");
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","shenhaoinfo","csql",,NULL,);
if(conn_ptr){
res = mysql_query(conn_ptr,"insert into children values(null,'jesffsui',5)");
//
if(!res){
printf("Insert %lu rows\n",(unsigned long)mysql_affected_rows(conn_ptr));
}else{
fprintf(stderr,"insert error %d: %s\n",mysql_errno(conn_ptr),mysql_error(conn_ptr));
}
}else{
printf("Connection failed\n");
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}
gcc编译:gcc insert.c -o insert -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient
/***
delete
***/
#include<stdio.h>
#include<stdlib.h>
#include"mysql.h" int main(){
MYSQL *conn_ptr;
int res; conn_ptr = mysql_init(NULL);
if(!conn_ptr){
printf("mysql_init failed!\n");
return EXIT_FAILURE;
}
conn_ptr = mysql_real_connect(conn_ptr,"localhost","root","shenhaoinfo","csql",,NULL,);
if(conn_ptr){
//res = mysql_query(conn_ptr,"insert into children values(null,'jesffsui',5)");
res =mysql_query(conn_ptr,"delete from children where fname = 'jesffsui'");
if(!res){
printf("delete %lu rows\n",(unsigned long)mysql_affected_rows(conn_ptr));
}else{
fprintf(stderr,"delete error %d: %s\n",mysql_errno(conn_ptr),mysql_error(conn_ptr));
}
}else{
printf("Connection failed\n");
}
mysql_close(conn_ptr);
return EXIT_SUCCESS;
}
gcc编译:gcc delete.c -o delete -I /usr/include/mysql/ -L /usr/lib/mysql/ -lmysqlclient
分别是大写的i,表示INCLUDE,大写的L,表示LINK,小写的L,表示link 一个库
无论是windows环境下还是linux环境下,编译链接都要带上mysql的库,头文件和附属链接。如何配置网上其他网友写的都已经很详细了。
C语言写数据库(一)的更多相关文章
- C语言写数据库(三)
遇到的问题以及解决思路方法 1.外部导入数据库文件 进入mysql,创建数据库sh_robot source /home/exbot/sh_robot.sql 查看数据库编码格式 show varia ...
- C语言写数据库(二)
简单的实现增删查改的操作后,实现了一个先读写其中一个表的某两项内容,再把相关字符段写入到另外一张表中去.涉及到查询和插入两个步骤. 其中还涉及到汉字的读写和插入,会有字符的操作产生乱码.所以要先保证m ...
- C#语言和数据库基础
第一章 第一个C#程序 Vs2012密钥 RBCXF-CVBGR-382MK-DFHJ4-C69G8 01..net和C#的区别 大概在2000年,微软推出了一种革命性的产品--.NET(战略) 目标 ...
- 《C#语言和数据库技术基础》单词必备
<C#语言和数据库技术基础> 第一章1..NET Framework 框架2.sharp 尖锐,强烈的3.application 应用程序4.devel ...
- C语言与数据库操作入门
https://blog.csdn.net/flyingqd/article/details/78763652 C语言与数据库操作入门(Win版) 2017年12月10日 17:30:17 阅读数:1 ...
- C语言与数据库操作入门(Win版)
C语言与数据库操作入门(Win版) 2017年12月10日 17:30:17 阅读数:1387 数据库,DataBase,学C语言的是不是想说,很想爱她却并不容易呢?不用着急,C语言也可以操作数据库的 ...
- 自己用C语言写dsPIC / PIC24 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). HyperBootlo ...
- 自己用C语言写单片机PIC18 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). HyperBootlo ...
- 自己用C语言写单片机PIC16 serial bootloader
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 为什么自己写bootl ...
随机推荐
- sql server2012中使用convert来取得datetime数据类型样式(全)
一.日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007-02-01 08:02/*时间一般为getdate()函数或数据表里的字段*/ CONV ...
- springmvc默认配置文件
当在新建的maven web项目的web.xml中直接加入下面的<servlet>和<servlet-mapping>后,直接运行就会出现这个报错,意思就是找不到默认的spri ...
- ZOJ 2314 (无源汇有上下边界的可行流)
(点击此处查看原题) 题意分析 给出n个结点,m条管道,每条管道存在最小流量和最大流量,而且每个结点的流入量等于流出流出量,问这n个结点和m条管道能否形成流量循环 解题思路 经典的无源汇有上下边界的可 ...
- 调用webService学习小结
这段时间项目进行到了最后时刻,但是还有很多需求没有搞清楚,眼看deadline越来越近,压力也越来越大.现在我的主要工作是将别人开发好的一个系统给加载到我们系统中,使用的方法是通过webService ...
- innodb中一颗B+树能存储多少条数据
如图,为B+树组织数据的方式: 实际存储时当然不会每个节点只存3条数据. 以InnoDB引擎为例,简单计算一下一颗B+树可以存放多少行数据. B+树特点:只有叶子节点存储数据,而非叶子节点存放的是用来 ...
- javaScript基础知识总汇
javaScript是什么: 1.JavaScript 运行在客户端(浏览器)的编程语言 2.用来给HTML网页增加动态功能 3.用来给HTML网页增加动态功能. 4.Netscape在最初将其脚本语 ...
- spring cloud 入门
某种程度上 软硬件 殊途同归了 (软件模仿硬件 总线设计, 资源定位 (寻址) ) spring 是什么 EDA ( Event-driven architecture ) (SOA , SOAP , ...
- TensorFlow入门——MNIST初探
import tensorflow.examples.tutorials.mnist.input_data as input_data import tensorflow as tf mnist = ...
- Nginx如何配置反向代理
server { listen 80; server_name 代理域名; location / { proxy_pass 应用域名:应用端口; proxy_set_header Host $host ...
- Linu目录结构和创建用户
具体目标结构 ./bin [重点] (/usr/bin./usr/local/bin) ●是Binary的速写,这个目录存放着最经常使用的命令. ./sbin (/usr/sbin./usr/loca ...