MySQL数据库相关知识梳理

一文整理完MySQL关系型数据库相关知识 在开发中,数据库是专门用来存取数据的软件。数据库的职责就是管理数据的。根据存取数据的类型分为关系型数据库和非关系型数据库数据存储后呈现出来的效果类似上图的,是关系型数据库数据存储后呈现出来的效果类似上图的,是非关系型数据库。 阅读详情
MySQL基本知识梳理

int  STDCALL mysql_query(MYSQL *mysql, const char *q):连接上数据库后,将连接上数据库额句柄和执行的SQL语句传入到函数中即可执行该语句。
MYSQL_RES *res;
res = mysql_store_result(MYSQL *mysql);   //取回结果集地址

mysql_store_result的返回值是执行sql语句后的结果,返回值为MYSQL_RES类型的指针,该类型是一个结构体;

typedef struct st_mysql_res {

  my_ulonglong row_count;                               // 结果集的行数

  unsigned int field_count, current_field;            // 结果集的列数,当前列

  MYSQL_FIELD *fields;                                    // 结果集的列信息

  MYSQL_DATA *data;                                      // 结果集的数据

  MYSQL_ROWS *data_cursor;                        // 结果集的光标

  MEM_ROOT field_alloc;                                   // 内存结构

  MYSQL_ROW row;                                         // 非缓冲的时候用到

  MYSQL_ROW current_row;                           //mysql_store_result时会用到。当前行

  unsigned long *lengths;                                //每列的长度

  MYSQL *handle;                                           // mysql_use_result会用。

  my_bool eof;                                                 //是否为行尾

} MYSQL_RES;


MYSQL_ROW STDCALL mysql_fetch_row(MYSQL_RES *result); 表示的是记录集里的一条数据;

unsigned int STDCALL mysql_num_fields(MYSQL_RES *res); 表示的是返回数据有多少列,即多少个字段;


my_ulonglong STDCALL mysql_num_rows(MYSQL_RES *res);     表示的是返回数据有多少行,即行数;

连接数据库的并且取得数据库中表数据的程序:

#include <string.h>
#include <stdio.h>
#include <iostream>
#include "mysql/mysql.h"

int main(void)
{
    MYSQL mysql;
    MYSQL_RES *res;
    MYSQL_ROW row;
    mysql_init(&mysql);    //初始化MYSQL对象
    if(!mysql_real_connect(&mysql, "localhost", "db_user", "db_user", "database", 0,NULL, 0)) {
        std::cout << "Failed to connect to Mysql!" << std::endl;
        return 0;
    } else {
        std::cout << "Connected to Mysql success!\n";
    }
    char *order = "select * from leon";
    /*查询,成功则返回0*/
    int flag = mysql_real_query(&mysql, order, (unsigned int)strlen(order));
    if(flag) {
        std::cout << "Query failed!" << std::endl;
        return 0;
    } else {
        std::cout << "Query success!" << std::endl;
    }


    //mysql_store_result将全部的查询结果读取到
    res = mysql_store_result(&mysql);
    //mysql_fetch_row检索结果集的下一行
    while(row = mysql_fetch_row(res)) {
        //mysql_num_fields返回结果集中的字段数目
        for(int i = 0; i < mysql_num_fields(res); i++)
        {
            std::cout << row[i] << '\t';
        }
        puts("");
    }
    mysql_close(&mysql);
    return 0;
}

mysql数据库应用案例教程课后答案,美团java面试流程 给大家送一个小福利附高清脑图,高清知识点讲解教程,以及一些面试真题及答案解析。送给需要的提升技术、准备面试跳槽、自身职业规划迷茫的朋友们。附录B Spring Boot起步依赖附录C 配置屈性附录DSpring Boot依赖[外链图片转存中…(img-VHsHdZmA-1709483790789)][外链图片转存中…(img-IU9S1t6m-1709483790789)]给大家送一个小福利[外链图片转存中…(img-n5g40SK1-1709483790789)] 阅读详情

相关推荐

第八章 数据库编程 ——(数据库系统原理不挂科系列,数据库期末看完必过——思维导图Thanks♪(・ω・)ノ)

(数据库系统原理不挂科系列,数据库期末看完必过——思维导图Thanks♪(・ω・)ノ)

m0_73464576的博客 502

