#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<mysql/mysql.h>
void print_table();
void insert();
void delete();
void modify();
MYSQL mysql;
MYSQL_RES *mysql_res;
MYSQL_FIELD *my_field;
MYSQL_ROW mysql_row;
int main()
{
//连接数据库
mysql_init(&mysql);
if(NULL != mysql_real_connect(&mysql,“192.168.40.129”,“root”,“NO”,“school”,3306,NULL,0))
{
printf(“Succeed to connect database_\n”);
system(“clear”);
}
else
{
fprintf(stderr,“Failed to connect database: %s\n”,mysql_error(&mysql));
}
print_table();
//insert();
//print_table();
//delete();
modify();
print_table();
mysql_close(&mysql);
return 0;
}
//打印表格
void print_table()
{
int i , rows;
mysql_query(&mysql, “set names utf8”); //c程序文件设置编码 utf8
if(mysql_query(&mysql, "select * from result where 学号 = '201701';")!= 0 )//获取表的内容,查询成功返回0
{
fprintf(stderr,"Failed to select %s",mysql_error(&mysql));
}
else
{
//存储结果
mysql_res = mysql_store_result(&mysql);
//获取表的列数 //mysql_num_fields(res) 列数
rows = mysql_num_fields(mysql_res);
//printf("<<%d>>\n",rows);
//获取并输出表头
my_field = mysql_fetch_fields(mysql_res);
for(i=0; i<rows; i++)
{
printf("%s\t", my_field[i].name);
}
printf("\n--------------------------------------------------------------------------------\n");
//输出整个表的内容
while( mysql_row = mysql_fetch_row(mysql_res) )
{
//mysql_fetch_row(res) 行
for(i=0; i<rows; i++)
{
if( mysql_row[i] == NULL )
{
printf("NULL\t");
//exit (1);
}
else
{
printf("%s\t",mysql_row[i]);
}
}
printf("\n");
}
}
//释放空间
mysql_free_result(mysql_res);
}
//插入数据
void insert()
{
if(mysql_query(&mysql,“insert into result(学号,姓名,成绩1,成绩2,成绩3) value(‘201709’,‘李四’,45,68,99)”))
{
fprintf(stderr,“failed to insert new data :%s\n”,mysql_error(&mysql));
}
else
{
printf(“Succeed to insert new data _\n”);
}
}
//删除数据
void delete()
{
if( mysql_query(&mysql ,“delete from result where 姓名=‘李四’” ) )//删除成功返回值0
{
fprintf(stderr,“failed to delete information: %s\n”,mysql_error(&mysql));
}
else
{
printf(“Succeed to detete \n”);
}
}
//修改数据
void modify()
{
if(mysql_query(&mysql,“update result set 成绩1=‘111111’ where 姓名=‘马一鸣’”))
{
fprintf(stderr,“Failed to update : %s\n”,mysql_error(&mysql));
}
else
{
printf(“Succeed to update _\n”);
}
}