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

摘要:
此时php脚本进程就是mysql客户端数据存储的概念:数据存在字段下,然后多个字段存储在一条数据,多个一条数据组合成一个表。

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连接数量没什么区别】
【对网络连接有一个认识】

免责声明:文章转载自《mysql基本认识【关系型数据库和nosql、mysql操作流程和体系,库操作,表操作,数据的操作,字符集的操作,以及php作为client操作数据库】对连接本身没有疑问》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android Context为空datax实战下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Nginx虚拟主机配置教程

说明:配置之前先把域名解析到服务器IP地址上 站点1:bbs.osyunwei.com 程序所在目录/data/osyunwei/bbs 站点2:sns.osyunwei.com 程序所在目录/data/osyunwei/sns chown www.www /data/osyunwei/ -R #设置目录所有者,www为nginx运行账户 chmod 70...

01、MySQL_简介

数据库概念   数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。   数据库:存储数据的仓库 数据库分类 网络数据库   网络数据库是指把数据库技术引入到计算机网络系统中,借助于网络技术将存储于数据库中的大量信息及时发布出去;而计算机网络借助于成熟的数据库技术对网络中的各种数据进行有效管理,并实现用户与网络中的...

MySQL 5.7 Reference Manual】15.4.2 Change Buffer(变更缓冲)

15.4.2 Change Buffer(变更缓冲)   The change buffer is a special data structure that caches changes to secondary index pages when affected pages are not in the buffer pool. The buffere...

.NET 百万级 大数据插入、更新 ,支持多种数据库

功能介绍 (需要版本5.0.45) 大数据操作ORM性能瓶颈在实体转换上面,并且不能使用常规的Sql去实现 当列越多转换越慢,SqlSugar将转换性能做到极致,并且采用数据库最佳API 操作数据库达到极限性能 功能用法 BulkCopy性能远强于现有市场的 ORM框架,比 EFCore Efcore.Bulkextension快30% BulkUpdat...

Visio 2007中进行数据库建模时如何显示字段类型以及概念名称

关于在VISIO中进行数据库建模时如何显示字段类型,以及注释的 1 如何显示字段类型:   在visio菜单上--->点击数据库--->选项--->文档    打开后选择表这项,在上面找到"数据类型",选择显示物理的,这样在visio的数据库模型上就会出现字段类型啦 2 如何显示注释/概念名称   在visio菜单上--->点击数据...

MySQL 慢查询日志工具之pt-query-digest

1. 工具简介 pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各...