1.数据库基础

目录

1.1什么是数据库

对数据库的更深理解

1)从软件角度理解

2)从文件角度理解

如何理解数据库的搜索引擎和存储引擎

数据库的结构是什么

如何理解数据库是一个网络服务器

CS模式是什么

1.2主流数据库

1.3基本使用

1.3.1Mysql的安装(请看这里的博客)

https://blog.csdn.net/qq_69514982/article/details/129573356

1.3.2连接服务器

 Linux的命令行提示符

 mysql的客户端有多种

mysql的密码 

1.3.3如何退出mysql 

 1.3.4服务器管理

 win+r的作用(程序员必备)

1.3.5服务器,数据库,表关系

mysql中的库+表会全部在var/lib/mysql路径下(Linux)​编辑

socker=/var/lib/mysql/mysql.sock是什么意思 

Unix socket的ipc机制是什么

列出mysql服务器上的数据库

MySQL命令行客户端的一些基础了解 

`cls` 命令(windows)/`clear`命令(Linux)

‘ls’命令(Linux)和‘dir’命令(Windows) 

1.3.6使用案例 

1.3.7数据逻辑储存 

1.4MySQL架构 

1.5SQL分类(sql也有种类的不同,因为使用sql的人,需求是不一样的)

1.6存储引擎

1.6.1存储引擎

1.6.2查看存储引擎 

​编辑InnoDB 

 MyISAM

总结 



1.1什么是数据库

存储数据用文件就可以了,为什么还要弄个数据库?

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

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

数据库存储介质:

  • 磁盘
  • 内存

注意:MySQL在磁盘和内存中的作用分别是:

1. 磁盘:MySQL将数据存储在磁盘上,包括表结构和数据,以及其他数据库对象,如索引。当检索数据时,MySQL需要从磁盘读取数据并将其加载到内存中。因此,磁盘存储的性能直接影响数据的读取和写入速度。

2. 内存:MySQL使用内存来缓存经常访问的数据和查询结果,以便快速响应请求。通过将数据存储在内存中,MySQL可以避免在磁盘上进行频繁的I/O操作,从而提高系统的性能。此外,MySQL还使用内存来存储临时表、排序缓冲区以及其他需要在内存中完成的操作

磁盘和内存在MySQL中都起着至关重要的作用。磁盘存储用于长期持久化数据,而内存则用于提高系统性能和响应速度。因此,在MySQL的设计和使用过程中,需要注意优化磁盘和内存使用,以充分利用系统资源,提高数据库性能。 

为了解决上述问题, 专家们设计出更加利于管理数据的东西——数据库,它能更有效的管理数据,数据库的水平是衡量一个程序员水平的重要指标。

对数据库的更深理解

1)从软件角度理解

 

从软件角度理解数据库,可以将其看作是一个具有一定规范和功能的软件系统,用于管理和存储大量的数据。

在这个系统中,有各种各样的软件组件,例如数据存储引擎、查询优化器、事务管理器、安全性管理器等,这些组件共同工作,提供了丰富多样的功能,包括数据存储、数据检索、数据备份与还原、数据安全和权限管理等。

与其他软件系统不同的是,数据库还需要确保数据的持久性和一致性。数据持久性指的是在系统故障或崩溃后,可以恢复之前的数据状态;数据一致性指的是在同时并发访问数据库时,数据的正确性和一致性能得到保障。因此,数据库还包括了事务管理和并发控制等组件,以确保数据的持久性和一致性。 此外,数据库的软件设计和实现还需要考虑到效率、可扩展性和灵活性等方面,例如需要通过查询优化器来选择最优的查询方法、需要提供分布式数据库解决方案来扩展系统的性能、需要提供API或权限管理来满足用户的不同需求等。

综上所述,从软件角度理解数据库,它是一个功能强大的软件系统,提供了大量的数据管理和操作功能,并需要考虑到数据的持久性、一致性、效率、可扩展性和灵活性等方面的问题。

2)从文件角度理解

如何理解数据库的搜索引擎和存储引擎

数据库的搜索引擎和存储引擎是数据库结构的两个基本组成部分。

