C语言结合MySQL实现增删改查功能
随着互联网、移动互联网的快速发展,大量数据的存储、管理、查询成为了一个非常重要的问题。MySQL是目前最流行的开源关系型数据库之一,支持多种操作系统和编程语言,包括C语言。在本文中,将介绍如何使用C语言结合MySQL实现增删改查功能。
1. 连接MySQL数据库
使用C语言连接MySQL数据库需要引入mysql.h头文件,并使用mysql_init()函数初始化MySQL连接结构体。然后使用mysql_real_connect()函数连接到MySQL服务器,并指定服务器地址、用户名、密码、数据库名称等参数,示例代码如下:
#include
#include
MYSQL mysql;
int mn(){
mysql_init(&mysql);
if(mysql_real_connect(&mysql,"localhost","root","password","test",0,NULL,0)){
printf("连接成功!\n");
}else{
printf("连接失败!\n");
}
mysql_close(&mysql);
return 0;
}
2. 插入数据
在连接到MySQL数据库后,可以使用mysql_query()函数执行SQL语句。要插入数据,需要使用INSERT INTO语句,并将数据值放在括号中。示例代码如下:
char* name = "张三";
int age = 20;
char* sql = "INSERT INTO student(name, age) VALUES ('%s', %d)";
char buf[255];
sprintf(buf,sql,name, age);
mysql_query(&mysql, buf);
其中,sprintf()函数可以将多个字符串和变量拼接成一个字符串。
3. 查询数据
查询数据需要使用SELECT语句,并将需要查询的字段名和表名放在SELECT和FROM之间。可以使用mysql_store_result()函数返回查询结果集,然后使用mysql_num_rows()获取结果集中的行数,mysql_fetch_row()逐行读取结果集的数据。示例代码如下:
MYSQL_RES* res;
MYSQL_ROW row;
mysql_query(&mysql, "SELECT * FROM student");
res = mysql_store_result(&mysql);
int num_rows = mysql_num_rows(res);
printf("行数: %d\n", num_rows);
while(row = mysql_fetch_row(res)){
printf("%s, %d\n",row[0],atoi(row[1]));
}
mysql_free_result(res);
4. 修改数据
修改数据需要使用UPDATE语句,并用SET子句指定需要修改的字段和值。示例代码如下:
char* sql = "UPDATE student SET age=%d WHERE name='%s'";
char buf[255];
sprintf(buf,sql,21,"张三");
mysql_query(&mysql, buf);
5. 删除数据
删除数据需要使用DELETE语句,并指定需要删除的数据行的条件。示例代码如下:
char* sql = "DELETE FROM student WHERE name='%s'";
char buf[255];
sprintf(buf,sql,"张三");
mysql_query(&mysql, buf);
总结
通过本篇文章的介绍,我们了解了如何使用C语言结合MySQL实现增删改查功能。我们需要使用mysql.h头文件里面提供的函数来连接数据库、插入数据、查询数据、修改数据和删除数据。这样就可以实现对MySQL数据库中存储的数据进行增删改查的操作。