c++操作mysql - 查询

讲完了连接,一下就讲查询了。mysql的执行和查询都是使用一下2个接口: 1. mysql_query(MYSQL* mysql, const char* sql);2. int mysql_real_query(MYSQL *mysql, const char *query, unsigned long length);一下就分别描述这两个函数:1. mysql_query()int mysql_query(MYSQL *mysql, const char *query)描述执行由“Null终结的字符

David的专栏 2万+

基于SolidWorks宏的草图点坐标自动化提取与Excel集成

本文详细介绍了如何利用SolidWorks宏编程实现草图点坐标的自动化提取并与Excel集成,显著提升机械设计效率。通过VBA代码解析与优化,解决了人工记录坐标耗时易错的问题,并扩展了多草图批量处理、数据可视化等高级功能,适用于数控加工、质量检测等场景。

weixin_29251131的博客 462

C++调用mysql的API实现从数据库中读取数据

通过C++实现对数据库的操作主要是通过mysql_query(MYSQL *mysql, const char *q)函数实现,函数的第一个参数是MySQL的对象,第二个参数是让数据库执行的指令。 1、创建表单 在之前的博客里已经成功连接上数据库,接下来要在连接的数据库中创建一个表单 MySQL中创建表单的语句是 ...

challenglistic的博客 2122

【生成数据集EXCEL文件】使用生成对抗网络GAN生成数据集:输出生成数据集EXCEL

生成器的任务是接收随机噪声向量作为输入,并尽可能生成与真实数据相似的样本,而判别器则是一个二分类器,旨在区分输入的样本是来自生成器生成的,还是来自真实数据。在训练过程中,生成器和判别器通过对抗学习的方式相互博弈,生成器的目标是生成足以欺骗判别器的样本,而判别器的目标则是尽可能准确地判断样本的真实性。GAN网络在多个领域展现了强大的能力,能够生成与训练数据分布相似的新数据,包括但不限于图像生成、图像风格转换、超分辨率、数据增强、视频生成、自然语言处理、医学图像处理以及游戏与虚拟现实等。

hustef的博客 1521

C#实现图片裁剪 (附完整源码)

C#实现图片裁剪 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 508

mysql C语言连接

文章目录库安装接口介绍mysql_init()mysql_real_connect()mysql_query()获取select结果的接口mysql_store_result()mysql_num_rows()mysql_num_fields()mysql_fetch_fields()mysql_fetch_row()mysql_close 库安装 C语言连接首先要安装connector,去mysql官网找找即可。 不想找的话,这是链接 这里下载C API 这里为了用纯C,就下载难用的那个库了。 根据O

m0_51641706的博客 3836

mojoPortal 路径穿越漏洞复现(CVE-2025-28367)(附脚本)

 在 mojoPortal CMS 版本 <=2.9.0.1 中发现了一个导致 ViewState 反序列化的目录遍历漏洞。通过利用此问题,未经身份验证的攻击者可以泄露 Web 根目录中的敏感文件,包括应用程序的文件。此配置文件包含用于验证和解密 ViewState 数据的文件。知道此密钥后,网络攻击者可以构建恶意 ViewState 有效负载,从而导致在底层服务器上执行远程代码。(CVE-2025-28367)

iSee857的博客 500

c 程序调用mysql_使用C语言调用mysql数据库编程实战以及技巧