搜索引擎是数据库管理系统的一个组件,它负责处理用户查询,并在数据库中定位和检索相关的数据。在关系型数据库中,搜索引擎通过处理SQL查询指令来实现数据搜索,而在NoSQL数据库中,搜索引擎可以使用不同的数据结构和查询语言来实现数据搜索。数据库的搜索引擎通常包含索引管理、查询优化和数据检索三部分。

存储引擎是数据库管理系统的另一个组件,它负责数据的存储和管理。存储引擎负责将数据从内存或磁盘中读取,并将数据写入磁盘或内存中。不同类型的数据库使用不同的存储引擎,例如关系型数据库通常使用B树或B+树作为数据索引结构,而NoSQL数据库通常使用哈希表或文档存储结构来存储数据。存储引擎还负责处理事务、并发控制和数据恢复等重要功能。

总的来说,数据库的搜索引擎和存储引擎是两个不同的组件,但它们紧密协作,共同构成了数据库的完整结构。搜索引擎负责处理查询请求并定位数据,而存储引擎负责存储和管理数据。不同类型的数据库使用不同的搜索引擎和存储引擎,以适应不同的应用需求。

数据库的结构是什么

数据库结构指的是数据库中的数据组成形式和组织方式,主要包括以下几个方面:

1. 数据库模式:数据库模式定义了数据库的逻辑结构,包括表、视图、索引、触发器等元素,以及它们之间的关系。数据库模式描述了不同数据之间的关系和约束条件。

2. 数据库表结构:数据库表是数据存储的主要形式,每个表有自己的表结构。表结构包括表名、表中的字段、字段类型、长度、默认值、约束等信息,约束包括主键、外键、唯一键和检查约束等。 3. 数据库索引结构:数据库索引用于提高数据检索效率,可以加快数据的查找速度。索引结构包括B树索引、哈希索引、全文索引等类型。

4. 视图结构:视图是虚拟的表,由一张或多张基本表的行和列组成。视图结构包括视图名称、定义视图的查询语句等信息。

5. 触发器结构:触发器是数据库自动执行的程序,可以在表上的INSERT、UPDATE、DELETE等操作后触发。触发器结构包括触发器名称、触发器事件、触发器操作等信息。

6. 存储过程和函数结构:存储过程和函数是一些预定义的程序,可以重复使用,提高了数据库的处理效率。存储过程和函数结构包括名称、参数、执行过程等信息。

综上所述,数据库结构是数据库的重要组成部分,它决定了数据库中数据的组成形式和组织方式。数据库结构的设计应该符合实际需求,并考虑到数据的规模和性能等方面的因素。

如何理解数据库是一个网络服务器

数据库是一个网络服务器,指的是数据库系统可以通过网络协议提供给客户端(如PC机、Web应用或移动端应用)访问和操作数据库。这种方式被称为客户端/服务器架构,因为客户端通过网络协议与服务器进行通讯,向服务器发出请求,服务器处理请求并返回结果给客户端。

在网络服务器中,数据库服务器负责处理来自客户端的请求,包括数据查询、插入、更新和删除等操作。数据库服务器还负责对数据进行管理,包括数据的存储、备份、恢复和控制访问权限等。 网络服务器中的数据库还需要具有高可用性和安全性,以确保数据的完整性和保密性。为此,需要实现多种技术手段,如主从复制、故障转移、数据备份和恢复、权限控制等。 总之,数据库作为一个网络服务器具有以下特点:

1. 提供了远程访问数据库的功能,使得客户端可以通过网络协议连接到数据库服务器;

2. 能够处理来自客户端的请求,支持多种操作,包括数据查询、插入、更新和删除等;

3. 具有高可用性和安全性,使用多种技术手段保证数据的完整性和保密性。

因此,数据库作为一个网络服务器,是企业应用程序和Web应用程序中不可或缺的一部分。

CS模式是什么

CS模式通常指的是客户端/服务器模式,是一种常见的计算机网络架构设计模式。在这种模式下,计算机程序被分成两部分:客户端和服务器。

客户端是指请求服务或资源的计算机或程序,而服务器则是提供服务或资源的计算机或程序。 在客户端/服务器模式下,客户端程序发送请求到服务器,服务器处理请求并向客户端提供响应。这个过程通常是基于网络协议(如HTTP协议)进行的。

