数据库基础(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.普通字段

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值