当前位置: 首页 > wzjs >正文

建设一个视频网站需要什么时候开始企业搭建网站的必要性

建设一个视频网站需要什么时候开始,企业搭建网站的必要性,个人如何做微商城网站设计,程序开发的基本步骤四个目录 什么是数据库 站在服务器角度理解 站在用户角度理解 为什么不直接使用文件存储呢? 主流数据库 MySQL的基本使用 数据库的使用样例 服务器管理 服务器数据库表之间的关系 MySQL的架构 MySQL语句分类 存储引擎 查看存储引擎 存储引擎对比 什么…

目录

什么是数据库 

站在服务器角度理解

站在用户角度理解

为什么不直接使用文件存储呢?

主流数据库

MySQL的基本使用

数据库的使用样例 

服务器管理 

服务器数据库表之间的关系 

MySQL的架构

MySQL语句分类 

存储引擎

查看存储引擎

存储引擎对比


什么是数据库 

站在服务器角度理解

mysql它是数据库服务的客户端

mysqld它是数据库服务的服务器端

mysql本质:基于CS模式的一种网络服务 

他是基于TCP协议,端口号是3306

站在用户角度理解

mysql是一套给我提供数据存储的网络程序

数据库一般指的是,在磁盘或者内存中存储的特定结构组织的数据--将来在磁盘上存储的一套数据库方案

数据库服务一般只的是mysqld

为什么不直接使用文件存储呢?

文件保存数据有以下几个缺点:

  • 文件的安全性问题
  • 文件不利于数据查询和管理
  • 文件不利于存储海量数据
  • 文件在程序中控制不方便

一般的文件确实提供了数据的存储功能,但是文件并没有提供非常好的数据内容管理能力(用户角度)

