前言
本系列文章会带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。 本系列教程由浅入深, 全面讲解数据库体系,非常适合零基础的小伙伴来学习。
全文大约 【1466】字,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考
一. 什么是数据库
1. 数据库软件MDBS(数据库管理系统)
在上节课教大家从MySQL官网下载并且安装的mysql-installer-community-5.7.28.0.msi就是数据库软件MDBS。它安装在操作系统上并且运行, 是用来管理数据库(DataBase)的软件。
2. 数据库(DataBase)
数据库是保存有组织数据的容器,也是存储数据的仓库,所有的表都放在数据库中。
我们通常讲的数据库就是这个, 而不是数据库软件。
3. 表(Table)
某种特定类型的结构化清单,数据库中的每一个表的名字都是唯一的。相同的数据库中不能两次使用相同的表名,不同的数据库中可以使用相同的表名。通俗的讲表就是有行有列以表格形式, 也就是二维表形式进行组织存储数据。
表有行和列组成,列中存储着表中某部分的信息
3.1 列(Column)
表中的某一个字段,所有表都是由一个或多个列组成的。数据库中每个列都有相应的数据类型。
3.2 行(Row)
表中的一个记录,表中的数据都是按行存储的,垂直的列为表列,水平行为表行。
二. 数据类型(DataType)
所容许的数据的类型,数据库中每个列都有相应的数据类型。不同数据类型的列,存储不同格式的数据。
MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。对于我们约束数据的类型有很大的帮助。
1. 数值类型
类型 | 大小 | 范围(有符号) | 范围(无符号) | 用途 |
INT | 4 字节 | (-2 147 483 648,2 147 483 647) | (0,4 294 967 295) | 大整数值 |
DOUBLE | 8 字节 | (-1.797E+308,-2.22E-308) | (0,2.22E-308,1.797E+308) | 双精度浮点数值 |
DOUBLE(M,D) | 8个字节,M表示长度,D表示小数位数 | 同上,受M和D的约束 DOUBLE(5,2) -999.99-999.99 | 同上,受M和D的约束 | 双精度浮点数值 |
DECIMAL(M,D) | DECIMAL(M,D) | 依赖于M和D的值,M最大值为65 | 依赖于M和D的值,M最大值为65 | 小数值 |
2. 日期类型
类型 | 大小 | 范围 | 格式 | 用途 |
DATE | 3 | 1000-01-01/9999-12-31 | YYYY-MM-DD | 日期值 |
TIME | 3 | '-838:59:59'/'838:59:59' | HH:MM:SS | 时间值或持续时间 |
YEAR | 1 | 1901/2155 | YYYY | 年份值 |
DATETIME | 8 | 1000-01-01 00:00:00/9999-12-31 23:59:59 | YYYY-MM-DD HH:MM:SS | 混合日期和时间值 |
TIMESTAMP | 4 | 1970-01-01 00:00:00/2038 结束时间是第 2147483647 秒北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07 | YYYYMMDD HHMMSS | 混合日期和时间值,时间戳 |
3. 字符串类型
类型 | 大小 | 用途 |
CHAR | 0-255字符 | 定长字符串 char(10) 10个字符 |
VARCHAR | 0-65535 字节 | 变长字符串 varchar(10) 10个字符 |
BLOB(binary large object) | 0-65535字节 | 二进制形式的长文本数据 |
TEXT | 0-65535字节 | 长文本数据 |
● CHAR和VARCHAR类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
● BLOB是一个二进制大对象,可以容纳可变数量的数据。有4种BLOB类型:TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB。它们只是可容纳值的最大长度不同。
四. 结语
最后我们简明扼要的总结一下本文的核心要点:
1. 数据库 : 存放数据的仓库。
2. 表 : 就是以表格形式存放数据, 有行有列。
3. 行 : 表中的每一条数据都是一行。
4. 列 : 表中的某一个字段,所有表都是由一个或多个列组成的。
5. 数据类型 : 在设计表的列名的时候, 都要指定存储数据的类型。有字符串, 日期, 数值三大类型。
如果有其他问题可以给我们留言,欢迎大家讨论交流~