C语言写数据库(一)
2024-10-07 02:37:31
/***
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#开发微信门户及应用(39)--使用微信JSSDK实现签到的功能
- JQUERY中 .each()的用法。
- 【接上一篇】winform中dataGridView高度和宽度自适应填充完数据的高度和宽度,即dataGridView根据数据自适应大小
- 浅谈GridLayout(网格布局)
- sql server数据库语句
- 揭开HTTP网络协议神秘面纱系列(三)
- 连连看的设计与实现——四人小组项目(NABCD)
- My.Ioc 代码示例——属性和方法注入
- 156 Useful Run Commands
- JQUERY1.9学习笔记 之基本过滤器(七) 语言选择器
- 阿里巴巴2018届应届生在线编程测验-研发工程师C/C++
- phtyon
- Linux之整理bash命令类型
- vue移动端flexible.js结合Muse-ui使用和vux的小坑
- Git提交代码失败: empty ident name (for <;>;) not allowed
- C++ Primer(6) 模板和泛型编程(上)
- jquery checkbox点选反选
- C#中载入界面的几种做法
- java se系列(十二)集合
- SQL Server ->;>; XML方法
热门文章
- 在Ubuntu上安装Hive
- NOIP 2017 逛公园 题解
- QVector与QMap查找效率实战(QMap快N倍,因为QVector是数组,QMap是有序二叉树,查找的时候是N和LogN的速度对比)
- Erasing Substrings CodeForces - 938F (字符串dp)
- redis 学习(1)-- redis 安装与启动
- Intellij idea启动项目提示";ClassNotFoundException";
- JavaScript里面9种数组遍历!
- NumPy 简介及安装
- Get To Know Linux: The /etc/init.d Directory
- centos6和centos7的区别和常用的简单配置优化