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的基础知识,进而构建属于自己的经典之路。