C语言MySQL入门,快速构建你的经典之路(c mysql入门经典)

C语言MySQL入门,快速构建你的经典之路

C语言作为一门广泛应用的编程语言,其功能强大、易于学习、使用范围广泛。而随着数据库的普及,尤其是MySQL数据库的流行,结合C语言与MySQL可以使程序更加高效、灵活和稳定。本文将介绍一些基本的C语言操作MySQL数据库的方法,帮助初学者快速掌握这一技能,进而构建属于自己的经典之路。

一、准备工作

在操作MySQL之前,需要先安装MySQL,并创建一个数据库和表,以便接下来的代码演示。这里用如下的代码创建一个学生信息表:

CREATE TABLE student (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
sex VARCHAR(4) NOT NULL,
age INT NOT NULL,
address VARCHAR(100) NOT NULL
);

二、连接MySQL数据库

连接MySQL数据库是操作数据库的第一步,只有连接成功后才能进行后续的操作。在C语言中,连接MySQL需要用到mysql_init()、mysql_real_connect()、mysql_close()等函数。

代码示例如下:

#include 
#include
int mn() {
MYSQL mysql;
mysql_init(&mysql);
if(mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0)) {
printf("Connection to database succeeded\n");
mysql_close(&mysql);
} else {
printf("Connection fled\n");
}
return 0;
}

该代码实现了连接本地数据库test,端口号为3306,成功连接后会输出“Connection to database succeeded”信息。如果连接失败,则输出“Connection fled”信息。

三、插入数据

成功连接数据库后,可以通过插入数据来向表中添加记录。在C语言中,可以通过mysql_query()函数来实现插入操作。

代码示例如下:

#include 
#include
int mn() {
MYSQL mysql;
mysql_init(&mysql);
if(mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0)) {
printf("Connection to database succeeded\n");
if(mysql_query(&mysql, "INSERT INTO student VALUES(NULL, 'Tom', 'Male', 20, 'Beijing')") == 0) {
printf("Data inserted\n");
} else {
printf("Fled to insert data\n");
}
mysql_close(&mysql);
} else {
printf("Connection fled\n");
}
return 0;
}

该代码实现了往student表中插入一条数据:姓名为Tom,性别为Male,年龄为20,地址为Beijing。如果插入成功,则输出“Data inserted”信息;否则输出“Fled to insert data”信息。

四、查询数据

C语言通过mysql_query()函数还可以实现查询操作,具体地,对于SELECT语句,可以通过mysql_use_result()函数和mysql_fetch_row()函数实现查询。

代码示例如下:

#include 
#include
int mn() {
MYSQL mysql;
mysql_init(&mysql);
if(mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0)) {
printf("Connection to database succeeded\n");
if(mysql_query(&mysql, "SELECT * FROM student") == 0) {
MYSQL_RES* result = mysql_use_result(&mysql);
if(result) {
printf("Result:\n");
MYSQL_ROW row;
while(row = mysql_fetch_row(result)) {
printf("%s %s %s %s %s\n", row[0], row[1], row[2], row[3], row[4]);
}
mysql_free_result(result);
}
} else {
printf("Fled to execute query\n");
}
mysql_close(&mysql);
} else {
printf("Connection fled\n");
}
return 0;
}

该代码实现了查询student表中的所有记录,并输出查询结果。其中,mysql_use_result()函数获取查询结果,mysql_fetch_row()函数获取查询结果的每一行,并依次输出每一列的值。

五、更新数据

C语言通过mysql_query()函数也可以实现更新操作,具体地,对于UPDATE语句,可以通过mysql_affected_rows()函数获取更新的行数。

代码示例如下:

#include 
#include
int mn() {
MYSQL mysql;
mysql_init(&mysql);
if(mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0)) {
printf("Connection to database succeeded\n");
if(mysql_query(&mysql, "UPDATE student SET address='Shangh' WHERE name='Tom'") == 0) {
printf("Data updated\n");
printf("%d rows affected\n", mysql_affected_rows(&mysql));
} else {
printf("Fled to execute update\n");
}
mysql_close(&mysql);
} else {
printf("Connection fled\n");
}
return 0;
}

该代码实现了将姓名为Tom的记录地址改为Shangh,并输出更新行数。

六、删除数据

C语言通过mysql_query()函数也可以实现删除操作,具体地,对于DELETE语句,可以通过mysql_affected_rows()函数获取删除的行数。

代码示例如下:

#include 
#include
int mn() {
MYSQL mysql;
mysql_init(&mysql);
if(mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0)) {
printf("Connection to database succeeded\n");
if(mysql_query(&mysql, "DELETE FROM student WHERE name='Tom'") == 0) {
printf("Data deleted\n");
printf("%d rows affected\n", mysql_affected_rows(&mysql));
} else {
printf("Fled to execute delete\n");
}
mysql_close(&mysql);
} else {
printf("Connection fled\n");
}
return 0;
}

该代码实现了删除姓名为Tom的记录,并输出删除行数。

七、总结

本文介绍了C语言操作MySQL数据库的基本方法,包括连接数据库、插入数据、查询数据、更新数据和删除数据等。学习这些方法可以使程序更加健壮、高效、灵活,也是开发人员必备技能之一。希望本文能够帮助大家快速掌握C语言操作MySQL的基础知识,进而构建属于自己的经典之路。


数据运维技术 » C语言MySQL入门,快速构建你的经典之路(c mysql入门经典)