深入浅出后端开发(MySQL篇)

前言

这里筑梦师,是一名正在努力学习的iOS开发工程师,目前致力于全栈方向的学习,希望可以和大家一起交流技术,共同进步,用简书记录下自己的学习历程.

LAMP环境搭建 [MySQL学习笔记(基础篇)]稍后更新 [MySQL学习笔记(基础篇)]稍后更新 [PHP&MySQL学习笔记(实际应用篇)] 稍后更新

本文阅读建议
1.一定要辩证的看待本文.
2.本文并不会涉及到MySQL详细知识点,只陈述在学习MySQL过程中遇到的关键点.
3.MySQL依照其开发应用分为'基础篇,高级篇,实际应用',根据本人学习进度更新.
4.本文只阐述学习路线和学习当中的重点问题.需要读者自己使用百度进行拓展学习.
5.本文所表达观点并不是最终观点,还会更新,因为本人还在学习过程中,有什么遗漏或错误还望各位指出.
6.觉得哪里不妥请在评论留下建议~
7.觉得还行的话就点个小心心鼓励下我吧~

目录
1.MySQL介绍及其概念
2.理解SQL结构化查询语言
3.理解MySQL数据存储
4.MySQL基础学习路线
5.MySQL&PHP结合应用
6.数据库思想

推荐书籍 & 网站推荐

入门向 Head First PHP&MySQL PHP和MySQL Web开发 PHP+MySQL 开发实战(可以当工具书) 进阶向 高性能MySQL(第3版) MySQL排错指南 深入理解MySQL核心技术 MySQL技术内幕(第4版) MySQL技术内幕 InnoDB存储引擎 第2版 MySQL运维内参:MySQL、Galera、Inception核心原理与最佳实践 数据库索引设计与优化 快速浏览 MySQL5.7从入门到精通

网站:MySQL官方网站 网站:MySQL手册


MySQL介绍及其概念

MySQL介绍

  • 高性能
  • 低成本
  • 易于配置和学习
  • 可移植性
  • 源代码可用
  • 支持可用
  • 4.0以后特性
    • 视图
    • 存储过程
    • 触发器和游标
    • 子查询支持
    • 存储地理数据的GIS类型
    • 国际化支持改进
    • 事务安全存储引擎InnoDB
    • MySQL查询缓存,他极大的提升了Web应用常有的查询速度.
  • 5.7以后新特性
    • 大范围的安全提升
    • InnoDB的FULLTEXT支持
    • InnoDB的非SQL API支持
    • 分区支持
    • 复制改进,包括基于行的复制和GTID
    • 线程池
    • 可插拔验证
    • 多核扩展性
    • 更好的诊断工具
    • InnoDB作为默认引擎
    • IPv6支持
    • 插件API
    • 事件调度
    • 自动升级

MySQL概念

数据库

MySQL是数据库的一种,其特点是关系型数据库,开源.可满足中小型项目的开发.

如果用过Excel表格的话,就可以带入数据库.

数据库存放数据,就是将无序的数据按一定的规律和顺序摆放存入,不同的数据库特点、性能不同.

关系型

关系型数据库的特点就是可以对某一列,或某一部分数据进行关系约束,数据存在的依赖约束,通过主键,外键进行表约束和数据约束.


理解SQL结构化查询语言

SQL语言说难也难,说简单也简单,SQL结构化查询语言拥有自己独有的语法,但当你掌握了这门SQL语言,便可以在各大数据库上进行增删改查操作.

SQL简单来说就是根据其特定的单词和语法进行组合,进行数据的操作,其操作大致分为四类:增、删、改、查;

当然还拥有一些其他操作,需要读者进行学习.

在学习MySQL时,推荐大家最好买一本工具书,在自己熟练运用MySQL之前,可以多次翻阅查询工具书,进行练习.


理解MySQL数据存储

根据实践MySQL的SQL语句进行数据库的增删改查操作,体会数据库是如何存储数据的.


MySQL基础学习路线

数据库基本操作学习路线

  • 数据类型
    • 数字类型
    • 字符串类型
    • 日期类型
    • 数据类型抉择
  • 内置函数
    • 数学函数
    • 字符串函数
    • 日期和时间函数
    • 条件判断函数
    • 系统信息函数
    • 加密函数
    • 其他函数
  • 数据库操作
    • 创建数据库 CREATE DATABASE name
    • 查看数据库 SHOW
    • 使用数据库 USE DATABASE name
    • 删除数据库 DROP DATABASE name
  • 数据表操作
    • 添加数据表 CREATE
    • 查看表结构 SHOW COLUMNS/DESCRIBE
    • 查看表详细结构语句 SHOW CREATE TABLE
    • 修改表结构 ALTER TABLE
    • 重命名 RENAME TABLE
    • 删除表 DROP TABLE
  • 数据操作
    • 插入数据 INSERT
    • 查询数据 SELECT
    • 修改数据 UPDATE
    • 删除数据 DELETE
    • 聚合函数
  • 连接查询
    • 查询语句基本格式
    • 内连接查询
    • 左外连接
    • 右外连接
    • 复合条件
    • 子查询
    • 合并查询 UNION
    • 别名查询
    • 正则表达式查询
  • 数据库思想 & 概念
  • 程序业务流程

