利用C语言连接MySQL实现数据库应用案例(c mysql的案例)
利用C语言连接MySQL实现数据库应用案例
MySQL是一款关系型数据库管理系统,常被用于Web应用程序的数据存储。本文将介绍如何利用C语言编写程序连接MySQL,并实现一个简单的数据库应用程序。
1. 安装MySQL和MySQL C API库
需要安装MySQL数据库服务器和MySQL C API库。在Ubuntu系统中,可通过以下命令进行安装:
sudo apt-get install mysql-server libmysqlclient-dev
安装完成后,需要创建一个MySQL数据库,并创建一个表用于存储数据。可以使用phpMyAdmin或MySQL命令行实现。这里我们以命令行为例,假设数据库名为mydb,表名为students,包括id(整型)、name(字符串型)、age(整型)三个字段:
mysql -u root -p
然后输入密码,进入MySQL命令行。创建数据库mydb:
CREATE DATABASE mydb;
切换到mydb数据库:
USE mydb;
创建students表:
CREATE TABLE students (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL,
age INT NOT NULL);
2. 编写连接MySQL的C程序
下面是利用C语言连接MySQL的实例代码。该代码连接上述创建好的mydb数据库,并插入一些学生信息:
“`c
#include
#include
#include
#define HOSTNAME “localhost”
#define USERNAME “root”
#define PASSWORD “password”
#define DATABASE “mydb”
int mn(int argc, char *argv[]) {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
char *sql;
char insert[100];
int i;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, HOSTNAME, USERNAME, PASSWORD, DATABASE, 0, NULL, 0)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
sql = “SELECT * FROM students”;
if (mysql_query(conn, sql)) {
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);
for (i = 1; i
sprintf(insert, “INSERT INTO students (name, age) VALUES (‘student%d’, %d)”, i, i*10);
if (mysql_query(conn, insert)) {
fprintf(stderr, “%s\n”, mysql_error(conn));
exit(1);
}
}
mysql_close(conn);
return 0;
}
3. 运行程序并查看结果
编译上述程序:
gcc -o db db.c -lmysqlclient
运行程序:
./db
程序首先连接MySQL服务器,并查询students表中所有学生的信息,并将结果输出。随后,程序会向students表中插入10个学生的信息。查看students表已经成功插入了10条数据。
通过以上步骤,可以轻松地利用C语言连接MySQL,并在程序中操纵MySQL数据库。这里只是一个简单的应用示例,更复杂的数据库应用程序需要更多的知识和代码量。