#include <stdio.h>
#include <string.h>
#include <mysql.h>
int main()
{
//1、连接服务器
MYSQL mysql;
mysql_init(&mysql);
if (!mysql_real_connect(&mysql,"128.0.47.135","dengjun123","abc123","school",0,NULL,0))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error(&mysql));
}
mysql_query(&mysql, "set names utf8"); //设置编码
//2、CRUD操作(增删改)
char sql[300] = "insert into student (sno, name) values (1008, '马云')";
if(mysql_query(&mysql, sql))
{
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error(&mysql));
}
else
{
printf("添加学生信息成功!\n");
}
//查
strcpy(sql, "select s.sno, s.name, sex, phone, c.name, grade from student s, course c, score sc where s.sno=sc.sno and c.cno=sc.cno and c.name='C语言程序设计' and grade>60 order by grade desc, sex desc limit 3");
if(mysql_query(&mysql, sql))//查询
{
fprintf(stderr, "Failed to select: Error: %s\n",
mysql_error(&mysql));
}
else
{
MYSQL_RES* res = NULL;//从堆区申请空间保存一行查询内容
res = mysql_store_result(&mysql);
if(res != NULL)
{
MYSQL_ROW row;
unsigned int num_fields;//一行由多个字段组成
unsigned int i;
num_fields = mysql_num_fields(res);
while ((row = mysql_fetch_row(res)))//依次输出每行
{
for(i = 0; i < num_fields; i++)
{
printf("%s ", row[i]);//依次输出每行的每个字段(列)
}
printf("\n");
}
mysql_free_result(res);//释放堆区空间
}
else
{
//失败
printf("show failed\n");
}
}
//3、关闭
mysql_close(&mysql);
return 0;
}
C语言调用数据库
最新推荐文章于 2024-05-13 07:56:29 发布