rocky9-MySQL概念篇

数据库概念:

1. 数据库概念

数据库是一个长期存储在计算机中的,有组织有共享的统一管理数据的集合(存储数据的仓库),他可以有效的管理存储在数据库中的数据。

数据库

|

|

        数据表

            |

            |

列   字段   ---类型(int char )  

行   记录

2. 什么是表

在关系数据库中,数据库采用二维表格的方式来存放数据,他们是由纵向的列和横向的行组成的,列被称为字段,行被称之为记录,每一个列表示着一个记录的属性,都有相应描述信息,例如: 数据类型,数据的长度 。。。。

3. 数据类型

数据类型决定了数据在计算机中存储的格式,代理不同的信息类型,常见的数据类型有: 整数型,浮点数类型,精确小数类型,二进制数据类型,字符串类型,日期和时间数据类型,几何数据类型。。。。 表中的每个字段就是某种指定的数据类型。

4. 数据库系统

由三部分组成

数据库:用于存放数据的地方,提供了一个存储空间可以存放各种数据,可以将数据视为一个存放数据的容器,一个数据库中可能包含多个文件,一个数据库系统中也可能包含多个数据库

数据库管理系统:用于管理数据库的软件,用于创建,管理和维护数据库时使用的软件,位于用户和操作系统之间,对数据库进行统一管理,能够定义数据库的存储结构,提供数据库的操作机制,维护数据库的安全性,完整性和可靠性。

数据库应用程序:为了提高数据库系统的处理能力,是管理数据的软件的补充,虽然有了数据库管理系统但是在很多情况下,仍然无法满足对数据库管理的要求,数据库应用程序的使用满足了对数据库管理的更高要求,还可以使数据库更加的直观,数据库应用程序负责与数据库管理系统进行通讯,访问和管理数据库系统中存放的数据,允许用户输入,修改或者删除数据库中的数据。

5. Mysql的优势

1. 速度:运行速度比较快

2. 价格:mysql对于多数人来说是免费的

3. 容易使用:与其他大型数据库的设置和管理程度相比,复杂程度较低,容易学习

4. 可移植性:能够在众多不同的平台上进行工作,例如 linux windows 。。。

5. 丰富的接口: 提供了c,c++,php,python

6. 支持查询语言:mysql可以使用标准的sql语句

7. 安全性和连续性:十分灵活和安全的权限和密码系统,允许基于主机的验证,连接到服务器,所有密码传输均采用加密的形式,从而保证密码的安全性,并且mysql是网络化的,因此可以在网络上的任何地方进行访问,提高了数据的共享效率。

6. Sql语句

对数据库进行查询和修改操作的语句都可以叫做sql语句(结构化查询语句)

1, 数据库定义语言(DDL): DROP CREATE ALTER......

2, 数据库操作语言(DML): INSERT UPDATE DELETE....

3, 数据库查询语言(DQL):SELECT ...

4, 数据库控制语言(DCL): GRANT REVOKE COMMIT...

在安装好mysql库后,系统会自动创建出初始库,不同的库存放着不同功能的数据表

 查看所有的库

mysql> show databases;

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

| Database           |

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

| information_schema |

| mysql              |

| performance_schema |

| sys                |

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

Mysql库#存放关于mysql服务器系统的级别信息和配置

      包含了关于用户,权限和访问控制的表,用于管理用户和控制用户的访问权限

      包含了重要的数据表,例如: user db tables_priv columns_priv ..... 用于存储用户,数据库,表级别的权限信息列级别的权限信息

information_schema#提供了对mysql数据库系统,元数据的访问

      包含了关于数据库,表,列,索引,约束,函数,触发器等的信息

      在查询information_schema库中表,可以获取有关于数据库对象的详细信息

performance_schema #提供了关于数据库性能和资源使用情况的详细信息。

      包含了性能相关的统计数据和指标,例如,查询计数,IO操作

      可以使用performance_schema 库来分析和优化数据库的性能

Sys#是一个存储过程的函数的集合,用于提供mysql数据库的信息监控和诊断功能

      包含了一组视图和函数用于获取performance_schema 和information_schema 库中的性能数据,并且以更方便的形式进行查询

7、数据库存储引擎

数据库存储引擎是数据库的底层组件,数据库管理系统使用的数据库存储引擎进程创建,删除,查询和更新数据库的操作,不同的数据库引擎提供不同的存储机制,索引技巧,锁定水平功能,使用不同的存储引擎可以获取特定的功能。

常见的搜索引擎:innoDB  Memory  MyISAM  CSV ....

查看数据库引擎的命令

show engines;

查看默认使用的搜索引擎

show variables like "%storage_engine";

 

常用的存储引擎的特点以及适用场景

 MyISAM #在mysql5.5版本之前默认使用的存储引擎,在mysql5.5 之后改为使用了InnoDB存储引擎

 MyISAM存储引擎 #读取速度比较快,占用资源相对较少,不支持事务,不支持外键约束,但是支持全文索引。

使用场景

适用于并发相对较低,数据修改较少的业务。

硬件资源比较差的机器可以考虑使用 MyISAM存储引擎

innoDB存储引擎

事务类型数据库首选的数据引擎,支持事务,安全表,支持行锁定和外键约束。

具有提交和回滚崩溃恢复能力的事务安全存储引擎

具有较高效率的存储特性,能够缓存索引,也能够转换数据,对硬件资源的要求较高。

使用innoDB存储引擎是将在mysql数据目录下创建一个名为ibdata的自动扩展数据文件以及名为ib_logifile()和ib_logfile1的日志文件。

innoDB适用场景

需要事务支持的业务,高并发业务

数据更新比较频繁的业务

数据一致性比较高的业务

MyISAM拥有较高的插入、查询速度,但不支持事务,不支持外键。如果表主要是用于插入新记录和读出记录,那么选择MyISAM能实现处理高效率。如果应用的完整性、并发性要求比较低,也可以使用。

它不支持事务处理,但读取速度较快,并且通常占用较少的磁盘空间。如果表主要被用于读取操作,并且可以接受偶尔的数据损坏或丢失(例如,在突然的服务器故障中),那么MyISAM可能是一个好选择。

MyISAM表是独立于操作系统的,可以轻松地将其从Windows服务器移植到Linux服务器。

InnoDB行级锁,提供了具有提交、回滚和崩溃回复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是MyISAM的2.5倍,处理效率相对会差一些1。

这是MySQL的默认存储引擎。它支持事务处理、行级锁定和外键约束,通常用于需要高并发写入和数据一致性的场景。

Memory将表中的数据存储到内存中,为查询和引用其他表数据提供快速访问。所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,对数据的安全性要求较低,可以选择Memory。

此存储引擎将表存储在内存中,所以查询速度非常快。但是,当MySQL服务器停止时,数据会丢失。此存储引擎适用于临时表或不需要持久保存的数据

Archive:这是一个用于存储归档数据的存储引擎。它只支持插入和查询操作,不支持更新和删除操作。它使用gzip算法进行行级压缩,节省了磁盘空间。

CSV存储引擎:

将数据以逗号分隔的文本文件形式存储在磁盘上。

不支持事务处理、行级锁定和索引。数据修改后需要刷新表。不支持外键约束和触发器。

8、完整性和约束条件

主键约束:(primary key)

非空约束(not null)

唯一约束(unique)

自增约束(auto_increment)

默认值约束(default)

外键约束(foreign key)

  • 23
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值