操作数据库的案例
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
//固定不变的
MYSQL mysql; //一个数据库结构体
MYSQL_RES* res; //一个结果集结构体
MYSQL_ROW row; //char** 二维数据,存放一条条记录
void connect();//连接数据库
void insert(); //插入数据
void delet(); //删除数据
void update(); //更新数据
void select(); //查询数据
int main()
{
connect();
select();
return 0;
}
void connect()
{
//初始化数据库
mysql_init(&mysql);
//设置编码方式
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "gbk");
//连接数据库 //ip地址 //用户名 //密码 //数据库名
if (mysql_real_connect(&mysql, "localhost", "root", "123456", "test", 3306, NULL, 0))
{
printf("数据库连接成功!\n");
}
else
{
printf("数据库连接失败!\n");
printf("错误原因:%s\n", mysql_error(&mysql));
exit(-1);
}
}
void insert()
{
//向数据库插入数据
const char* sql = "insert into student values(2,'李四','女'),(3,'王五','男'),(4, '赵六', '女')";
if (mysql_query(&mysql, sql))
{
printf("插入数据失败:%s \n", mysql_error(&mysql));
}
else
{
printf("插入数据成功\n");
}
}
void delet()
{
//向数据库删除数据
const char* sql_2 = "delete from student where name = '赵六'";
if (mysql_query(&mysql, sql_2))
{
printf("删除数据失败:%s \n", mysql_error(&mysql));
}
else
{
printf("删除数据成功\n");
}
}
void update()
{
//向数据库修改数据
const char* sql_3 = "update student set id = 5 where name = '李四'";
if (mysql_query(&mysql, sql_3))
{
printf("修改数据失败:%s \n", mysql_error(&mysql));
}
else
{
printf("修改数据成功\n");
}
}
void select()
{
//需要注意的是,在下面的设置中,所查询到的数据 与打印出来的数据要相互匹配,
//不然就会出现乱码的
//查询数据
const char* sql_4 = "select * from student where name = '李四'";
if (mysql_query(&mysql, sql_4))
{
printf("未查到记录:%s \n", mysql_error(&mysql));
}
else
{
printf("查询成功 \n");
}
//获取查询结果集
res = mysql_store_result(&mysql);
if (res)
{
printf("获取到数据\n");
}
else
{
printf("未获取到数据:%s \n", mysql_error(&mysql));
}
//打印获取到的数据
printf("id\tname\tsex\n");
while (row = mysql_fetch_row(res))
{
printf("%s\t%s\t%s\n", row[0], row[1], row[2]);
}
//释放资源
mysql_free_result(res);//释放结果集
mysql_close(&mysql);//关闭数据库
}
运行结果:
使用sprintf()拼接sql语句
char sql[1024];
int id = 8;
char name[25] = "张六";
char sex[25] = "男";
//使用sprintf拼出来的语句是一个标准的c语言字符串,可以使用该函数插入变量值
sprintf_s(sql, "insert into student values(%d, '%s', '%s');", id, name, sex);
if (mysql_query(&mysql, sql))//该语句提交成功返回0,失败放回1
{
printf("插入数据失败\n");
}
else
{
printf("插入数据成功\n");
}
select();
标签:mysql,数据库,printf,C++,sql,数据,void From: https://www.cnblogs.com/zhuchunlin/p/17757679.html