VS 2017 连接MySQL数据库向数据库中插入、删除、查询数据
2020-04-07 12:34
1261 查看
文章目录
一、在操作之间首先安装软件
1、Windows下安装MySQL数据库
2、安装Visual Studio 2017
二、VS 2017环境配置
-
点击项目->项目属性,操作如图:
2、选择C/C++,在常规的附加包含目录添加mysql安装地址中include文件的地址,如我的地址是C:\Program Files\MySQL\MySQL Server 5.7\include
,如图:
-
选择链接器,在常规中附加目录中添加mysql安装地址lib文件的地址,如我的地址是
C:\Program Files\MySQL\MySQL Server 5.7\lib
,如图:
-
点击链接器中的输入,在附加依赖项中添加libmysql.lib,如图:
-
将mysql安装目录
C:\Program Files\MySQL\MySQL Server 5.7\lib
下的libmysql.dll复制到自己所建立的项目的同名文件夹下中,如图:
-
将运行的平台给为x64为,如图:
三、数据库操作代码
说明:这里我使用的是远程的数据库来进行连接
#include <mysql.h> #include <stdio.h> int main() { int res; MYSQL conn; //初始化MySQL连接句柄 mysql_init(&conn); if (&conn != NULL) { printf("mysql句柄初始化成功\n"); } else { printf("Err in init\n"); return -1; } //连接mysql数据库 if (mysql_real_connect (&conn, //MySQL句柄 "192.168.37.134", //参数地址,本地数据库使用localhost "root", //数据库名 "123456", //数据库密码 "db_test", //数据库名 0, //数据库端口,0表示默认(即3306) NULL, //如果unix_socket不是NULL,字符串指定套接字或应该被使用的命名管道。注意host参数决定连接的类型 0)) //通常是0 { printf("数据库连接成功\n"); } else { printf("数据库连接失败\n"); mysql_close(&conn); //关闭连接 return -1; } //数据的插入 res = mysql_query(&conn, "insert into testTB3 values(5,'aa')"); //MySQL句柄 SQL语句 if (res == 0) { printf("插入成功\n"); } else { printf("插入失败\n"); mysql_close(&conn); return -1; } //数据的删除 res = mysql_query(&conn, "delete from testTB3 where name='aa'"); if (res == 0) { printf("删除成功\n"); } else { printf("删除失败\n"); mysql_close(&conn); return -1; } //数据的查询 res = mysql_query(&conn, "select * from testTB3"); if (res == 0) { printf("查询成功\n"); } else { printf("查询失败\n"); mysql_close(&conn); return -1; } //解析查询结果 MYSQL_RES *res_ptr;//指向结果集索引的指针 res_ptr = mysql_store_result(&conn);//检索完整的结果集当当前程序 if (res_ptr != NULL) { //打印出结果集中一共有多少行记录 unsigned long Row = mysql_num_rows(res_ptr);//结果集中的行数 printf("有%lu行记录\n", Row); } else { printf("结果集操作保留出错\n"); mysql_close(&conn); return -1; } //取出字段名 MYSQL_FIELD *fd; int i = 0; while (fd = mysql_fetch_field(res_ptr)) { printf("%s\t", fd->name); i++; } putchar('\n'); //取出所有内容 MYSQL_ROW sqlrow; int j; while (sqlrow = mysql_fetch_row(res_ptr)) { //将每一行的内容分割成每一个记录 for (j = 0; j < i; j++) { printf("%s\t", sqlrow[j]); } putchar('\n'); } //释放结果集索引所在内存 mysql_free_result(res_ptr); mysql_close(&conn); return 0; }
运行结果,如图所示:
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- 【Mysql】Mysql常用语句
- MySQL8.0密码忘记丢失,重置方法
- MySQL数据库面试题(2020最新版)
- MySQL常用命令
- 用sqarkSQL往MySQL写入数据
- 输出操作,结果保存到本地和输出到MySQL
- freecplus框架-MySQL数据库操作
- MySQL学习笔记(2)——索引
- mysql备份与还原
- MySQL 日志系统之 redo log 和 binlog
- 如何提高你的Mysql优化能力
- 提高mysql千万级数据SQL查询优化30条
- MySQL开启权限
- MySQL要点复习笔记
- MySQL性能测试--分区和分表测试
- MySQL数据库常用命令
- Mysql动态sql模糊查询日期
- 一文彻底读懂MySQL事务的四大隔离级别
- 【宇哥带你玩转MySQL】索引篇(一)索引揭秘,看他是如何让你的查询性能指数提升的
- MySQL 8.0来了,逆之者亡...