MySQL是一个有服务器守护程序mysqld和许多不同客户程序及库组成的多用户,多线程的SQL数据库服务器;采用客户机/服务器结构实现,而且源代码开源,值得推荐个大家学习。
2. MySQL数据库配置(1)MySQL的安装配置
直接帮大伙搜了一下大神的超链接,详情点击即可;https://blog.csdn.net/weixin_46196863/article/details/121488091;
(2)新建数据库和表数据
首先,直接点击当前程序进入
输入数据库密码,点击确定,进入mysql *** 作界面。
开始创建数据库MyTestDB:CREATE DATABASE MyTestDB;
验证是否成功创建数据库:SHOW DATABASES;
使用MyTestDB数据库进行表的创建: USE MyTestDB;
创建表: CREATE TABLE MyTable (ID INT, NAME VARCHAR(50));
验证表是否创建成功:show tables;
在创建的表格中插入数据:insert into myTable values(1,'myName');
验证数据书否插入成功:select * from Mytable;
到这,数据库准备这块基本搞定,下面要做的就是要整套代码连接查询了。
(1)我使用vs2015作为开发工具,使用c++作为开发语言进行数据库的连接查询代码编写;
个人习惯,喜欢新建空项目;这个大家可以根据个人爱好选择程序类型;
(2)话不多说,为了便于描述,直接新建一个Main.cpp
即可,头文件省略;
(3)配置当前项目:(根据自己mySQL的安装目录,将路径添加到对应目录即可)
右键项目–》属性–》C++目录–》包含目录:(新建目录,添加bin文件夹路径)
右键项目–》属性–》C++目录–》库目录:(新建目录,添加lib文件夹目录)
(4)将mysql.dll
拷贝到当前项目程序的同级路径
(5)到此,项目的配置基本完成,直接上代码,完成数据库连接查询。
#include
#include
#pragma comment (lib, "libmysql.lib")
void main()
{
MYSQL mysqlConnect; //数据源指针
mysql_init(&mysqlConnect); //分配对象
if (!(mysql_real_connect(&mysqlConnect, "localhost", "root", "123456", "mytestdb", 3306, NULL, 0)))
{
printf("mysql数据库打开失败%s\n", mysql_error(&mysqlConnect));
}
printf("数据库打开成功\n");
}
(6)轻松连接数据库之后,当然就是进行简单的查询了,话不多说,直接上代码;
#include
#include
#pragma comment (lib, "libmysql.lib")
void main()
{
/********************************* MySQL数据库连接 *************************************/
MYSQL mysqlConnect; //数据源指针
mysql_init(&mysqlConnect); //分配对象
if (!(mysql_real_connect(&mysqlConnect, "localhost", "root", "123456", "mytestdb", 3306, NULL, 0)))
{
printf("mysql数据库打开失败:%s\n", mysql_error(&mysqlConnect));
}
printf("mysql数据库打开成功\n");
/*********************************** 执行SQL语句 ****************************************/
char toSelectFrom[250] = "SELECT * FROM mytable"; //where后保留空格好直接连接关键词
if (0 != mysql_query(&mysqlConnect, toSelectFrom))
{
printf("SQL语句执行失败: %s\n", mysql_error(&mysqlConnect));
mysql_close(&mysqlConnect); //关闭连接
}
MYSQL_RES *res; //SQL语句执行结果集
MYSQL_FIELD *field; //包含字段信息的结构指针
MYSQL_ROW nextRow; //存放查询sql语句字符串数组
res = mysql_store_result(&mysqlConnect); //将查询结果保存
if (!res)
{
printf("SQL语句执行无有结果: %s\n", mysql_error(&mysqlConnect));
mysql_close(&mysqlConnect); //关闭连接
return;
}
if (mysql_field_count(&mysqlConnect) <= 0) //字段数
{
printf("查询结果为空\n");
mysql_close(&mysqlConnect); //关闭连接
return;
}
/******************************* 打印SQL语句查询结果 *********************************/
while (field = mysql_fetch_field(res))
{
printf("%20s |", field->name);
}
printf("\n");
int column = mysql_num_fields(res); //获取查询结果的列数
while (nextRow = mysql_fetch_row(res)) {
for (int j = 0; j < column; j++) {
printf("%20s |", nextRow[j]);
}
printf("\n");
}
}
4. 总结
mysql数据库的连接本身不难,难点在于mysql的安装配置以及项目程序的安装配置步骤比较繁琐,造成某些步骤缺失,产生很多问题而连不上数据库。但一套 *** 作下来还是可以学到很多东西的,继续努力。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)