使用C语言操作MySQL:插入记录实例
MySQL是一种免费的开源关系型数据库,在Web应用程序和其他数据驱动的软件中被广泛使用。C作为一种常用编程语言,也能够与MySQL进行良好的通信,以便构建数据驱动的应用程序。本文将介绍如何使用C语言连接MySQL,并向其中插入一些数据。
要实现这个实例,我们需要在本地或远程机器上安装好MySQL,并在其中创建一个名为“test”的数据库。我们还需要在该数据库中创建一个名为“person”的表,其中包含id、name和age三个字段。下面是创建表格的SQL语句:
CREATE TABLE person (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
PRIMARY KEY (id)
);
接下来,需要编写C代码,以便连接MySQL服务器,并向其插入数据。下面是完整的代码:
#include
#include
#include
int mn(void) {
// 连接到MySQL服务器
MYSQL *conn = mysql_init(NULL);
if (conn == NULL) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
if (mysql_real_connect(conn, "localhost", "root", "", "test", 0, NULL, 0) == NULL) {
fprintf(stderr, "%s\n", mysql_error(conn));
mysql_close(conn);
exit(1);
}
// 插入数据
if (mysql_query(conn, "INSERT INTO person (name, age) VALUES ('张三', 25)")) {
fprintf(stderr, "%s\n", mysql_error(conn));
mysql_close(conn);
exit(1);
}
if (mysql_query(conn, "INSERT INTO person (name, age) VALUES ('李四', 30)")) {
fprintf(stderr, "%s\n", mysql_error(conn));
mysql_close(conn);
exit(1);
}
// 断开连接
mysql_close(conn);
return 0;
}
让我们逐个解释这个代码:
– 头文件包含了stdlio.h、stdlib.h和mysql/mysql.h,分别是标准I/O库、标准库和MySQL连接API的头文件。
– 我们通过mysql_init()函数初始化连接对象,并检查是否成功。
– 通过mysql_real_connect()函数连接到MySQL服务器。这里,“localhost”指的是本地服务器,”root”指的是MySQL用户名,””指的是密码,”test”指的是要连接的数据库名。后面的参数中,0表示连接端口号默认为3306(MySQL默认端口号),NULL表示Unix套接字不使用,0表示无附件信息。
– 使用mysql_query()函数插入数据。该函数需要传入SQL语句。第一条SQL语句会向表格中插入一条记录,id会自动递增,name为“张三”,age为25。第二条SQL语句向表格中插入一条记录,id会自动递增,name为“李四”,age为30。
– 我们通过mysql_close()函数断开与MySQL服务器的连接。
运行代码后,我们可以看到MySQL服务器中数据库“test”的“person”表中插入了两条新的记录。这是一个非常基本的例子,仅仅用于示范如何使用C语言操作MySQL。更复杂的实例需要仔细研究MySQL C API文档,理解如何利用结果集、事务、存储过程等高级技术操作MySQL。