数据库学习(一)

模块一 数据库学习

前言 俗话说得好:“巧妇难为无米之炊”,那么对我们程序员来说,归根节点是对0和1, 是对各种被赋予了不同意义的数据进行处理,可见数据对于程序的重要性,数据库作用是来存储和管理数据的,学习好数据库无疑为我们以后的开发工作打下良好基础

学习路线

  • 数据库相关概念
  • MySQL数据库
  • SQL

数据库的相关概念

在这里插入图片描述

数据库(DataBase)简称DB

  • 存储数据的仓库,数据是有组织的进行存储

数据库管理系统:(DataBase Management System) 简称DBMS

  • 管理数据库的大型软件
  • 特别注意MySQL就是数据库管理系统的一种!!!(只是我们平时说顺口了MySQL数据库)

SQL:结构化查询语言(Structured Query Language)简称SQL

  • 操作关系型数据库的编程语言
  • 定义操作所有RDBMS的统一标准(由ANSI制定)

常见的关系型数据库管理系统(RDBMS)

谈几个很常见的 这部分作为了解

  • Oracle:收费的大型数据库 (银行 金融机构等选择 安全性更高)
  • MySQL:开源免费的中小型数据库(互联网公司首选)
  • SQL Server:MicroSoft公司收费的中型数据库(使用c# .net微软全家桶)

MySQL数据库

MySQL是关系型数据库(RDBMS) 我们先简单了解一下关系型数据库

关系型数据库

是建立在关系模型基础上的数据库 由多张能相互连接的二维表组成

  • 优点:
    1. 统一使用表结构 利于维护
    2. 使用SQL语言操作 使用方便 可复杂查询
    3. 数据存储在磁盘中(持久化存储设备) 安全

二维表举例:

在这里插入图片描述

MySQL数据模型

在这里插入图片描述


SQL

SQL简介

  • 结构化查询语言 针对关系型数据库
  • 定义了操作所有RDBMS的标准
  • 对于同一个需求 每一种数据库操作的方式可能存在不同的地方 即不同的DBMS存在不同的“方言”

SQL的通用语法

  1. SQL语句可以单行或多行书写,以分号结尾
  2. MySQL数据库的SQL语句是不区分大小写的 推荐关键字使用大写
  3. 注释 MySQL特有单行注释:-- (注释内容)和 #(注释内容)

SQL分类

在这里插入图片描述

  • DDL:操作数据库、表
  • DML:对表中的数据进行增删改
  • DQL:对表中的数据进行查询
  • DCL:对数据库进行权限控制

DDL–操作数据库

在这里插入图片描述

DDL–操作表

查询

在这里插入图片描述

注意:这里是表的结构而不是表的具体数据

创建

在这里插入图片描述

数据类型
  • MySQL支持多种类型,可以分为三类
  • 数值
  • 日期
  • 字符串

在这里插入图片描述

注意char和varchar的选择:前者是以空间换时间 后者是以时间换空间

删除表

在这里插入图片描述

DML–对表中的数据增删改

添加数据

在这里插入图片描述

举例

在这里插入图片描述

修改数据

在这里插入图片描述

举例

在这里插入图片描述

删除数据

在这里插入图片描述

举例

在这里插入图片描述

DQL–对表中的数据进行查询操作

  • 查询操作时我们在实际工作开发中非常常用的一个操作 占比在90%以上 所以这一部分要多花时间

在这里插入图片描述

基础查询

在这里插入图片描述

条件查询

在这里插入图片描述

模糊查询
  • 即使用like+占位符实现

    举例

在这里插入图片描述

排序查询

在这里插入图片描述

举例

在这里插入图片描述

分组查询
  • 有时候我们希望得到学生表中男同学和女同学的成绩平均值 那么就需要先分为男生女生组 然后利用聚合函数这种统计意义的手段来进行操作 我们先来学习一下什么是聚合函数

在这里插入图片描述

这里提一个细节:有时候我们想看看我们表中到底有多少条记录,显然我们会使用count()这个聚合函数,可由于null值是不参与所有聚合函数运算的,如果在上表中列名选择了english,返回值为7显然是错误的,这里我们推荐使用select count(*)这样只要这一行数据有一个不为null都能被统计到,而如果全为null那也不应该被纳入统计的范畴。

  • 学习完聚合函数后我们来看看分组查询的语法

在这里插入图片描述

举例

在这里插入图片描述

分页查询

在这里插入图片描述

举例

在这里插入图片描述

DQL小结

在这里插入图片描述

顺序思路:先是where筛选要选择的记录 后group by分组 分组后利用having对分组进行选择 再按照order by先排列好记录的展示顺序后,最后我们通过limit选择合适的页面大小进行展示。

数据库学习(一)完 加油!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值