• mysql基本认识【关系型数据库和nosql、mysql操作流程和体系,库操作,表操作,数据的操作,字符集的操作,以及php作为client操作数据库】对连接本身没有疑问


    1.关系型数据库
    永久性保存数据的仓库
    php的变量只是php脚本执行期间,临时性保存变量的空间【使用内存空间临时保存】

    关系型数据库:利用二者的关系来描述实体的信息。【利用二维表字段名和字段值来进行描述】
    【关系型数据库根本不是可以使用外键将两个表构建成关联的意思,而是实现描述实体的二维表的形式】

    nosql:not only sql【sql表示操作关系型数据的语言】
    所以nosql指的就是非关系型数据库【典型的是键值对型的数据(redis、memcache)】
    【nosql可以视情况添加信息,不需要对信息的所有内容都需要对应(减少了录入的信息)】
    【非关系型数据库就是用于速度快读取以及结构灵活的数据】
    缓存数据基本是nosql型

    关系型数据库的行列之间的问题【不需要太过纠结】
    SQL:结构化查询语言【也就是关系型数据库语言】


    2.操作mysql的流程
    数据库系统【mysql本身就是数据库系统。系统就是用来操作数据的一整套工具】
    数据系统=数据库【数据的主题部分】+数据管理系统【内资的操作数据的工具系统】
    mysql本身也需要对数据进行存储【这一点需要在日常中进行注意】

    数据库操作基本都是c/s架构【需要客户端,sql server里的扩展也是这样的】
    c/s架构【不同的服务器提供的是不同的终端访问方式】
    b/s架构【b/s架构都是通过HTTP协议进行访问,不同的服务器都是一致的需要浏览器访问方式】

    【mysql的操作流程】
    mysql服务通过mysqld进程进行提供
    mysql客户端【首先需要连接和认证这个服务,然后发出操作指令,然后mysql服务接受指令,然后执行指令,返回执行结果】
    以上这样交互便是一个正常的连接【最后断开连接】

    mysql服务进程是mysqld【本身有指令集,配置的相关,以及相关连接的处理情况】
    mysql客户端是mysql命令行端


    3.mysql服务器体系
    php使用扩展来操作mysql,此时php的进程通过连接来操作mysqld,来实现数据的操作。此时php脚本进程就是mysql客户端

    数据存储的概念:
    数据存在字段下,然后多个字段存储在一条数据,多个一条数据组合成一个表。最后多个表形成一个库,然后一个数据库服务器由多个库构成

    这就是数据的构成机构【对数据库有一个更加细节的认识】


    4.库操作
    增删改查【操作和命令】

    【数据存放】
    datadir这个配置配置的就是数据库数据存放的库的位置【用作存储数据的内容】
    因为mysql每一个库存放的位置是在系统之下,所以它对大小写是否敏感取决于系统【windows和linux】
    特殊关键字不能作为数据库的名【但是可以使用反引号,将特殊关键字包裹,来声明该关键字是名字】【不过自己创建库时,不适用特殊字做库名即可】
    反引号【在mysql中的使用】【反引号在1旁边的那个键】


    5.表操作
    use 库名【选择数据库】
    使用库名来指定一个范围,然后使用库名来实现文件的确定【数据存储的形式】

    在表中创建字段【因为mysql有固定的数据类型,在创建时就需要指定数据类型(强类型)】
    增删改查操作的问题【这些没什么】


    6.数据的操作
    对数据的操作
    基本是针对一行的数据做处理
    增删改查

    sql中‘=’就是‘==’【sql里没有赋值语句】

    7.字符集操作
    字符集【gbk和utf8】
    描述可见的图形和传输时的编码被称为字符集。【就是已经提前设定好图形来显示假定的字符】

    数据存储的编码【编码本身在os里已经假定好】
    只有在数据库系统中使用便可以实现不同的字符集选择。
    charset即可

    数据的编码也是要映射到字段上。
    【如何确定编码】
    (1)先看字段的编码,如果存在则确定
    (2)如果字段没有设置编码,则查看表的编码。如果有,则确定数据编码
    (3)如果表没有编码,则查找库的编码
    (4)如果库也没有设置编码,那么使用系统进行确定【或者是mysql配置文件设置默认编码】
    【所以现实编程中,使用库进行设置编码,简单且明确。这也存在编码选择的优先级】

    【注意:客户端操作,查询的编码(这是项目中经常需要注意的。这是编码一致性的重点)】
    (1)客户端发送的数据的编码【set names 编码来声明客户端传递的数据的编码是什么样的】
    (2)客户端接收到服务器的数据编码
    (也就是说,我们需要在php脚本中对传递的编码进行指定,并且保证其与mysql服务的编码一致【这是编码一致性的重点】)
    【而php脚本获得mysql结果之后的显示也需要和脚本本身的编码进行一致性处理,来保证编码显示的一致性!!!】

    8.php操作数据库
    【这块不需要太过想象,正常考虑即可】
    php通过php的扩展来建立与mysql服务的连接。【进行连接认证】
    将php发送sql语句当做URL寻址一样理解就能正常理解连接的问题了。

    【至于客户端与mysql服务如何连接就跟网络ssh连接没什么区别,只需要声明ip,端口和用户信息即可进行验证。】【而连接的数量也跟nginx连接数量没什么区别】
    【对网络连接有一个认识】

  • 相关阅读:
    谈谈关于MVP模式中V-P交互问题
    Delphi MVC模 2
    Delphi MVC模式 1
    Java长整除问题
    Java中Scanner类的简单用法
    Java中throw和throws的区别
    Java必须掌握的运算符
    Java编程多重循环
    Java实现三种简单的排序
    使用Java向properties存数据
  • 原文地址:https://www.cnblogs.com/shuoshuren/p/4200170.html
Copyright © 2020-2023  润新知