用C语言调用MySQL一种灵活的数据存储方式(c 代码调用mysql)
用C语言调用MySQL:一种灵活的数据存储方式
在程序开发中,我们经常需要通过数据存储来保存和管理信息。对于大型系统和需要高效处理数据的项目,MySQL数据库是流行且强大的选择。而许多开发人员也喜欢C语言,因为其灵活性和高效性。在这篇文章中,我们将介绍如何使用C语言调用MySQL来实现数据存储。
1. 安装MySQL C API库
在使用C语言调用MySQL之前,首先需要安装MySQL C API库。安装后,我们就可以链接它们的头文件和库文件。在Ubuntu下,可以通过以下命令安装:
sudo apt-get install libmysqlclient-dev
在Windows下,需要从MySQL官方网站下载可执行文件,并按照指示安装。
2. 建立连接
在编写C程序时,需要首先建立与MySQL服务端的连接。这可以通过调用mysql_init()和mysql_real_connect()函数来实现。
下面是一个建立连接的示例代码:
#include
#include
#include
#include
#define HOST “localhost” #define USERNAME “root” #define PASSWORD “密码” #define PORT_NU 3306 #define DATABASE “test_database” int mn() { MYSQL *pMYSQL; MYSQL_RES *pRes; MYSQL_ROW row; pMYSQL = mysql_init(NULL); if (!mysql_real_connect(pMYSQL, HOST, USERNAME, PASSWORD, DATABASE, PORT_NUM, NULL, CLIENT_MULTI_STATEMENTS)) { printf(“连接失败: %s\n”, mysql_error(pMYSQL)); return -1; } printf(“连接成功!\n”); /*后续操作*/ mysql_close(pMYSQL); return 0; }
在代码中,我们定义了要连接的主机、用户名、密码、端口和数据库。如果连接成功,将输出“连接成功!”。连接失败时,将输出错误信息,函数返回-1。而mysql_close()函数用于关闭连接。
3. 执行SQL语句
与MySQL服务器连接成功后,可以使用mysql_query()函数执行SQL语句。执行成功后,我们可以使用mysql_store_result()函数和mysql_fetch_row()函数来获取结果集和单个数据行。
下面是一段简单的示例代码:
#include
#include
#include
#include
#define HOST “localhost” #define USERNAME “root” #define PASSWORD “密码” #define PORT_NUM 3306 #define DATABASE “test_database” int mn() { MYSQL *pMYSQL; MYSQL_RES *pRes; MYSQL_ROW row; pMYSQL = mysql_init(NULL); if (!mysql_real_connect(pMYSQL, HOST, USERNAME, PASSWORD, DATABASE, PORT_NUM, NULL, CLIENT_MULTI_STATEMENTS)) { printf(“连接失败: %s\n”, mysql_error(pMYSQL)); return -1; } printf(“连接成功!\n”); // 执行 SELECT SQL 语句 if (mysql_query(pMYSQL, “SELECT * FROM students”)) { printf(“查询失败: %s\n”, mysql_error(pMYSQL)); return -1; } pRes = mysql_store_result(pMYSQL); if (!pRes) { printf(“获取结果集失败: %s\n”, mysql_error(pMYSQL)); return -1; } while (row = mysql_fetch_row(pRes)) { printf(“%s %s %s %s\n”, row[0], row[1], row[2], row[3]); } mysql_free_result(pRes); mysql_close(pMYSQL); return 0; }
上面的代码会执行一个SELECT语句,遍历结果集,输出所有行。如果出现了错误,会输出错误信息。
4. 插入、更新和删除数据
在使用C语言调用MySQL时,我们可以通过执行INSERT、UPDATE、DELETE语句来插入、更新和删除数据。下面是一个插入数据的示例代码:
#include
#include
#include
#include
#define HOST “localhost” #define USERNAME “root” #define PASSWORD “密码” #define PORT_NUM 3306 #define DATABASE “test_database” int mn() { MYSQL *pMYSQL; MYSQL_RES *pRes; MYSQL_ROW row; pMYSQL = mysql_init(NULL); if (!mysql_real_connect(pMYSQL, HOST, USERNAME, PASSWORD, DATABASE, PORT_NUM, NULL, CLIENT_MULTI_STATEMENTS)) { printf(“连接失败: %s\n”, mysql_error(pMYSQL)); return -1; } printf(“连接成功!\n”); // 插入一条数据 if (mysql_query(pMYSQL, “INSERT INTO students(id, name, age, address) VALUES(3, ‘Tom’, 20, ‘北京’)”)) { printf(“插入数据失败: %s\n”, mysql_error(pMYSQL)); return -1; } printf(“插入数据成功!\n”); mysql_close(pMYSQL); return 0; }
在代码中,我们使用INSERT INTO语句在students表中插入一条数据,如果执行成功,输出“插入数据成功!”,否则输出错误信息。
总结
本文介绍了如何使用C语言调用MySQL来实现数据存储。需要注意的是,在使用MySQL C API库时,我们需要保证连接正常并且执行的SQL语句没有错误。通过这种方式,我们可以轻松地将C程序与MySQL集成,提高数据处理的效率和安全性。