MySQL高级

  • MySQL函数
  • 数据库权限系统
  • 表优化、索引优化
  • 分库分表
  • 备份、恢复
  • 存储引擎
  • 事务
  • 外键
  • 存储过程
  • 触发器
  • 安全策略
  • 数据库服务器安全

MySQL&PHP结合应用

目前正在进行这方面的实践,稍后会进行此处的更新.


数据库思想

关联 & 外键

  • a 表有的数据 b 表也必须要有
  • b 依赖 a
  • 所以 b 表的数据不给删除 必须要 a 的删除了 b 才能删除
  • 反正 外键就是维护两张或者多张表的数据一致性 关连 是两张或多张表的逻辑关系 关连不需要外键
  • 关连只是描述逻辑
  • 它说是外键 你想成关连字段就行了 不是说关连就一定不能是外键 关连字段也可以是外键 但是尽量不要是
  • 文章 -> 帐户
  • 评论 -> 帐户

这个时候有外键约束的话 帐户就不给删除

  • 因为要保持数据的一致性 你帐户删除了 那文章 评论就找不到帐户了
  • 要删除帐户就得把 这个帐户的 文章 以及 评论全部删除了 才能那个删除帐户
  • 而关连 则是 查询文章的时候 看是谁发的 那 拿文章关连帐户 去查询
  • 关连 不须要外键 这是两种东西

结束语

如果您对这篇文章有什么意见或者建议,请评论与我讨论. 如果您觉得还不错的话~可以点个喜欢鼓励我哦. 如果您想和我一起学习,请毫不吝啬的私信我吧~ 介个是我的个人博客,欢迎参观哦~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏lonelydawn的前端猿区

MySQL应用优化

一、基本语句优化原则 (1).尽量避免在索引列上进行运算或函数操作,这样会导致索引失效 如: select * from t where Year(d)>=20...

1945
来自专栏决胜机器学习

数据库专题(二) ——数据库设计

数据库专题(二)——数据库设计 (原创内容,转载请注明来源,谢谢) 一、数据库设计规范——范式 数据库设计,需要遵循设计原则,最主要的设计原则是范式。范式是...

3577
来自专栏大白虾谈架构

数据库主外建适用场景

995
来自专栏杨建荣的学习笔记

MySQL中的反连接(r12笔记第45天)

关于Oracle的半连接,反连接,我一直认为这是一个能讲很长时间的话题,所以在我的新书《Oracle DBA工作笔记》中讲性能优化的时候,我花了不少的笔墨做...

2695
来自专栏Java后端技术栈

MySQL数据库开发常见问题及几点优化!

MySQL数据库是被广泛应用的关系型数据库,其体积小、支持多处理器、开源并免费的特性使其在Internet中小型网站中的使用率尤其高。在使用 MySQL的过程中...

771
来自专栏一枝花算不算浪漫

[数据库设计]数据库设计三大范式

47712
来自专栏数据和云

郑保卫 - 索引优化策略及实战

本文中将要介绍的索引战略方案是以尽可能少的索引来满足尽可能多的数据读取类型的索引构建方法。这个策略方案要求在构建索引时,尽可能多地搜集当前正在使用的未来将要出...

3185
来自专栏WindCoder

网易MySQL微专业学习笔记(十一)-MySQL业务优化与设计

这个系列属于个人学习网易云课堂MySQL数据库工程师微专业的相关课程过程中的笔记,本篇为其“MySQL业务优化与设计”中的MySQL数据类型相关笔记。

1031
来自专栏数据和云

【快讯】在线体验Oracle Database 12.2 SQL新特性

Oracle Database 12.2 已经让广大粉丝望眼欲穿,虽然文档已然发布,但是实验无从做起。 现在,可以通过 Oracle Live SQL 站点(文...

3385
来自专栏令仔很忙

手把手教你-----巧用Excel批量生成SQL语句,处理大量数据

在做系统或者做项目的时候,经常会遇到这样的要求:用户给我们发过来一些数据,要求我们把这些数据导入到数

2903

扫码关注云+社区

领取腾讯云代金券