这种架构设计模式被广泛应用于互联网应用程序、数据库管理系统、分布式系统等领域。在这个模式下,服务器可以集中管理和保护数据和计算资源,客户端只需要请求服务和获取结果,可以有效地分离逻辑处理和物理资源。 

1.2主流数据库

1. 关系型数据库(RDBMS):这是最常见的数据库类型,使用SQL(结构化查询语言)进行数据管理和查询。其中包括MySQL、Oracle、Microsoft SQL Server、PostgreSQL等。(是主要教学

2. NoSQL数据库:这是一种非关系型数据库,以键值对或文档形式存储数据,通常用于大型数据集和分布式系统。其中包括MongoDB、Couchbase、Cassandra等。

3. 内存数据库(IMDB):这种类型的数据库是基于内存而不是磁盘的,可以提供更快的访问速度和更高的并发性能。其中包括Redis、Memcached、VoltDB等。

4. 图形数据库:这种数据库可以存储和管理图形数据,包括节点、边缘和属性。其中包括Neo4j、ArangoDB等。

5. 搜索引擎(搜索型数据库):这种类型的数据库支持全文搜索和数据分析,并通常用于大型文本和多媒体数据。其中包括Elasticsearch、Solr等。

总的来说,不同类型的数据库都有各自的优缺点和应用场景,需要根据具体需求选择合适的数据库。

 

1.3基本使用

1.3.1Mysql的安装(请看这里的博客)

https://blog.csdn.net/qq_69514982/article/details/129573356

1.3.2连接服务器

进入mysql的bin目录,然后在命令提示符输入:mysql -u root -p

这里是Linux的命令提示符下展示的mysql服务器与mysql 客户端

 Linux的命令行提示符

Linux 的命令提示符通常是在终端窗口中显示的,用于提示用户输入命令或其他一些操作。

命令提示符的格式通常是:

username@hostname:current_directory$

其中:

- username:当前登录的用户名

- hostname:当前正在使用的计算机的名称或IP地址

- current_directory:当前所在的目录

- $:用于表示当前用户是普通用户,

# 则表示当前用户是管理员或者超级管理员,一般也称为 root 用户。

例如,普通用户在终端中的命令提示符可能长这样:

user@mycomputer:~$

而管理员在终端中的命令提示符可能长这样:

root@mycomputer:/var/log#

在命令提示符下,用户可以输入命令、文件路径、选项等等,然后按下回车键来执行相应的操作。在执行完命令之后,命令提示符会再次出现,等待用户继续输入操作。

 mysql的客户端有多种

MySQL 的客户端有很多种,常用的有以下几种:

1. MySQL 命令行客户端 MySQL 命令行客户端是 MySQL 自带的一种命令行式客户端程序,可以通过命令行方式连接 MySQL 服务器,并执行相关的 SQL 命令。通常在 Linux 和 macOS 系统下使用。

2. MySQL Shell MySQL Shell 是由 MySQL 官方提供的一种命令行和图形界面结合的交互式客户端程序,支持多种语言和多种操作方式,可以与 MySQL 服务器交互,执行 SQL 命令和 JavaScript 脚本,还可以进行数据库管理和开发等操作。

3. MySQL Workbench MySQL Workbench 是由 MySQL 官方提供的一种图形化客户端程序,可以通过图形界面连接 MySQL 服务器,并进行数据库管理、开发和设计等操作,提供了可视化的数据建模工具和 SQL 编辑器等功能。

4. Navicat Navicat 是一款商业级的 MySQL 客户端程序,提供了完整的数据库管理和开发工具,包括图形界面的数据库管理、数据可视化、查询生成、数据同步和备份等功能。

5. DBeaver DBeaver 是一款免费开源的 MySQL 客户端程序,支持多种数据库管理系统,提供了多种功能,包括图形界面的数据库管理和开发、数据可视化和导入、数据备份和恢复等。

除此之外,还有一些其他的 MySQL 客户端程序,如 Sequel Pro、HeidiSQL、phpMyAdmin 等等,用户可以根据自己的需求选择适合自己的客户端程序。

127.0.0.1 

mysql -h 127.0.0.1 -p 3306 -u root -p

127.0.0.1 是一个特殊的IP地址,也被称为环回地址(loopback address),用于在本地主机上进行测试和通信。在 IPv4 网络中,127.0.0.1 是唯一一个被保留给环回接口的地址。 当将数据发送到 127.0.0.1 时,数据不会被发送到网络上,而是被发送到主机上的一个虚拟接口,然后被重定向回本地处理程序。因此,127.0.0.1 可以用于在本地主机上进行网络通信测试,例如测试网卡、端口、服务等等。

在实际应用中,通常会将 127.0.0.1 与端口号一起使用,用于指定服务器的监听地址,例如:127.0.0.1:3306 表示 MySQL 服务器监听于本地主机的 3306 端口。 

mysql的密码 

MySQL 的密码是用于保护数据库和用户数据的重要安全功能。用户必须在访问 MySQL 服务器时提供正确的用户名和密码才能进行授权访问。

MySQL 的密码通常以加密的形式存储在用户表中,这可以防止别人轻易地窃取这些密码。MySQL 支持多种加密算法来加密密码,例如:

- MySQL 4.1 及以前版本使用的是旧的密码哈希算法(MySQL 3.23 及以前版本使用另一种算法)。

- MySQL 5.0 支持了一种新的加密方式(称为“新式”哈希算法),被称为“mysql_native_password”,这种算法将密码哈希并存储在 user 表的 Password 字段中。

- MySQL 8.0 引入了一种更加安全的加密方式,称为“caching_sha2_password”算法,这种算法使用了更强的哈希算法和加密方式,可以提高密码的安全性和保护性。

为了保证数据库的安全性,建议用户采用强密码,并定期更换密码,避免使用相同的密码,以及不要将密码直接存储在代码或配置文件中。此外,还可以采用其他安全措施来保护 MySQL 数据库,例如限制网络访问、使用防火墙、加密传输、实现访问控制等等。 

1.3.3如何退出mysql 

可以使用以下命令退出 MySQL 命令行服务端:

1. 输入“quit”或“exit”命令,按下回车键。

mysql> quit

或者

mysql> exit

2. 使用快捷键 Ctrl + C 退出服务端。 在命令行中按下 Ctrl 和 C 键,即可退出服务端。 注意,如果你在运行一条 SQL 语句或等待 MySQL 返回数据时,快捷键 Ctrl + C 可能会不起作用。此时你可以按下 Ctrl + Pause/Break 键来强制中断当前操作。

另外,如果你是在 Windows 中运行 MySQL 命令行工具,也可以直接关闭命令行窗口来退出服务端。这种方式强制结束 MySQL 进程,可能会导致数据损坏,因此应该尽量避免使用。

 1.3.4服务器管理

  • 执行win+r,输入services.msc打开服务管理器 
  • 通过下图左侧停止、暂停、重启动按钮管理服务

 win+r的作用(程序员必备)

Win+R 是 Windows 操作系统中的一个快捷键组合,用于打开“运行”对话框。可以按下 Win+R 组合键,在弹出的“运行”对话框中输入要执行的命令或程序的名称,然后按下“回车”键,即可运行该命令或程序。

例如,输入 cmd 并按下“回车”键,即可打开命令提示符窗口;输入 notepad 并按下“回车”键,即可打开记事本程序。Win+R组合键可以大大提高工作效率,特别是对于经常需要使用命令行操作和运行程序的用户。

1.3.5服务器,数据库,表关系

  • 所谓安装数据库服务器,只是在机器上安装了一个数据库管理系统程序,这个管理程序可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。
  • 为保存应用中实体的数据,一般会在数据库中创建多个表,以保存程序中实体的数据。
  • 数据库服务器,数据库和表的关系如下:

 

 请注意:“client”一词通常用于描述客户端程序。

在计算机网络中,客户端是指通过网络连接到服务器的计算机或程序,请求或接收服务或数据的一方。

在 MySQL 数据库中,“client”通常指 MySQL 客户端程序。MySQL 客户端是一种命令行工具,它允许用户与 MySQL 数据库服务器进行交互,执行 SQL 语句、管理数据库、查看数据库状态等等。 在 MySQL 的配置文件 my.cnf 中,使用 [client] 节可以设置 MySQL 客户端连接 MySQL 服务器时的默认配置选项,例如默认字符集、默认端口号等等。

此外,在软件开发中,也常常使用“client”一词来描述与服务器端对应的客户端程序,例如 Web 应用程序、移动应用程序等。这些客户端程序通过网络连接到服务器端,请求或接收数据、服务等等。

mysql中的库+表会全部在var/lib/mysql路径下(Linux)

/var/lib/mysql是Linux系统下MySQL数据库默认的数据存储目录。在安装MySQL后,所有的数据文件、日志文件及配置文件都被存储在该目录下。其中,MySQL的数据文件存储在/var/lib/mysql/data目录下,包括所有的数据库和表的数据。如果您需要备份或迁移MySQL数据库,需要先备份/var/lib/mysql目录下的所有文件。

在Windows操作系统上,MySQL数据库的数据文件和日志文件存储在(例子)“C:\ProgramData\MySQL\MySQL Server X.X\Data”目录下,其中“X.X”是MySQL的版本号,比如“5.7”表示MySQL 5.7版本。该目录是MySQL在Windows下默认的安装目录,但是在安装MySQL时可能会被修改。 因此,在备份或迁移MySQL数据库时,需要备份该目录下的所有文件。如果需要在Windows下备份MySQL数据库文件,可以使用类似以下的命令:

 xcopy /s C:\ProgramData\MySQL\MySQL Server X.X\Data D:\mysql_backup

该命令将备份MySQL数据库的数据文件和日志文件到D:\mysql_backup目录下。请注意,备份MySQL数据库时可能需要先停止MySQL服务,以确保数据完整性和一致性。

socker=/var/lib/mysql/mysql.sock是什么意思 

当MySQL运行在Linux系统上时,它使用名为Unix socket的ipc机制来连接到MySQL服务器。这种连接方式比TCP/IP连接方式更快、更安全。而 /var/lib/mysql/mysql.sock 文件则是Unix域套接字文件,它充当了本地MySQL客户端和MySQL服务器的通信桥梁。

当您使用MySQL客户端连接到MySQL服务器时,MySQL客户端会检查是否存在mysql.sock文件。如果存在,它将使用它来与MySQL服务器建立本地连接。如果未找到该文件,客户端将尝试在端口3306上使用TCP/IP进行连接。因此,确保/var/lib/mysql/mysql.sock文件存在对于MySQL服务器的操作是非常重要的。

Unix socket的ipc机制是什么

Unix Socket是Unix/Linux系统中一种用于本地进程通信的机制,也称为IPC(Inter-Process Communication)机制。与传统的socket通信方式不同,Unix Socket使用文件系统作为通信的介质,因此也被称为IPC Socket。它是一种快速、高效、安全的通信方式,也是Unix/Linux系统上最常用的通信方式之一。 Unix Socket通信方式的基本原理是:在本地文件系统中创建一个socket文件,进程通过对该文件进行读写操作实现与其他进程之间的通信。当进程向该文件写入数据时,系统会自动将该数据发送给socket文件对应的进程;在进行读取操作时,进程会实时地获取该文件中的数据。 由于Unix Socket通信方式不需要经过网络传输,因此具有很高的速度和安全性。同时,由于它是基于文件系统进行通信的,因此具有很好的可靠性和兼容性。

请注意: 默认情况下,MySQL 中的数据库和表都存储在 `/var/lib/mysql` 目录下。这是 MySQL 数据目录的默认位置,也是 MySQL 服务默认的数据存储路径。但是,如果在安装 MySQL 时指定了其他数据目录,或在 MySQL 配置文件中进行了自定义配置,则数据库和表的位置可能与默认值不同。 如果您不确定 MySQL 数据目录的位置,可以在 MySQL 命令行中执行如下命令查看:

SHOW VARIABLES LIKE 'datadir';

 该命令将返回 MySQL 数据目录的路径,例如:

+---------------+-----------------+

  | Variable_name | Value |

+---------------+-----------------+

  | datadir | /var/lib/mysql/ |

+---------------+-----------------+

请注意,在 Linux 系统中,`/var/lib/mysql` 目录通常需要特定用户(例如 `mysql` 用户)的写入权限。

列出mysql服务器上的数据库

使用以下指令

mysql -u username -p -e "show databases;"

`mysql -u username -p -e "show databases;"` 是一个命令行命令,用于在 MySQL 数据库服务器上查询所有的数据库列表。

其中,

`-u` 选项指定连接 MySQL 数据库服务器的用户名,

`username` 部分需要替换成实际的用户名。

`-p` 选项提示用户输入连接 MySQL 数据库服务器的密码。

`-e` 选项后面跟着要执行的命令,本例中是 `show databases;`,表示查询数据库列表。

执行该命令时,会在命令行窗口中显示该用户有权访问的所有数据库的列表,其中包括 MySQL 数据库服务器默认的系统数据库和用户自己创建的数据库。 

其中,MySQL 服务器默认会创建四个系统数据库:`information_schema`、`mysql`、`performance_schema` 和 `sys`。  

在 MySQL 数据库系统中,四个系统数据库的作用如下:

1. `information_schema`

`information_schema` 数据库保存了 MySQL 数据库系统中所有的元数据信息,包括数据库、表、列、索引等的结构和属性。使用 `information_schema` 数据库的系统表或视图,可以查询这些元数据信息,如查询数据库和表的列表、列和索引的属性、外键关系等等。

2. `mysql` `mysql`

数据库保存了 MySQL 数据库系统的用户权限信息、密码安全策略、角色、日志等等。通过对 `mysql` 数据库进行操作,可以管理 MySQL 用户、设置密码安全策略、创建和授权用户角色、查看日志信息等等。

3. `performance_schema`

`performance_schema` 数据库用于收集 MySQL 数据库系统的性能统计信息。通过对 `performance_schema` 数据库进行查询,可以获得数据库系统的各种统计数据、指标、性能瓶颈等等信息,以便进行性能优化和故障排除。

4. `sys` `sys` 数据库是 MySQL 8.0 版本中新增加的一个系统数据库,用于提供更为方便和易用的查询和操作接口。通过对 `sys` 数据库中的视图和存储过程进行调用,可以方便地查询和操作 MySQL 数据库系统的各种元数据和性能统计信息。

MySQL命令行客户端的一些基础了解 

`mysql>` 表示你已经成功地进入了 MySQL 数据库服务器,并在 MySQL 的命令行客户端中操作。 在这种模式下,你可以通过输入 SQL 命令来与 MySQL 数据库交互,例如创建数据库、创建表、插入数据、查询数据等等。当你输入完 SQL 命令并按下回车键后,MySQL 服务器会处理这些命令,并根据命令执行结果返回相应的信息。此时,你可以继续输入下一个 SQL 命令来操作数据库。 需要注意的是,在命令行客户端中输入 MySQL 命令时,每个命令必须以分号 `;` 结尾。否则,MySQL 服务器会将这些命令视为一个整体,不会执行其中的任何命令。

`cls` 命令(windows)/`clear`命令(Linux)

`clear` 是一个命令行命令,用于清空终端窗口中的屏幕显示内容。执行 `clear` 命令后,终端窗口上原先的命令输出和结果都会被清空,屏幕上只剩空白。 在执行过一些命令后,终端窗口中的屏幕上可能会有很多文本和信息,这些信息可能会干扰接下来的操作或者浏览。因此,可以使用 `clear` 命令来清空屏幕,以便进行下一步的操作或者浏览。 在 Windows 操作系统中,相当于 `clear` 命令的是 `cls` 命令。(效果如下)

‘ls’命令(Linux)和‘dir’命令(Windows) 

 `ls` 是一个命令行命令,用于显示当前目录(或指定目录)下的文件和目录列表。 在执行 `ls` 命令时,命令行窗口上会显示当前目录(或指定目录)下的所有文件和目录名称。这些名称通常都是按照字母顺序排列的,并以不同的颜色或者其他符号区分不同类型的文件或目录

`ls` 命令还支持各种选项,如 `-l` 选项可以显示文件和目录的详细信息,包括权限、所有者、大小、修改时间等等;`-a` 选项可以显示所有文件,包括隐藏文件;`-h` 选项可以将文件大小以人类可读的方式显示,如 1.5K、20M 等等。 `ls` 命令是 Linux 和 macOS 等 Unix-like 系统中常用的命令之一,类似的,Windows 系统中查看目录和文件的命令是 `dir`。

 `dir` 是 Windows 系统中的一个命令行命令,用于显示当前目录下的文件和子目录的列表。 `dir` 命令与 Unix-like 系统中的 `ls` 命令类似,但语法和参数有所不同。在执行 `dir` 命令时,命令行窗口上会显示当前目录下的所有文件和目录名称按照字母顺序排列,并以不同的颜色或者其他符号区分不同类型的文件或目录

与 `ls` 命令类似,`dir` 命令也支持各种选项,如

`/w` 选项可以用宽格式显示文件列表,每行显示多个文件名;

`/p` 选项可以在显示超过一个屏幕的文件列表时,每页暂停一下,等待用户按任意键继续显示下一页。 需要注意的是,`dir` 命令是 Windows 系统中的命令,与 Unix-like 系统中的命令有一些区别。在使用 `dir` 命令时,需要使用 Windows 系统的语法和参数,不能直接使用 Unix-like 系统中 `ls` 命令的语法和参数。

"dir"是Windows命令行下的一个指令,用于显示指定目录中的文件和子目录。

以下是dir指令的常用选项:

- /a:显示所有文件和目录,包括隐藏文件。

- /b:仅显示文件和目录名,不显示其它信息。

- /o:设置文件和目录的排序方式。

- /p:按页显示文件和目录列表。

- /q:显示文件和目录所有者的名称。

- /s:显示指定目录及其子目录中的文件和目录。

- /w:使用横向列表格式显示结果。

以上是一些dir指令的常用选项,您可以在命令行中键入“dir /?”或“help dir”命令查看更多选项和说明。 

 

请注意:<DIR>的含义

目录(Directory,缩写为Dir)是计算机操作系统中的一个概念,用于组织和管理文件。通俗来说,目录是一个文件夹,可以包含其他的文件和目录,可以帮助我们更好地组织和管理文件。 在计算机系统中,每个目录都有一个唯一的名称,用于标识该目录。目录可以包含多个文件和子目录(目录),这些文件和目录通过不同的文件系统和文件路径来访问。 在Windows操作系统和UNIX/Linux操作系统中,目录都是重要的组成部分,用于组织和管理操作系统和应用程序的文件和数据。在命令行中,使用dir(Windows)或ls(UNIX/Linux)命令可以查看目录中的文件和子目录。

 请注意:第一行和第二行的.和..

 在目录下使用“.”和“..”表示当前目录和上一级目录。这两种目录名是系统内置的,不能删除或改变。 其中,“.”表示当前所在目录,类似于路径中的“./”,可以用来指示当前目录下的文件或目录,比如在命令行窗口内输入dir . 就可以查看当前目录下的文件和子目录。而“..”表示上一级目录,代表当前目录的父目录,类似于路径中的“../”,可以用来访问上一级目录中的文件和目录,比如在命令行窗口内输入dir .. 就可以查看上一级目录中的文件和子目录。 使用“.”和“..”可以方便地在目录之间进行切换和访问,是命令行操作系统中的一个基本操作

与上面的是一样的,可见dir.和dir/a在一定情况下是一样功能的,但是dir.与dir/a是有区别的

 - `dir.`:在Windows命令提示符中,输入`dir.`命令会列出当前目录下的文件和子目录,但不包括隐藏文件和子目录。

- `dir/a`:在Windows命令提示符中,输入`dir/a`命令会列出当前目录下的所有文件和子目录,包括隐藏文件和子目录。 因此,`dir/a`可以列出当前目录下所有的文件和子目录,包括隐藏文件和子目录,而`dir.`只能列出当前目录下的普通文件和子目录,并且不包括隐藏文件和子目录。

 这里不再详细展示dir指令。

1.3.6使用案例 

 

1.3.7数据逻辑储存 

 MySQL 数据库中,数据逻辑存储是指将数据按照逻辑上的关系进行存储,而不是按照物理上的存储方式来存储数据。具体来说,就是将数据按照表格、列、行的形式进行存储(所以高大上的所谓的逻辑存储不就是表结构么),并且允许使用SQL这种结构化查询语言进行数据查询和操作。 与数据逻辑存储相对应的是数据物理存储,它则是将数据按照物理存储的方式进行存储,比如将数据直接存储在硬盘上。数据物理储存需要考虑到文件系统、磁盘空间、磁盘寻址等因素,而数据逻辑储存则更关注数据的表结构、索引、约束关系等方面。

1.4MySQL架构 

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

 

1.5SQL分类(sql也有种类的不同,因为使用sql的人,需求是不一样的)

  • DDL(data definition language)数据定义语言,用来维护存放数据的结构 代表指令:create,drop,alter
  • DML(data manipulation language)数据操纵语言,用来对数据进行操作 代表指令:insert,delete,updata                  DML中又单独分了一个DQL,数据查询语言,代表指令:select
  • DCL(data control language)数据控制语言,主要负责权限管理和事务 代表指令:grant,revoke,commit

1.6存储引擎

1.6.1存储引擎

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

MySQL的核心就是插件式存储引擎,支持多种存储引擎。(以多态 去具体理解1.4架构图)

1.6.2查看存储引擎 

show engines;

InnoDB 

InnoDB 存储引擎是 MySQL 最常用、最好用的存储引擎之一。因为它支持事务、行级锁、处理高并发、支持外键和多版本并发控制等特性,能够满足大部分应用场景的需求,同时也具有不错的性能表现。 近年来,MySQL 已经将 InnoDB 存储引擎作为默认的存储引擎,并且在不断地对其进行优化和改进。此外,InnoDB 还支持在线备份和恢复、可靠性较高,这些特点也是使用 InnoDB 存储引擎的原因之一。 当然,对于一些特殊的应用场景,如全文检索、只读数据等,也可以考虑使用其他的存储引擎,如 MyISAM 和 Memory 等。但总体来说,InnoDB 是 MySQL 最常用、最好用的存储引擎之一。

InnoDB 是 MySQL 中的一种存储引擎,它是 MySQL 的默认存储引擎。InnoDB 存储引擎具有很多优点,包括:

1. 支持事务:InnoDB 存储引擎支持事务,能够保证数据的一致性和完整性,同时支持 ACID 属性。

2. 行级锁:InnoDB 存储引擎采用行级锁,这意味着数据的读写冲突较小,能够支持高并发。

3. 支持外键:InnoDB 存储引擎支持外键,能够对数据进行更好的约束和管理。

4. 支持 MVCC:InnoDB 存储引擎使用 MVCC (多版本并发控制)算法,能够在保证并发性的同时,保证事务的隔离性。

5. 可以在线备份和恢复:InnoDB 存储引擎支持在线备份和恢复,不影响系统的正常使用。

总之,InnoDB 存储引擎是 MySQL 的默认存储引擎,具有很多优点,适用于大部分的应用场景。如果应用中需要支持事务、外键、MVCC 等特性,推荐使用 InnoDB 存储引擎。

 计算机领域中,"default" 通常用于描述某些软件、应用程序、操作系统等的默认设置,比如默认语言、默认时区、默认存储引擎等。如果用户在使用某个软件时没有进行特别设置,系统就会采用默认设置,以提供一种标准化的使用体验。

 MyISAM

MyISAM 是 MySQL 中的一种存储引擎,它是最早期和最广泛使用的存储引擎之一。MyISAM 以文件形式将表存储在磁盘上,并对表和索引使用不同的文件。 MyISAM 存储引擎的特点包括:

1. 轻量级:MyISAM 存储引擎具有轻量级、快速、高效的特点,适用于一些读写比较少的应用场景。

2. 支持全文检索:MyISAM 存储引擎支持自然语言全文检索,可通过 MATCH AGAINST 关键字进行检索。

3. 不支持事务:MyISAM 存储引擎不支持事务,因此无法保证数据的一致性和完整性。

4. 表锁定:MyISAM 存储引擎是基于表锁定的,这意味着在执行写操作时会锁定整个表,对于高并发的应用场景并不适用。

总之,MyISAM 存储引擎适用于读操作比较多、写操作比较少的应用场景,同时也适用于对全文检索有需求的应用。但是,在需要保证数据的一致性和并发性的应用场景中,推荐使用 InnoDB 存储引擎。

总结 

所谓的创建数据库,本质就是创建目录;所谓的创建数据库表,本质就是在特定目录下创建特定的文件。

  • 11
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wenn2kang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值