写在开头:
好久没有更新博客了,开头记录一下自己的生活,有一个可爱的女朋友,LeetCode刷了快400道题啦,希望明年能找到一份满意的实习,赚点小钱养好自己和女朋友,相信自己,做好自己!如果本篇博客能解答您心中的疑惑,将是我的荣幸之至!
本篇博客次要点和重点:
次要点:mysql的下载主要介绍下载以及需不需要安装的问题,具体安装可以看我参考的博客,写的非常好!以及mysql一些基本操作(值得不是语法上的),重点:着重介绍VS下C++连接mysql遇到问题
Mysql的下载:
下载的网址:https://dev.mysql.com/downloads/mysql/
下载上面的版本,不带debug的那个版本,下载完成后解压即可,如果解压完是这样的情况的:直接将bin的文件加到环境变量中即可,不需要安装。
如果有.msi文件那么这个是需要安装的,具体的安装步骤一搜就能搜到很多篇介绍的文章。
添加好环境变量,再创建data文件和mysql.ini文件。如果有那里没有懂,可以看我参考的博客,在我参考的博客中第六步和第七步用要管理员的权限,在搜索下可以快速使用cmd的管理员身份
然后在按下鼠标右键用管理员身份运行,第一个就是啦
mysql安装参考博客的网址是:https://blog.csdn.net/weixin_42869365/article/details/83472466
Mysql一些基本操作:
学数据库的时候一直用的sql serve(还不是因为我菜,mysql一直没安装成功),尽管mysql也是在dos环境使用的(在没有图形界面的时候),一开始以为查看版本或者什么语法会像java或者python
一样,实则不然,需要使用进行以下操作:
输入cmd进入dos下,输入mysql -u root -p再输入密码即可进入,版本信息都可以看到了。
比如要知道有哪些数据库,就用show databases命令操作,想知道这个数据库有多少个表用show tables操作,当你输入完一条语句一定要以;分号结尾不然就会出现以下情况一直让你输入下一条语句,输入一个;就结束了这条语句
VS下C++连接mysql
代码无非就是几个api的问题,在这个模块下主要介绍的是如何引入头文件等一系列的操作
我的电脑是只能在release下 x64下进下操作
在附件包含目录添加mysql的头文件,你下载好mysql底下的文件夹有一个include,把那个导入进来就行。
然后再把所需要的lib也加进来,lib文件也是在mysql下载的目录下就有
在链接器下的输入把libmysql.lib加进去
测试好,代码如下:
#include<winsock.h>
#include<stdio.h>
#include<mysql.h>
using namespace std;
int main() {
MYSQL conn;
MYSQL_RES* res_set;
MYSQL_ROW row;
mysql_init(&conn);
if (!mysql_real_connect(&conn, "localhost", "root", "123456", "stu", 3306, NULL, 0)) {
//root是登录名字,123456是登录的密码,
//stu是使用哪个数据库,这三个根据自己的改一下
fprintf(stderr, "Failed to connect to database: Error: %s\n",
mysql_error(&conn));
}
else {
fprintf(stderr, "Successfully connected to Database.\n");
int status = mysql_query(&conn, "SELECT * FROM student");
res_set = mysql_store_result(&conn);
int count = mysql_num_rows(res_set);
printf("No of rows = %d\n", count);
while ((row = mysql_fetch_row(res_set)) != NULL) {
for (int i = 0; i < mysql_num_fields(res_set); i++) {
printf("%s \t", row[i] != NULL ? row[i] : "NULL");
}
printf("\n");
}
}
mysql_close(&conn);
char a = getchar();
return 0;
}
运行一下,发现没找到dll
接着我们要做的就是进入当前vs文件夹下的x64底下的release加入这两个文件,这两个都是在mysql的lib目录下的
再次运行:可以运行成功了
以上就是对VS下C++连接mysql的总结,个人感觉只要能连接成功,其他语法API随便看看就大概可以了。剩下的查询语句我还没有看,等过一阵子应该会继续更新的!