数据库中的SCHEMA到底是什么?MySQL

article/2025/10/9 0:40:46

平时在看一些数据库相关的书籍或是文档的时候总会出现这样一个词SCHEMA(模式),那这个SCHEMA到底是指什么?下面就来看看

SHCHEMA的定义

官方文档定义

Conceptually, a schema is a set of interrelated database objects, such as tables, table columns, data types of the columns, indexes, foreign keys, and so on. These objects are connected through SQL syntax, because the columns make up the tables, the foreign keys refer to tables and columns, and so on. Ideally, they are also connected logically, working together as part of a unified application or flexible framework. For example,the INFORMATION_SCHEMA and performance_schema databases use “schema” in their names to emphasize the close relationships between the tables and columns they contain.
In MySQL, physically, a schema is synonymous with a database. You can substitute the keyword SCHEMA instead of DATABASE in MySQL SQL syntax, for example using CREATE SCHEMA instead of CREATE DATABASE.
Some other database products draw a distinction. For example, in the Oracle Database product, a schema represents only a part of a database: the tables and other objects owned by a single user.
See Also database, INFORMATION_SCHEMA, Performance Schema.

摘自: https://dev.mysql.com/doc/refman/8.0/en/ . 文档最后一部分MySQL Glossary(MySQL 术语 )

野鸡翻译

从概念上讲,schema指的是一组相关联的数据库对象,这些对象包含:表、字段、字段类型、索引、外键、等等。 这些对象通过SQL语法连接,因为表是由字段组成的,外键指向表和字段等等。理想情况下,这些对象在逻辑上也是相连的,作为统一应用程序或者是灵活框架的一部分一起运作。例如,MySQL自带的“INFORMATION_SCHEMA”和“performace_schema”数据库在数据库命名时使用了“schema”这个词,目的就在于强调该数据库包含的表和字段的亲密关系。
Mysql中,从物理层角度讲,schema就是数据库的代名词。你可以用SCHEMA关键字代替DATABASE,如:使用CREATE SCHEMA代替CREATE DATABASE.
另外,不同数据对SCHEMA的定义是不一样的。例如,在Oracle中,schema仅表示数据库的一部分:单个用户拥有的表和其他对象。

SCHEMA的例子

SCHEMA代替database

使用关键字schema代替关键字database,如在查询数据库清单或者创建数据库时,如下图:

在这里插入图片描述
如上图所示,使用show databases; 和show schemas 得到的结果是一致的。
在这里插入图片描述
在这里插入图片描述
如上图可知,create database; 和create schema;效果是一致的。

MySQL中自带的performance_schema数据库和information_schema

安装Mysql后都会自带有两个数据库performance_schema和information_schema,简单介绍如下:
在这里插入图片描述

performance_schema

顾名思义:性能模式(数据库),即是该数据库包含的表和字段是用于存储MySQL中关于性能特征的信息的。这里使用schema这个词就如定义中一样是为了强调该数据库是关于性能方面。
在这里插入图片描述

information_schema

该模式(数据库)存储的是MySQL的数据字典。比如,要查询MySQL的元数据信息可以查询表INFORMATION_SCHEMA.TABLES和INFORMATION_SCHEMA.COLUMNS来获得MySQL中的表信息和字段信息。例如:
现在要查看MySQL中存储了多少张表,就可以在information_schema数据库表TABLES中进行查询

切换到information_schema,并查看TABLES表中的数据量

在这里插入图片描述
在这里插入图片描述

也就是当前整个MySQL中存储了493张表

切换到非MySQL自带数据库,删除一张表

最好不要删除MySQL自带的表,所以这里切换到用户自定义数据库,并删除1张表
在这里插入图片描述
在这里插入图片描述

验证结果,查询informaton_schema中表TABLES中的数据量

在这里插入图片描述
数据量492 = 493 -1;
减少了1条 ,符合预期。

总结

schema(模式)就是database(数据库)的代名词。
schema强调数据库中表(或其他对象)表示(存储)内容的方向。


http://chatgpt.dhexx.cn/article/46RBF8DH.shtml

相关文章

数据库中的Schema是什么?

