无锡网站建设要求提供石家庄网站推广

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

无锡网站建设要求,提供石家庄网站推广,wordpress萨龙怎么使用,WordPress怎么做百度小程序#1024程序员节#xff5c;征文# 目录 一. 数据库概念 0.连接服务器

  1. 什么是数据库 口语中的数据库 为什么数据不直接以文件形式存储#xff0c;而需要使用数据库呢#xff1f; 总结 二. ??基础操作 三. 主流数据库 四. 基础知识 服务器#xff0c;数据库征文# 目录 一. 数据库概念 0.连接服务器
  2. 什么是数据库 口语中的数据库 为什么数据不直接以文件形式存储而需要使用数据库呢 总结 二. ??基础操作 三. 主流数据库 四. 基础知识 服务器数据库表关系 数据逻辑存储 MySQL架构 SQL分类 存储引擎 1.何为存储引擎
  3. 存储引擎对比 在上一篇文章[MySQL#0] 详解如何在 Linux 上安装 MySQL | 常见登录问题我们安装好了环境接下来就来一起学习操作吧~ 一. 数据库概念 0.连接服务器 mysql -h 127.0.0.1 -P 3306 -u root -p-h指明登录部署了MySQL服务的主机-P指明要访问的端口号-u指明登录用户-p指明需要输入密码 注意 如果没有写-h 127.0.0.1默认是连接本地如果没有写-P 3306默认是连接3306号端口 1.目前我们是免密码登录的后面必须设置密码 2.密码输入的时候是不会回显的 1. 什么是数据库 服务器角度理解数据库 在连接数据库时我们使用的是mysql启动数据库服务时使用的是mysqld。这两个分别代表什么呢 mysql 是数据库服务的客户端。mysqld 是数据库服务的服务器端。 说明 凡是可执行程序带有d的通常称为守护进程。MySQL本质一个基于C/SClient/Server模式的网络服务mysqld就是网络服务的后端通常我们提到MySQL其实指的是MySQL的客户端mysql。 这就是我们对数据库的第一层理解。 现在我们明白了为什么安装MySQL时需要通过yum安装mysqld并启动服务后才能使用mysql进行连接因为它是一个网络服务。既然MySQL是网络服务我们可以查找到它绑定的端口号。 MySQL服务是什么 MySQL是一种提供数据存取服务的网络程序。 口语中的数据库 数据库通常指的是在磁盘或内存中存储的特定结构化的数据。 数据库可以被看作是一套存储方案通常指的是关系型数据库表与表之间有特定的关系数据按照特定逻辑进行组织。数据库最终还是存储在磁盘或内存中。我们暂时只考虑磁盘存储在磁盘中的一组数据库文件就可以称为数据库即一批数据以数据库的形式存储在磁盘中。 我们可以区分如下几点 数据库服务mysqld数据库客户端mysql数据库磁盘上存储的一套数据库方案文件 数据库的本质仍然是存储在磁盘中的某种结构化数据虽然我们可能对它的具体形式还不完全理解。文件是我们熟悉的存储形式 为什么数据不直接以文件形式存储而需要使用数据库呢 虽然文件提供了数据存储的基本功能但它没有提供对数据内容的管理能力。 举个例子假设一个文件有10万行内容每行都是一个IP地址现在需要统计以127开头的IP地址个数。程序员需要打开文件按行读取并手动统计这是一项耗时的工作。文件只提供基本的读写功能而没有数据管理能力因此不方便。 数据库的意义 它是一种数据存储的解决方案。程序员只需提出查询需求数据库就会根据需求分析并返回结果。相当于是将数据管理起来了使数据查询更加方便 例如如果将10万个IP地址存储到数据库中查询以127开头的IP地址时数据库会进行内部处理最终返回统计结果而程序员无需自己编写复杂的代码。 总结数据库的作用 数据库本质上是一套对外提供数据存储和管理的解决方案。它包括 数据库客户端mysql数据库服务器mysqld存储在磁盘中的数据库文件 数据库的作用是让客户端提出需求后服务器从数据库文件中进行操作最终将结果返回客户端展示给用户。 理解 当一个MySQL客户端mysql提出一个需求查询MySQL服务端mysqld就去数据库文件当中自己进行增、删、查、改等然后把结果返回给mysqld然后mysqld把结果交给mysql然后就显示给用户了 总结 最后的结论——什么是数据库 局部理解 数据库是存储在磁盘中的结构化数据文件这些文件能够被mysqld服务进程进行增删查改。宏观理解 数据库是一整套数据存储的解决方案。 文件保存数据的缺点 安全性问题不利于数据查询和管理不利于存储海量数据程序中控制不便 数据库的存储介质 磁盘内存 为了解决文件存储的这些问题专家们设计了数据库能够更有效地管理数据。数据库的使用和管理是衡量程序员水平的重要指标。 二. ??基础操作 见一见数据库 建立数据库本质就是Linux下的一个目录在数据库内建立表本质就是在Linux下创建对应的文件即可!数据库本质其实也是文件只不过这些文件并不由程序员直接操作而是由数据库服务帮我们进行操作 使用 MySQL 建立一个数据库建立一张表结构插入一些数据最后对比 MySQL 在 Linux 中的表现 ??查看当前数据库 show databases;
    此时可以查看当前所有存在的数据库。 ??数据库在哪里存放我们可以通过查看 MySQL 的配置文件找到数据库的存储路径 vim /etc/my.cnf 在配置文件中可以看到 datadir 字段它指明了 MySQL 服务数据存放的路径。 切换到这个路径下可以看到数据目录中存放的数据内容包含普通文件和目录。 细心观察您可能已经发现了一些有趣的现象我们下面讲讨论 ??*创建数据库接下来我们通过 MySQL 客户端向 mysqld 服务端发出创建数据库的请求 create database helloworld;
    创建数据库后原本数据目录中没有 helloworld 这个目录现在会多出一个名为 helloworld 的目录。 进入该目录后可以发现除了一个配置文件外并没有其他文件。 所谓建立数据库实际上是在 Linux 系统下创建了一个目录。 当客户端发出 create database 的 SQL 指令后mysqld 进程识别指令并在磁盘上创建一个目录。 这就是数据库在系统层面的表现。 ??
    *选择数据库在创建数据库后需要选择操作的数据库 use helloworld;
    就像在文件系统中选择了一个具体的目录一样use helloworld 代表接下来所有的操作都将在该数据库下进行。 ??*创建数据库表接下来创建一个名为 student 的表结构 create table student( name varchar(32), age int, gender varchar(2) );
    表的字段定义了数据的属性列及其类型。建立了表之后在数据库目录中会生成两个与该表相关的文件。 在数据库内建立表本质就是在Linux下创建对应的文件即可数据库本质其实也是文件只不过这些文件并不是由程序员直接操作而是由数据库服务帮(mysqld)我们进行操作。 ??
    *向表中插入数据现在向 student 表中插入一些数据 insert into student (name, age, gender) values (‘张三’, 23, ‘男’); insert into student (name, age, gender) values (‘李四’, 24, ‘女’); insert into student (name, age, gender) values (‘王五’, 25, ‘男’);
    在 name、age、gender 三列中插入相应的数据。values 后跟的是要插入的具体值。 ??**查询表中的数据使用以下命令查询刚才插入的数据 select * from student; 这会返回表中的所有记录。 总结 数据库的创建本质在 Linux 系统下创建一个目录。表的创建本质创建相应的文件。数据存储的本质将数据以结构化的方式存储到这些文件中。程序员不需要直接操作文件系统而是通过 SQL 语句与 MySQL 服务交互服务负责在磁盘上执行具体的操作。 操作总结 show creat use creat table //创建一张表 insert //插入数据注意: 输入时 mysql 命令时要加 mysql 中有很多库库中又有很多的表程序员不关心文件格式只关心数据和想做什么交给 sql 去实现即可 三. 主流数据库 以下是根据您的要求整理的内容格式 MySQL 世界上最受欢迎的数据库之一由甲骨文公司拥有。并发性能良好但可能不适合处理非常复杂的业务逻辑。主要应用于电商、社交网络服务SNS、论坛等场景对简单的SQL查询处理效果好。总结效率良好生态完善免费 SQLite 轻量级数据库引擎遵循ACID属性的关系型数据库管理系统。设计初衷是作为嵌入式解决方案集成于小型C语言库中。极其适合资源受限的环境如嵌入式系统通常仅需几百KB内存即可运行。 SQL Server 微软出品的企业级数据库产品。深受.NET开发者喜爱适用于中大型项目开发。 Oracle 也是甲骨文公司的旗舰数据库产品。针对大型企业级应用设计能够支持复杂的业务流程。eg 银行需付费性能更好相较于MySQL在高并发场景下的表现可能略逊一筹。 PostgreSQL 起源于加州大学伯克利分校的一个开源关系型数据库项目。支持广泛的高级功能无论是个人使用、商业部署还是科学研究均可免费获取、修改和分发源代码。 H2 Database 一个完全基于Java编写的轻量级嵌入式数据库。可以直接以类库的形式集成到应用程序内部便于快速开发与测试。 四. 基础知识 服务器数据库表关系 所谓安装数据库服务器只是在机器上安装了一个数据库管理系统程序这个管理程序可以管理多个数据库一般开发人员会针对每一个应用创建一个数据库为保存应用中实体的数据一般会在数据库中创建多个表以保存程序中实体的数据数据库服务器、数据库和表的关系如下 数据逻辑存储 数据逻辑存储在表中插入数据后这些数据在逻辑上是以行列式的结构存储的。 一行表示一个实体例如一个人一列表示实体的某个属性如姓名、年龄、性别。 数据库内的数据在物理上并不是直接存储为表的形式而是通过 MySQL 特定的协议和格式进行存储和管理。 MySQL架构 MySQL是一个可移植的数据库几乎能在当前所有的操作系统上运行 如 Unix/Linux、Windows、 Mac和Solaris各种系统在底层实现方面各有不同但是 MySQL基本上能保证在各个平台上的物理体系结构的一致性 最上面是MySQL客户端现在我们在Linux下是以命令行方式使用数据库后面还会以C/C图像化界面使用数据库。 整体对于一个MySQL Server来讲主要功能由三层构成 第一层连接池 —— 主要是安全连接管理(连接管理、鉴权、保证安全…)。中间这一层 —— 比如说客户端会下达各种SQL指令收到指令然后会对指令做各种语法、词法分析甚至会对SQL语句做一定程度优化按照SQL协议然后下达给下一层。第三层存储引擎 —— 匹配的就是一个一个存储引擎作用有点像计算机体系结构中的驱动。下面可能有不同种类的引擎这些存储引擎从上层接收下达下来的经过词法语法调优过的SQL语句然后存储引擎对这些SQL语句解释说白了最下面这一层才是真正干事的它帮我们去访问指定的数据库文件访问指定的表。把数据进行增删查改。 怎么会有这么多存储引擎呢 主要还是因为数据库是给我们提供数据存储服务的但是这个数据有种类的差别有的是文档型的有的是二进制型的有的是大文件型的等等所以针对不同种类的数据的需求可能采用不同的存储方案所以MySQL给我们提供各种各样的搜索引擎诸如MyISAM适合大文件读取InnoDB有很丰富的索引支持可以方便进行快速的搜索查找。所以可以针对不同的场景由用户来配置MySQL底层采用不同的存储引擎来满足上层的存储需求。 总结一下MySQL Server有三层 第一层安全连接管理第二层词法、语法分析SQL语句优化第三层解释 SQL 语句具体完成数据存储方案最下面一层就是它依赖的对应文件系统帮我们把数据以二进制方式存到特定的目录下然后构建特定的普通文件把数据存储好。 最终总结一下MySQL依旧是一个文件系统只不过处于OS提供的文件系统之上的一套存储解决方案。 最后一点MySQL提供这么多的解决方案它是支持热插拔的可以理解成插件一样。我们想选择哪一个就把哪一个存储引擎加载到MySQL里。 SQL分类 结合系统层理解 DDL [data definition language] 数据定义语言用来维护存储数据的结构 代表指令createdrop,alter目录** DML [data manipulation language] 数据操纵语言用来对数据进行操作 代表指令 insertdeleteupdate文件 DML中又单独分了一个DQL数据查询语言 代表指令 select打印文件 DCL [Data Control Language] 数据控制语言主要负责权限管理和事务 代表指令 grantrevokecommit 也可以类似于数据结构来理解 DDL: 定义一个链表DML: 对链表增删查改 存储引擎 1.何为存储引擎 存储引擎数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法MySQL的核心插件式存储引擎支持多种**存储引擎解释 SQL 语句查看存储引擎show engines;** 2. 存储引擎对比 每一种存储引擎都有自己对应的一大堆功能。大部分情况下MySQL常用的存储引擎是MyISAMInnoDB。其中更常用的是InnoDB。 之后会再具体的讲到~下篇文章见