模块一 数据库学习
前言 俗话说得好:“巧妇难为无米之炊”,那么对我们程序员来说,归根节点是对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) 我们先简单了解一下关系型数据库
关系型数据库
是建立在关系模型基础上的数据库 由多张能相互连接的二维表组成
- 优点:
- 统一使用表结构 利于维护
- 使用SQL语言操作 使用方便 可复杂查询
- 数据存储在磁盘中(持久化存储设备) 安全
二维表举例:
MySQL数据模型
SQL
SQL简介
- 结构化查询语言 针对关系型数据库
- 定义了操作所有RDBMS的标准
- 对于同一个需求 每一种数据库操作的方式可能存在不同的地方 即不同的DBMS存在不同的“方言”
SQL的通用语法
- SQL语句可以单行或多行书写,以分号结尾
- MySQL数据库的SQL语句是不区分大小写的 推荐关键字使用大写
- 注释 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选择合适的页面大小进行展示。
数据库学习(一)完 加油!