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 ...
随机推荐
- 什么是云数据库RDS PostgreSQL 版
PostgreSQL被业界誉为“最先进的开源数据库”,面向企业复杂SQL处理的OLTP在线事务处理场景,支持NoSQL数据类型(JSON/XML/hstore).支持GIS地理信息处理. 优点 NoS ...
- vue第一篇(搭建vue开发环境)
1.下载node并安装 下载地址: https://nodejs.org/zh-cn/ 下载后双击文件安装 2.检查是否安装成功 node -v v10.16.0 npm -v 6.9.0 如果能正常 ...
- 【经典问题】maximum subset sum of vectors
AtCoder Beginner Contest 139 Task F Engines 题目大意 给定 $n$ 个二维向量,从中选出若干个,使得它们的和的模最大. 分析 这是一个经典问题,还有一种提法 ...
- P1828香甜的黄油
这是一道关于最短路的绿题. 题目给出一些农场,每个农场有奶牛,农场与农场之间存在边,要使所有奶牛到达其中一个农场的总距离最短,输出他们到达这个农场的距离.首先我想到了最小生成树,但我发现其实并不是,因 ...
- 实现一台Linux电脑连接另一台Linux(SSH实现linux之间的免密码登陆)
怎么实现一台Linux电脑连接另一台Linux电脑? 首先查看是否安装ssh服务:systemctl status sshd.service 启动服务:systemctl start sshd.ser ...
- Js中toFixed()方法保留小数不精准的问题
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 问题:部分特殊数值使用toFixed() 方法会出现转换不正确的情况,举个例子: (3329.225).toFixed(2) ...
- Linux(16):Shell编程(3)
vim 编程环境配置: .vimrc 文件配置如下:(.vimrc文件放到家目录下:/root :然后退出 xshell 再登陆进来xshell) set nocompatible set histo ...
- python读写txt文件
整理平常经常用到的文件对象方法: f.readline() 逐行读取数据方法一: >>> f = open('/tmp/test.txt') >>> f.rea ...
- 04 Python网络爬虫 <<爬取get/post请求的页面数据>>之requests模块
一. urllib库 urllib是Python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在Python3中的为urllib.request和urllib ...
- 帝国cms 【反馈案例】 代码
<form name='feedback' method='post' enctype='multipart/form-data' action='/e/enews/index.php' ons ...