在数据库中,schema(发音 “skee-muh” 或者“skee-mah”,中文叫模式)是数据库的组织和结构,schemas 和schemata都可以作为复数形式。模式中包含了schema对象,可以是表(table)、列(column)、数据类型(data t…

django数据库的字段新增和添加数据

通过django给数据库添加一个新的字段 控制台输入: python manage.py makemigrations common # 让 Django 知道我们在我们的模型有一些变更控制台输入: python manage.py migrate #创建表结构给数据库添加数据 from django.http import HttpResponsefrom common.models imp…

数据库添加字段

数据库添加字段 在使用数据库添加字段的时候要避免使用关键字 在SQL数据库编辑进行增删改查的时候,发现index这个字段的内容无法进行增删改查,希望大家在使用的时候就不要起那些关键字,嘿嘿,继续加油!

mysql数据库表添加字段_mysql数据库怎么给表增加一个字段?

mysql数据库给表增加一个字段的方法:可以使用“ALTER TABLE”语句来增加一个字段,语法格式“ALTER TABLE 表名 ADD 新字段名 数据类型 [约束条件];”,默认是在表的最后位置添加新字段。 mysql中数据表添加新字段 可以使用“ALTER TABLE”语句来实现,一个完整的字段包括字段…

数据库 - 字段属性

数据库 - 字段属性 主键 – 唯一键和自增长 主键 增加主键 大体分为三种增加主键的方式: 方案一: 高清图: 方案二:有多个字段作为主键可以是复合主键。 方案三: 主键约束 创建约束的目的就是保证数据的完整性和…

线上数据库增加字段导致服务请求超时总结

2019独角兽企业重金招聘Python工程师标准>>> 今天的一个需求上线需要在数据库的某个表中增加一个字段。这个数据库是服务中一个业务量比较少的数据库,与主要业务的数据库是隔离的。执行增加操作后生效比较慢,没有关注,过了一段时间…

mysql添加字段语句_mysql增加字段 mysql数据库更新字段语句

myesl是一个关系型数据库管理系统,也是目前最流行的管理系统之一,目前网页设计方面对一个系统的使用频率是比较高的,因此想要学会网页设计,那么有关myesl的基础知识以及应用就一定要掌握。而今天我们就来看一看myesl增加字段是如何…

Linux 配置 DNS服务(亲测实操),手把手教你看着一篇就够了

Linux 配置 DNS服务(亲测实操),手把手教你看着一篇就够了 DNS 简介DNS 工作过程DNS 配置文件DNS 服务搭建1)基本服务器搭建2)主从DNS服务器搭建3)缓存DNS服务器搭建4)智能DNS(分离解…

Linux 修改DNS配置

项目场景: 最近在对接百度语音合成技术(官方文档 https://ai.baidu.com/ai-doc/SPEECH/Pk38y8m7k)时,将代码放到服务器上就会报错。 问题描述 在调用百度APIhttps://aip.baidubce.com/oauth/2.0/token,获取Access To…

linux的主从DNS配置

一、dns服务器的安装 1.查看安装包的命令 rpm -qa | grep bind 2.删除bind包 rpm -e bind 3.安装dns yum install bind 4.查看安装包的命令 rpm -qa | grep bind 二、dns的服务管理 1.查看dns状态 service named status 2.启动DNS的服务 service named start 3.停止…

linux 配置 DNS 服务器用于解析本地请求

场景: 服务器要使用域名调用其他服务,为此就需要给服务器配置域名解析(DNS)。 一、配置hosts 这种形式前提是知晓对方 ip 和 域名,直接把对应关系写死在 /etc/hosts 文件中,如下: 182.92.187.…

linux设置dns简单的,Linux下的DNS简单配置

Linux下的DNS简单配置 1.安装DNS软件包。挂载redhat光盘镜像,相信大家都会,进入光盘挂载点,找到下面这几个软件包,用rpm或者yum安装,这里就不多做介绍了。 bind-9.3.4-10.P1.el5 (DNS的主安装文件) bind-chroot-9.3.4-10.P1.el5 (这个起到安全作用) caching-nameserver-9.…

Linux的DNS设置

①先查看一下对应IP的网卡,命令:ip addr ②进入网卡配置文件进行编辑, 命令:vim /etc/sysconfig/network-scripts/ifcfg-ens160 按" i "键进入插入模式,编辑添加:DNS1114.114.114.114 按"…

Linux下配置DNS正向解析

目录 要求: 一、环境配置 二、实验过程 ​编辑 三、总结 要求: 配置dns正向解析 规划: 192.168.xxx.xxx dns1.abc.com主域名服务器(注意为真实的IP) 172.16.0.253 dns2.abc.com从域名服务器 172.16.0.100 fileserver.abc.com文件服…

Linux如何配置DNS服务器

一、DNS介绍 DNS应用层协议 Domain Name System 域名系统 作用 正向解析 根据主机名解析查询对应的IP 反向解析 根据IP查询对应的主机名 DNS服务器层级的概念 1、区域的概念 正向区域 一般就是二级域名 jd.com baidu.com taobao.com 反向区域 x.x.x.in-addr.arpa 1.168…

Linux系统配置DNS服务器

配置ip地址 用vi命令编辑网卡配置文件eth0进行修改ip地址: #vi命令是一个linux自带的编辑工具类似于windows上的记事本。vi有三种模式,分别是命令模式,输入模式和底线命令模式,用vi打开一个文件时即处于命令模式,命令…

Linux之DNS服务器配置

一、安装DNS服务 1、安装DNS服务相关软件包 bind: DNS服务器软件包 bind-utils: DNS测试工具,包括dig,host与nslookup等。 bind-chroot: 使BIND运行在指定的目录中二点安全增强工具。 我们选择bind和bind-utils就够了:yum install bind bind-utils 2、B…

linux中DNS域名解析服务

目录 一、DNS 1、DNS简介 2、DNS系统的分布式数据结构 2.1 域名结构解析(简版) 2.2 域名结构解析(详细) 3、DNS系统的作用 4、DNS完整过程 5、查询方式 6、打开一个网页中间过程 7、DNS系统类型 7.1 缓存域名服务器 …

Linux下配置DNS服务

一、DNS服务简介 DNS服务器,也称为域名解析服务器,是用来将互联网上的域名解析为IP地址的一类服务器,在世界上有成百上千台DNS服务器。对于有些公司来说,对于同一个域名可能有多个DNS服务器,这样可以降低主域名服务器的…

LINUX-DNS部署 超详细

本文将按照博主部署DNS操作和心得出发 有问题的地方还请评论纠错! 这里写目录标题 DNS概述与DNS部署一、简介二、域名2.1 域名层次结构 三、DNS的正反向解析四、DNS解析流程五、DNS服务器分类六、DNS服务搭建1.配置网卡2.配置本地yum源3.进入DNS配置文件4.修改正反…