今天编写使用C语言调用mysql数据库编程实战以及技巧。为其它IT同行作为參考,当然有错误能够留言,共同学习。一、mysql数据库的C语言经常使用接口API1.首先当然是链接数据库mysql_real_connect,原型例如以下:MYSQL * STDCALL mysql_real_connect(MYSQL *mysql, const char *host,const char *user,...

weixin_36403956的博客 901

前言:为什么要学习爬虫和逆向,该如何学习?

学习爬虫和逆向技术是当今数字化时代的重要技能,尤其在数据分析、安全研究、自动化工具开发等领域有广泛应用。以下是详细的学习理由、路径和方法:

数据知道的博客 1万+

【python爬虫--爬取电商商品及对其销量、好差评等数据进行分析】Python爬虫爬取电商商品及大数据分析-实战

选择目标电商网站:这里选择爬取两个不同电商网站(比如京东、淘宝)上的商品数据,包括商品名称、价格、销量和评价信息。编写爬虫:通过爬虫获取商品信息并保存数据。数据清洗与对齐:将两个电商网站抓取到的数据进行统一清洗和对齐。数据分析:进行销量分析、好评与差评分析等。

Dreams°的博客 4013

Mysql高级知识体系整理

mysql高级知识脉络

weixin_41645232的博客 304

22、云数据中心网络(DCN)部署最佳实践

本文详细介绍了云数据中心网络(DCN)部署的最佳实践,涵盖SDN设计、服务网络规划、管理网络规划等方面。通过合理的架构设计、路由规划和组件协同,提升数据中心的自动化水平、可靠性及安全性,以满足不断增长的业务需求。

d6e7f8的博客 187

MySQL数据库知识梳理

测试 119

RT-DETR训练前的准备,将数据集划分成训练集、测试集验证集(附完整脚本及使用说明)

在计算机视觉领域,当我们着手训练一个模型时,。其中,将数据集划分为和更是一项基础性且关键的操作。这篇博客分析了这一划分背后的原因、其重要意义以及如何通过代码实现,帮助大家更好地理解和运用这一技巧,。

Limiiiing的博客 907

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

完整版MySQL基础知识梳理

MySQL是一个开源的关系型数据库管理系统,使用SQL语言来存储和管理数据。数据以表格形式存储,每个表由列和行组成,支持主键和外键来确保数据的唯一性和关联性。MySQL支持事务、索引等特性,广泛应用于Web和企业级应用中,提供高效的数据查询和多种存储引擎。(1)数据定义(DDL):用于定义数据库结构(如创建、修改、删除表)。[数据库的操作](2)数据定义(DDL):用于定义表结构(如创建、修改、删除表)。[表操作](3)数据类型:包括三个部分,数据类型、字符型类型和日期类型数据类型分类类型大小。

weixin_57198767的博客 1289

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

《深入浅出Mysql》阅读梳理 合集

一 二 三 四 五 点击查看其他资料合集

qq_30033509的博客 5493

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

10分钟梳理MySQL核心知识点

今天我们用10分钟,重点梳理一遍以下几方面: 数据库知识点汇总; 数据库事务特性和隔离级别; 详解关系型数据库、索引与锁机制; 数据库调优与最佳实践; 面试考察点及加分项。 一、数据库的不同类型 1.常用的关系型数据库 Oracle:功能强大,主要缺点就是贵 MySQL:互联网行业中最流行的数据库,这不仅仅是因为MySQL的免费。...

weixin_30500663的博客 82

MySQL数据库的知识点逻辑导向图

丢了风筝的线的博客 268

MySQL知识点思维脑图

MySQL知识点思维脑图 脑图

打破沉默的博客 261

数据库常见面试题--MySQL

梳理面试过程中数据库相关的常见问题,需要说明的是,这篇文章主要是基于MySQL数据库,其他类型的数据库还请自行参考使用。

云原生Java Web领域技术博客 1081

MYSQL思维导图

MYSQL思维导图

whyrookie的博客 361

SQL进阶-学习路线梳理(二)

本文介绍了MySQL 8.0+中的CTE(公用表表达式)功能,包括基础语法、递归CTE和高级应用。内容涵盖:1)基本CTE语法与多CTE示例;2)递归CTE实现组织架构层级和累计值计算;3)CTE在数据透视、数据清洗等高级场景的应用,如学生成绩排名和联系人信息验证。文章强调CTE能简化复杂查询,提高SQL可读性,适合MySQL 8.0+用户提升查询能力。

xfzldxfz的博客 883

MySQL八股

内联接:匹配2张表中相关联的记录左外联接:除了2张表相关联的记录外,还会匹配左表中剩余的记录,右表中未匹配的字段用NULL表示右外联接::除了匹配2张表中相关联的记录外,还会匹配右表中剩余的记录,左表中未匹配到的字段用NULL表示。在判定左表和右表时,要根据表名出现在Outer Join的左右位置关系。多版本并发控制(MVCC=Multi-Version Concurrency Control),是一种用来解决读写冲突的无锁并发控制。也就是为事务分配单向增长的时间戳,为每个修改保存一个版本。

weixin_52682273的博客 203
下一篇: 常见排序算法C/C++实现总结
drlmemory
博客等级 码龄14年 15粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值