C与MySQL的数据交互:实现数据写入
MySQL是广泛使用的、功能强大的关系型数据库管理系统,而C语言是一种高级编程语言,广泛应用于各种软件和系统的开发中。通过将C语言和MySQL结合起来,可以实现对数据库的快速、高效的数据读取和写入。下面将介绍如何使用C语言与MySQL进行数据交互,实现数据写入。
第一步:建立连接
在进行数据交互之前,首先需要建立C语言与MySQL之间的连接。可以使用MySQL C API提供的mysql_real_connect函数建立连接。
“`c
#include
MYSQL *conn;
const char *server = “localhost”;
const char *user = “root”;
const char *password = “password”; /* set me first */
const char *database = “mydb”;
void mn() {
conn = mysql_init(NULL);
/* Connect to database */
if (!mysql_real_connect(conn, server,
user, password, database, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
/* close connection */
mysql_close(conn);
}
在上述示例中,使用mysql_init函数初始化连接,然后使用mysql_real_connect函数建立与MySQL的连接。连接建立成功后,可以使用mysql_query函数向MySQL发送SQL语句。
第二步:写入数据
在建立了连接之后,即可使用SQL语句向MySQL数据库中写入数据。在下面的示例中,我们将向“mydb”数据库中的“person”表中写入用户的姓名、年龄和性别信息。
```c
/* Insert data into table */
if (mysql_query(conn, "INSERT INTO person VALUES('Alice', 22, 'Female')")) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
这里以字符串形式直接插入数据,也可以构造SQL语句插入变量中的数据。
“`c
char * name = “Bob”;
int age = 26;
char * gender = “Male”;
char buffer[1024];
memset(buffer, 0, sizeof(buffer));
sprintf(buffer, “INSERT INTO person VALUES(‘%s’, %d, ‘%s’)”, name, age, gender);
if (mysql_query(conn, buffer)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
在上述示例中,使用sprintf构造SQL语句插入变量中数据,然后使用mysql_query函数将数据插入到MySQL数据库中。
第三步:关闭连接
在将数据写入数据库后,应该关闭与MySQL的连接。可以使用mysql_close函数关闭连接。
```c
/* close connection */
mysql_close(conn);
以上是C语言与MySQL进行数据交互并实现数据写入的基本步骤。代码实现简单,学习成本低,并且高效稳定,是进行数据交互的重要方法之一。