栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

MySQL数据库连接查询(C++篇)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL数据库连接查询(C++篇)

1. 简介

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;

到这,数据库准备这块基本搞定,下面要做的就是要整套代码连接查询了。

3. C++代码实战

(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数据库打开失败%sn", mysql_error(&mysqlConnect));
    }
    printf("数据库打开成功n");
}

(6)轻松连接数据库之后,当然就是进行简单的查询了,话不多说,直接上代码;

#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数据库打开失败:%sn", mysql_error(&mysqlConnect));
    }
    printf("mysql数据库打开成功n");

       
    char toSelectFrom[250] = "SELECt * FROM mytable";            //where后保留空格好直接连接关键词
    if (0 != mysql_query(&mysqlConnect, toSelectFrom))
    {
        printf("SQL语句执行失败: %sn", 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语句执行无有结果: %sn", mysql_error(&mysqlConnect));     
        mysql_close(&mysqlConnect);                         //关闭连接
        return;
    }

    if (mysql_field_count(&mysqlConnect) <= 0)              //字段数
    {
        printf("查询结果为空n");
        mysql_close(&mysqlConnect);                         //关闭连接
        return;
    }


    
    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的安装配置以及项目程序的安装配置步骤比较繁琐,造成某些步骤缺失,产生很多问题而连不上数据库。但一套操作下来还是可以学到很多东西的,继续努力。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/923876.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号