C语言编程中对MySQL数据库的数据调用详解
MySQL数据库简介
如今很多大型网站已经选择MySQL数据库来存储数据。那么MySQL到底有什么优势呢?
MySQL数据库的使用以及非常广泛,尤其是在Web应用方面。MySQL数据库有很多的优势,下面总结了其中几个优势:
1.MySQL是开放源代码的数据库
2.MySQL的跨平台性
3.价格优势
4.功能强大且使用方便

登陆数据库

使用命令 mysql -u root -p 登陆数据库
然后输入密码就可以进入到数据库里.
使用命令:show databases;查看数据里里面所有的数据库。

使用命令 use stu 切换到所指定的stu 数据库。
命令:show tables; 查看数据库里面所有的表。

命令:desc stu 可以查看表名stu里面的字段信息
命令:select * from stu 查看表的记录。
我的数据库里面已经设置好了一张学生的成绩表,接下来我们用C语言编程调用数据库,把里面的数据提取出来。
涉及到的函数

所有用到的函数都已经一一列出来了,接下来我们开始设计C语言程序把MySQL连接起来
实现代码
#include <stdio.h>
#include <mysql/mysql.h>
#include <string.h>
typedef struct Stu
{
int id;
char name[20];
float Chinese;
char English[2];
float Math;
}Stu;
int main()
{
Stu s;
//定义数据库句柄
MYSQL mysql;
//初始化句柄
if(NULL == mysql_init(&mysql))
{
printf("初始化失败!\n");
return -1;
}
//连接数据库
if(NULL == mysql_real_connect(&mysql,"localhost","root","123456","stu",0,NULL,0))
{
printf("%s\n",mysql_error(&mysql));
return -1;
}
mysql_set_character_set(&mysql,"utf8");//修改字符集格式
printf("数据库连接成功!\n");
//接下面的代码才能运行
代码注释还是比较详细,你们可以自己注意看一下,以上代码段是连接数据库的,如果连接成功会打印出最后那句:数据库连接成功!
调用数据库数据代码
//发送sql语句
char sql[1024];
strcpy(sql,"select * from stu");
if(0 != mysql_query(&mysql,sql))
{
printf("%s\n",mysql_error(&mysql));
return -1;
}
MYSQL_RES *result = NULL;
int num_rows = 0,num_fields = 0;
result = mysql_store_result(&mysql);
num_rows = mysql_num_rows(result);
num_fields = mysql_num_fields(result);
printf("行数:%d,列数:%d\n",num_rows,num_fields);
MYSQL_ROW row = NULL;
while(1)
{
row = mysql_fetch_row(result);
if(NULL == row)
break;
for(int i=0;i<num_fields;i++)
{
printf("%s ",row[i]);
}
printf("\n");
}
//释放结果集
mysql_free_result(result);
//关闭数据库
mysql_close(&mysql);
return 0;
}
后面这段代码实现了对数据库里面数据的调用,选择的数据是刚刚在上面展示数据库里面的一张学生成绩表。
结果

我们运行完代码后发现可以把MySQL里面的数据成功地取出来打印,那就说明程序以及成功,这只是简单地读取操作,但是其他的增删改查也类似,读者可以举一反三自己试一下吧对数据库的增删改查功能也实现了。
相关推荐
-
PHP8种变量类型的详细讲解2025-02-22 00:32:24
-
php+apache 和 php+nginx的区别2025-02-22 00:21:27
-
PHP:与workerman结合实现定时任务2025-02-22 00:15:57
-
Nginx的Rewrite规则与实例2025-02-22 00:15:39
-
MySql中身份证字段的简单脱敏介绍2025-02-22 00:15:36