Ubuntu下用C直接操作Mysql数据库的方法
ubuntu下用C直接操作Mysql数据库的方法
转载自:http://hi.baidu.com/wdr_cloud/item/7d87e609102b24943d42e251
以下内容仅供个人学习之用,切勿挪用他途。
首先安装好mysql,一般情况下是没有mysql.h这个头文件的。
sudo apt-get install mysql-server mysql-client
sudo apt-get install libmysqlclient15-dev
安装好后,用find查找mysql.h的路径
example:/usr/include/mysql/mysql.h(我的是在这个路径下)
1,使用c语言操作mysql之前,先在mysql里头创建一个数据库,一个表,在表里头添加数据如下:
创建数据库,库名为wang:
mysql>create database wang;
创建表,表名为:
mysql>use wang;
mysql>create table stu(sno int,fname varchar(20),age int);
添加数据:
insert into stu values(1,"dingding",24);
insert into stu values(2,"wang",22);
2 ,下面进行具体的操作
插入:insert.c
#i nclude <stdio.h>
#i nclude <stdlib.h>
#i nclude "/usr/include/mysql/mysql.h"
int main(int argc, char *argv[])
{
MYSQL my_connection;
int res;
mysql_init(&my_connection);
if (mysql_real_connect(&my_connection, "localhost", "root", "","wang",0,NULL,CLIENT_FOUND_ROWS))
{
printf("Connection success\n");
res = mysql_query(&my_connection, "insert into stu values(3,'apple',21)");
if (!res)
{
printf("Inserted %lu rows\n",(unsigned long)mysql_affected_rows(&my_connection));
}
else
{
fprintf(stderr, "Insert error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection));
}
mysql_close(&my_connection);
}
else
{
fprintf(stderr, "Connection failed\n");
if (mysql_errno(&my_connection))
{
fprintf(stderr, "Connection error %d: %s\n",mysql_errno(&my_connection),mysql_error(&my_connection));
}
}
return EXIT_SUCCESS;
}
编译:
gcc -o insert insert.c -l mysqlclient
./insert
Connection Success
Inserted 1 rows
我们只要把上面的代码中的
res = mysql_query(&my_connection, "insert into stu values(3,'apple',21)");
换成
res = mysql_query(&my_connection, "update stu set age=19 where sno>2 ");
即可
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述