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

数据库基础(4) . 数据库结构

2.基础结构

2.1.结构及名称

数据库 database

表空间 tablespaces(Oracle)

表格 table

字段 column

记录 record

值 value

2.2.数据库 database

在配置文件中指定存放位置

# 设置mysql数据库的数据的存放目录
datadir=D:\MySQL\mysql-8.0.16-winx64\data

每个数据库对应一个文件夹

在这里插入图片描述

2.3.表格 table

每个表对应 文件夹中的 .ibd 文件

在这里插入图片描述

2.3.1.表格结构

表纵向 叫 字段 column

表横向 叫 记录 record

每行记录对应字段的内容叫 值 value

在这里插入图片描述

2.4.字段类型

2.4.1.字符串类型

字符串类型又分为文本字符串和二进制字符串

类型存储大小
* CHAR(M)M字节,1 <= M <=255
* VARCHARL+1字节, L<= M ,
TINYTEXT0-255 字节
* TEXT0-65535 字节
MEDIUMTEXT0-16,777,215 字节
LONGTEXT0-4,294,967,295 or 4GB 字节
ENUM1或2字节
TINYBLOB0-255 字节
BLOB0-65535 字节
MEDIUMBLOB0-16,777,215 字节
LONGBLOB0-4,294,967,295 or 4GB 字节

varchar(M)说明 括号内的M和INT(4)类型的限制不一样,这里M对插入数据的长度有限制,超长就会报错

2.4.2.数值类型

包括整数类型TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT、浮点小数数据类型FLOAT和DOUBLE,定点小数类型DECIMAL。

类型存储范围(有符号)无符号
TINYINT1字节-128~1270~255()
SMALLINT2字节32768~327670~65535
MEDIUMINT3字节-8388608~83886070~16777215
*INT4字节-2147483648~21474836470~4294967295
*BIGINT8字节
FLOAT4字节
*DOUBLE8字节
*DECIMAL(M,N)M+2字节

2.4.3.时间类型

包括YEAR、TIME、DATE、DATETIME和TIMESTAMP

类型日期格式范围
YEARYYYY1901-21551字节
TIMEHH:MM:SS3字节
*DATEYYYY-MM-DD3字节
*DATETIMEYYYY-MM-DD HH:MM:SS8字节
TIMESTAMPYYYY-MM-DD HH:MM:SS4字节

注意: TIMESTAMP的范围是1970年到2038年, 可以根据当前时间戳更新

TIMESTAMP与DATETIME除了存储字节和支持的范围不同外,还有一个最大的区别就是:DATETIME在存储日期数据时,按实际输入的格式存储,即输入什么就存储什么,与时区无关;而TIMESTAMP值的存储是以UTC(世界标准时间)格式保存的,存储时对当前时区进行转换,检索时再转换回当前时区。查询时,不同时区显示的时间值是不同的。

2.5.字段角色

2.5.1.主键 primary key

在当前表中这个字段的值要保证唯一, 并且不能为null

2.5.2.外键 foreign key

与另一表的唯一性字段(通常是主键)对应

2.5.3.普通字段


http://www.mrgr.cn/news/66307.html

相关文章:

  • D59【python 接口自动化学习】- python基础之异常
  • 房屋租赁管理系统的费用是多少?
  • 探索 Move 编程语言:智能合约开发的新纪元
  • 借助 Aspose.Words,使用 C# 从 Word 文档中删除页面
  • 【初阶数据结构与算法】复杂度分析练习之轮转数组(多种方法)
  • C#-类:声明类、声明类对象
  • Unity自动打包——Shell交互
  • 【C/C++】memcpy函数的使用
  • centos 6 yum安装 rabbitmq
  • 软硬链接与动静态库
  • 无需懂代码!用AI工具Bolt一键生成网站的入门指南!
  • RTX 50很快就能见面!3个月内 全家登场
  • 基于 JAVASSM(Java + Spring + Spring MVC + MyBatis)框架开发一个医院挂号系统
  • 90%会展主办方都会用的6款数字化工具
  • 基于 JAVASSM(Java + Spring + Spring MVC + MyBatis)框架开发一个九宫格日志系统
  • Flutter 正在切换成 Monorepo 和支持 workspaces
  • 【Classifier Guidance/Classifier-free Guidance】理论推导与代码实现
  • 『VUE』19. scope避免组件之间样式互相覆盖(详细图文注释)
  • MATLAB - ROS 2 分析器
  • 欢迎使用Markdown编辑器
  • GaussDB高智能--库内AI引擎:模型管理数据集管理
  • 省级-社会保障水平数据(2007-2022年)
  • 视频编辑学习笔记
  • “大跳水”的全新奥迪A3,精准狙击年轻人的心
  • 【NOIP普及组】明明的随机数
  • 华为HarmonyOS借助AR引擎帮助应用实现虚拟与现实交互的能力3-获取设备位姿