插入的记录C程序实现MySQL查询插入记录(c mysql读出)
插入的记录C程序实现MySQL查询插入记录
MySQL是一种开源的关系型数据库管理系统,被广泛应用于各类网站和应用程序的数据存储和管理。与此相对应的,C语言是一门强大而广泛使用的编程语言,具有高效、可移植、可扩展等特点。本文将介绍如何使用C程序实现MySQL查询与插入记录功能。
我们需要在MySQL中创建一个数据库和表格。可以使用如下命令:
CREATE DATABASE test_database;
USE test_database;
CREATE TABLE test_table ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(20), age INT );
这段命令用于创建一个名为test_database的数据库,然后将数据库的使用指针指向该数据库。接着,创建一个名为test_table的表格,其包含三列数据,分别为id、name和age,其中id为主键自增长。具体表格结构如下:
mysql> DESCRIBE test_table;
+——-+————–+——+—–+———+—————-+
| Field | Type | Null | Key | Default | Extra |
+——-+————–+——+—–+———+—————-+
| id | int(11) | NO | PRI | NULL | auto_increment |
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
+——-+————–+——+—–+———+—————-+
3 rows in set (0.00 sec)
接下来,我们编写一个C程序,包含MySQL C API头文件mysql.h,以及用于连接MySQL数据库,写操作并查询操作的相关代码。具体代码如下:
#include
#include
#include
int mn()
{
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
/*指向结构体(含有数据库的连接信息)*/
char *server = “localhost”;
char *user = “root”;
char *password = “123456”;
char *database = “test_database”;
char *query;
/*这一步是创建一个实例,并检查是否成功*/
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, server, user, password, database, 0, NULL, 0))
{
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
/*以下代码用于插入数据*/
query = “INSERT INTO test_table (name, age) VALUES(‘John’, 26)”;
if (mysql_query(conn, query))
{
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
/*以下代码用于查询数据*/
query = “SELECT * FROM test_table”;
if (mysql_query(conn, query))
{
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
res = mysql_use_result(conn);
printf(“id\tname\tage\n”);
while ((row = mysql_fetch_row(res)) != NULL)
{
printf(“%s\t%s\t%s\n”, row[0], row[1], row[2]);
}
mysql_free_result(res);
mysql_close(conn);
return 0;
}
通过上述代码,我们成功地连接到MySQL数据库,并插入了一条名为John、年龄为26的记录。接着,我们又通过SELECT语句查询了整张表格的数据,并打印出了每条记录的id、name和age信息。具体输出结果如下:
id name age
1 John 26
至此,我们成功地使用C程序实现了MySQL的查询和插入功能。需要注意的是,这只是MySQL C API的简单应用,还可以进一步深入学习和应用该API,尤其是在大型企业级应用中的使用场景。同时,为了保证数据安全,也需要考虑防止SQL注入等安全问题。MySQL和C语言的结合将提供更加丰富的功能和应用。