也就是说数据的提取分析过程,是需要程序员去自己解决的,文件提供的就只是基本的读写能力,未来对内容的增删改查都需要程序员去自己查看,这是非常麻烦的事情 

    数据库的本质:对数据内存存储的一套解决方案,你给我字段或者要求(mysql客户端下发的),我(mysqld)直接给您结果!

    它允许我们以结构化的方式存储、查询和管理数据。对外提供的是一套存储解决方案

    下面我举个例子

    假设你需要存储和管理一个电子商务网站的产品信息:

    你的要求:我需要查看所有价格在100-200元之间的电子产品。

    数据库响应

    产品ID | 产品名称      | 分类    | 价格  | 库存
    -------------------------------------------------
    101   | 蓝牙耳机      | 电子    | 159   | 45
    103   | 智能手环      | 电子    | 199   | 23
    107   | 便携充电宝    | 电子    | 129   | 78

    这里数据库接收到你的查询条件(价格区间和产品类别),然后从可能包含数千种产品的完整数据集中仅返回符合条件的结果。

    数据库的本质优势在于:

    1. 高效查询:无需遍历所有数据,通过索引快速定位符合条件的数据
    2. 数据一致性:确保数据符合预定义的规则和关系
    3. 并发处理:允许多个用户同时访问和修改数据
    4. 事务处理:保证复杂操作的完整性和一致性
    5. 数据安全:提供权限控制和数据加密

    数据库存储介质

    • 磁盘
    • 内存  

    MySQL的整体结构

    程序员并不需要去手动修改数据库的文件,而是将请求通过mysql交给mysqld,具体要怎么存储,格式是什么,任何细节我们都不需要去关心,由他帮助我们去数据库文件做! 

    主流数据库

    SQL Sever: 微软的产品,.Net程序员的最爱,中大型项目。

    Oracle: 甲骨文产品,适合大型项目,复杂的业务逻辑(银行),并发一般来说不如MySQL。

    MySQL世界上最受欢迎的数据库,属于甲骨文,并发性好,不适合做复杂的业务。主要用在电商,SNS,论坛。对简单的SQL处理效果好。(生态比较好,主流数据库)

    PostgreSQL :加州大学伯克利分校计算机系开发的关系型数据库,不管是私用,商用,还是学术研究使用,可以免费使用,修改和分发。

    SQLite: 是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设 计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可 能只需要几百K的内存就够了。

    H2: 是一个用Java开发的嵌入式数据库,它本身只是一个类库,可以直接嵌入到应用项目中。

    MySQL的基本使用

    数据库的使用样例 

    这个数据库实际上就是一个目录,被保存在Linux下的 /var/lib/mysql (可在配置文件里修改) 

    创建数据库 

    create database hello;

    继续查看Linux下的MySQL文件, 我们会发现多了helloworld/的目录

    使用数据库  

    use helloworld;

    创建数据库表  

     create table student(-> id int,-> name varchar(32),-> gender varchar(2)-> );

    数据库文件里多了两个文件  student.ibd  student.frm 

    这里其实是有个 student.rfm 文件,但是因为我都mysql是高版本,移除了这个.rfm文件

    在MySQL 8.0及更高版本中,表的元数据存储方式发生了改变:

    1. 旧版本MySQL (5.7及以前) 使用以下文件格式:
      • .frm 文件:存储表结构/元数据
      • .MYD 文件:MyISAM表的数据文件
      • .MYI 文件:MyISAM表的索引文件
      • .ibd 文件:InnoDB表的数据和索引文件
    2. MySQL 8.0及更高版本
      • 移除了.frm文件
      • 表元数据现在存储在MySQL内部的数据字典中
      • 对于InnoDB引擎(默认引擎),只使用.ibd文件,其中包含表的数据、索引和元数据

    表中插入数据 

     insert into student(id,name,gender) values(1,'张三','男');

    查询表中数据

     select *from student;

    数据库的逻辑存储结构:

    使用mysql建立一个数据库,建立一张表结构,插入一些数据--对比一下mysql在Linux中是如何表现的

    • 建立数据库,本质上就是Linux下的一个目录
    • 在数据库内建立表,本质上就是在Linux下创建对应的文件即可!
    • 数据库本质其实也是文件!!只不过这些文件并不是由程序员直接操作,而是程序员通过mysql向数据库服务mysqld发送请求,然后由mysqld帮我们进行操作!!!

    服务器管理 

    若windows也安装了mysql 

    执行 win+r 输入 services.msc 打开服务管理器

    通过下图左侧停止,暂停,重启动按钮进行服务管理

    服务器数据库表之间的关系 

    所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库, 一般开发人员会针对每一个应用创建一个数据库

    MySQL的架构

    MySQL是一个可移植的数据库几乎能在当前所有的操作系统上运行,如 Unix/Linux、Windows、Mac和Solaris。各种系统在底层实现方面各有不同,但是 MySQL 基本上能保证在各个平台上的物理体系结构的一致性。

    第一层:连接池:把链接做好管理,并且也要有权限认证(判断你是否是一个合法用户),还有一些安全方面的策略

    第二层(有点像编译器):对下达的mysql指令进行语法分析、词法分析,甚至还需要对查询的语句进行一定的优化。然后按照mysql的协议下达给下一层

    第三层(有点像驱动,负责和OS打交道):不同种类存储引擎(因为数据有不同的种类,有文本型的、二进制型的、大文件类型…… 针对不同种类的数据采用不同的存储方案,表现出来的效率是有区别的),对优化后的语句进行解释,然后交给下一层的文件系统完成相关的操作

    前三层都属于用户层!!站在网络的视角则是属于应用层!

     mysql其实也是个文件系统,只不过它是处于操作系统提供的文件之上的一套存储解决方案,

    MySQL语句分类 

    • DDL【data definition language】 数据定义语言,用来维护存储数据的结构 代表指令: create(创建表), drop(丢弃表), alter(修改表结构)
    • DML【data manipulation language】 数据操纵语言,用来对数据进行操作 代表指令: insert(插入),delete(删除),update(更新)    DML中又单独分了一个DQL,数据查询语言,代表指令: select(查询)
    • DCL【Data Control Language】 数据控制语言,主要负责权限管理和事务 代表指令: grant(赋权),revoke(取消权限),commit

    存储引擎

    存储引擎是:数据库管理系统如何存储数据,如何为存储的数据建立索引,如何更新、查询数据等技术的实现方法

    MySQL的核心就是插件式存储引擎,支持多种存储引擎。

    查看存储引擎

    show engines;

    存储引擎对比

    其实最常用的是innoDB和MyISAM 

    http://www.dtcms.com/wzjs/583034.html

    相关文章:

  • 渭南做网站公司中国旅游网站的建设
  • 南通企业建站模板做的网站没有手机版
  • 冬季什么行业做网站比较多网站建设 总体目标
  • 泉州做网站的软件市场
  • 网站更换关键词怎么做好html简单的旅游网页
  • 闸北做网站公司萍乡企业网站建设
  • 佛山网站建设科技有限公司wordpress dplayer
  • 环球资源网官方网站郑州建设信息网可以领证书吗
  • html5农业网站模板汕头建设网站的公司
  • 哈尔滨网站建设王道下拉強管理咨询公司项目运作流程图
  • 网站如何添加白名单做外贸 网站
  • 网站推广被封域名如何做跳转xp做网站服务器吗
  • 织梦网站开通在线投稿浏览器怎么打开网站
  • 梅州建站怎么做建筑网片规格允许偏差
  • 牡丹江网站建设公司龙华住房和建设局网站
  • 网站模板 小说移动互联网应用技术
  • 昆明网站建设多少钱温州阀门外贸网站建设
  • 代做设计的网站辽宁世纪兴电子商务服务中心
  • 学校网站建设目的网站建设longda
  • 南阳网站建设制作网站后台怎么修改文字
  • 建设高流量网站企业网络营销方法
  • 哪个网站可以做印章图案wordpress数据库被误删
  • gps建站步骤中国建筑工程个人信息网
  • 电脑建立网站平台做网站站怎么赚钱
  • 定制开发响应式网站服务器安全模式怎么进
  • 乐思网站建设江西省网站建设
  • 有免费建网站初中做网站的软件
  • 模板建站有什么优势erp系统的主要功能
  • 怎么样建网站卖东西网站开发所需要的时间 知乎
  • 做网站推广的难点、建设交通人才网站