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

作者: 筑梦师Winston | 来源:发表于2018-04-26 13:15 被阅读165次

    前言

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

    全栈开发自学笔记 已开源
    LAMP环境搭建
    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 才能删除
    • 反正 外键就是维护两张或者多张表的数据一致性
      关连 是两张或多张表的逻辑关系
      关连不需要外键
    • 关连只是描述逻辑
    • 它说是外键 你想成关连字段就行了 不是说关连就一定不能是外键 关连字段也可以是外键 但是尽量不要是
    • 文章 -> 帐户
    • 评论 -> 帐户

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

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

    结束语

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

    相关文章

      网友评论

        本文标题:深入浅出后端开发(MySQL篇)

        本文链接:https://www.haomeiwen.com/subject/xobplftx.html