当前位置: 首页 > article >正文

Mysql_使用简介

无奋斗不青春

课 程 推 荐
我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)教程合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库教程合集 👈👈
MySQL数据库教程:👉👉 MySQL数据库教程合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
优 质 教 程 推 荐:👉👉 Python爬虫从入门到入狱系列 合集 👈👈
.

分隔线
在这里插入图片描述

Mysql_使用简介

      • Mysql使用简介
        • 简介
        • 数据类型
        • 通配符
        • 聚合函数
        • 常用的两种引擎
        • 视图
        • 触发器
        • 存储过程

Mysql使用简介

简介
  • SQL
    • Structured Query Language结构化查询语言
  • MYSQL:
    • 开源免费的数据库,小型的数据库
    • 已经被Oracle收购了。MySQL6.x版本也开始收费
  • 数据定义语言
    • 简称:DDL(Data Definition Language)
    • 用来定义数据库对象:数据库,表,列等
    • 关键字:createalterdrop
  • 数据操作语言
    • 简称:DML(Data Manipulation Language)
    • 用来对数据库中表的记录进行更新
    • 关键字:insertdeleteupdate
  • 数据控制语言
    • 简称:DCL(Data Control Language)
    • 用来定义数据库的访问权限和安全级别,及创建用户
  • 数据查询语言
    • 简称:DQL(Data Query Language)
    • 用来查询数据库中表的记录
    • 关键字:selectfromwhere
数据类型
  • 数值类型

    • 在这里插入图片描述
  • 日期和时间类型

    • 在这里插入图片描述
  • 字符串类型

通配符
  • 用来匹配一部分的特殊字符
    _ : 匹配任意一个字符
    % : 任意0~n个字符
    
聚合函数
  • 聚合函数
    COUNT():统计指定列不为NULL的记录行数
    MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算
    MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
    SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0
    AVG():计算指定列的平均值,如果指定列的类型不是数值类型,那么计算结果为0
    
  • 注意:
    • 凡是和聚合函数同时出现的列名,一定要写在group by之后
    • 分组时候是无法体现单个数据的
    • group by一般会和聚合函数配合使用,单独使用的时候意义不大
  • havingwhere的区别
    • having是在分组后对数据进行过滤,where是在分组前对数据进行过滤
    • having后面可以使用聚合函数(统计函数),where后面不可以使用聚合函数
  • LIMIT用来限定查询结果的起始行,以及总行数
常用的两种引擎
  • InnoDB
    • 支持ACID,简单地说就是支持事务完整性、一致性
    • 支持行锁,以及类似ORACLE的一致性读,多用户并发
    • 独有的聚集索引主键设计方式,可大幅提升并发读写性能
    • 支持外键
    • 支持崩溃数据自动修复
    • InnoDB设计目标是处理大容量数据库系统,它的CPU利用率是其它基于磁盘的关系数据库引擎所不能比的
    • 它是一个可靠的事务处理引擎,不支持全文本搜索
  • MyISAM
    • 不支持 每次查询具有原子性
    • 只支持表锁
    • 强调的是性能,其执行速度比InnoDB类型更快,但是不提供事务支持
    • 如果执行大量的SELECTMyISAM是更好的选择
视图
  • 视图是一个虚拟表(非真实存在)
  • 其本质是根据SQL语句获取动态的数据集,并为其命名
  • 用户使用时只需使用名称即可获取结果集,并可以将其当作表来使用
触发器
  • 触发器用于定制用户对表的行进行【增/删/改】前后的行为
  • 对某个表进行【增/删/改】操作的前后如果希望触发某个特定的行为时可以使用触发器
存储过程
  • 存储过程是一个SQL语句集合,当主动去调用存储过程时,其中内部的SQL语句会按照逻辑执行。
  • 存储过程和函数存在以下几个区别
    • 1、一般来说,存储过程实现的功能要复杂一点,而函数实现的功能针对性比较强
      • 存储过程,功能强大,可以执行包括修改表等一系列数据库操作
      • 用户定义函数不能用于执行一组修改全局数据库状态的操作
    • 2、对于存储过程来说可以返回参数,如记录集,而函数只能返回值或者表对象
      • 函数只能返回一个变量;而存储过程可以返回多个
      • 存储过程的参数可以有IN,OUT,INOUT三种类型,而函数只能有IN类
      • 存储过程声明时不需要返回类型,而函数声明时需要描述返回类型
      • 函数体中必须包含一个有效的RETURN语句
    • 3、存储过程,可以使用非确定函数,不允许在用户定义函数主体中内置非确定函数
    • 4、存储过程一般是作为一个独立的部分来执行
      • 存储过程使用CALL 语句执行
      • 函数可以作为查询语句的一个部分来调用(SELECT 函数 from 表名
      • SQL语句中不可用存储过程,而可以使用函数。

http://www.kler.cn/a/314191.html

相关文章:

  • Suricata
  • 检测敏感词功能
  • LeetCode面试经典150题C++实现,更新中
  • 【教程】Ubuntu设置alacritty为默认终端
  • MySQL高级(二):一条更新语句是如何执行的
  • AUTOSAR_EXP_ARAComAPI的7章笔记(3)
  • 【计网】从零开始使用TCP进行socket编程 ---服务端业务模拟Xshell
  • 搜维尔科技:OptiTrack将捕捉到的人类动作数据映射到人形机器人的各个关节上进行遥操作
  • 【C#】VS插件
  • 【C#生态园】探秘.NET依赖注入:六种流行容器横向对比
  • SpringBoot如何在使用MongoRepository时启用@Created
  • [Python数据拟合与可视化]:使用线性、多项式、指数和高斯模型拟合数据
  • 【Stm32】从零建立一个工程
  • Science Robotic 内在触觉实现直观的物理人机交互
  • Docker 进阶篇-CIG 重量级监控系统
  • 4 + 1 视图模型
  • vue MVC设计模式与MVVM设计模式
  • ByteTrack多目标跟踪流程图
  • 一次RPC调用过程是怎么样的?
  • 12- 【JavaWeb】校园快递管理系统-数据库建设
  • JS中判断字符串中是否包含指定字符
  • 百易云资产管理运营系统 ticket.edit.php SQL注入漏洞复现
  • c++应用网络编程之九Linux下的select模式
  • python安装-升级
  • Python数据分析与可视化实战指南
  • 网安面试会问到的:http的长连接和短连接