使用C语言操作MySQL数据库,需要借助MySQL提供的C API。下面将介绍MySQL数据库的C API使用的基本步骤和示例代码。
步骤
- 引入MySQL连接库头文件
在代码中引入MySQL连接库的头文件:#include <mysql.h>
- 初始化数据库连接
在代码中使用mysql_init()
函数初始化一个MYSQL
对象,并使用mysql_real_connect()
函数连接到MySQL服务器。
c
MYSQL *mysql = mysql_init(NULL);
mysql_real_connect(mysql, "localhost", "user", "password", "database", port, NULL, 0);
在连接MySQL服务器时,需要传入5个参数:
- 主机名(例如
"localhost"
) - 用户名
- 密码
- 数据库名
-
端口号(默认为3306)
-
执行SQL语句
在MySQL服务器上执行SQL语句需要使用mysql_query()
函数,例如:
c
mysql_query(mysql, "CREATE TABLE mytable (id INT PRIMARY KEY, value VARCHAR(255))");
这个例子创建了一个名为mytable
的表,包含2个字段:id
和value
。
- 获取查询结果
使用mysql_use_result()
函数可以获取执行SELECT语句后返回的结果集:
c
MYSQL_RES *result = mysql_use_result(mysql);
这个函数返回一个MYSQL_RES
类型的指针,这个指针指向一个结果集对象,我们可以使用各种函数来读取和操作这个结果集。
- 释放资源
在使用完MySQL连接后,应该释放资源,使用mysql_free_result()
函数释放结果集对象,并使用mysql_close()
函数关闭MySQL连接,例如:
c
mysql_free_result(result);
mysql_close(mysql);
示例
下面是一个完整的示例,演示了如何在C语言中使用MySQL API连接到MySQL服务器,并执行SQL语句和读取结果集:
#include <mysql.h>
#include <stdio.h>
int main() {
MYSQL *mysql = mysql_init(NULL);
mysql_real_connect(mysql, "localhost", "user", "password", "database", port, NULL, 0);
mysql_query(mysql, "CREATE TABLE mytable (id INT PRIMARY KEY, value VARCHAR(255))");
mysql_query(mysql, "INSERT INTO mytable (id, value) VALUES (1, 'hello')");
mysql_query(mysql, "INSERT INTO mytable (id, value) VALUES (2, 'world')");
MYSQL_RES *result = mysql_use_result(mysql);
MYSQL_ROW row;
while ((row = mysql_fetch_row(result))) {
printf("id: %s, value: %s\n", row[0], row[1]);
}
mysql_free_result(result);
mysql_query(mysql, "DROP TABLE mytable");
mysql_close(mysql);
return 0;
}
这个示例程序创建了一个名为mytable
的表,然后插入2条数据,最后读取数据并将结果打印到控制台上,最后删除这个表并关闭MySQL连接。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:用C语言操作MySQL数据库的通用方法 - Python技术站