数据库基础知识与MySql 数据类型
数据库
1)概念
数据库是按照数据结构来组织、存储和管理数据的仓库。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
简单点来说,数据库就是一个保存数据的容器。
2)分类
数据库分为关系性数据库和非关系性数据库:
常见的关系型数据库:SQL、MySQL、Oracle、DB2、SQLite等
常见的非关系型数据库:MongoDB、Redis等
3)区别
目前理解还不是很深刻,待更新
4)注意
大家平时经常用数据库来代表自己使用的数据库软件,但事实上,数据库软件应该称之为数据库管理系统*。
常用术语
1)表 (table)
定义:一种结构化的文件(清单),用来存储特定类型的数据。
特点:存储在一个表中的数据,所属类型都是相同的,或者就是一个清单;
另外,每个表都有名字且标明是唯一的,同一个数据库中不能出现同时两个相同的表名。
2)列
表中的一个字段,所有的表都是由一个或多个列组成。
3)数据类型
每个表、列都有规定的数据类型,它限制了改列中存储的数据。
同时,根据数据类型,可以进行正确的排序,优化磁盘使用。
4)行
表中的数据是按行存储的,行是表中的一个记录
4)主键
定义:一列(或一组列),它的值是能够唯一区分表中的每行
如何成为主键?
表中的任何列都有可能成为主键,但是成为主键它还需要满足以下条件:
- 任意两行都不具有相同的主键
- 每个列都必须有一个主键,且值不能为NULL
- 主键的值不能被随意修改
- 主键的值不能被复用,也就是如果某行被删除,则这行的主键不能再赋值给新航
5)关键字
不能使用关键字命名表名或列名。
举个栗子
MySql 数据类型
MySql支持的数据类型大致可以分为三类:数值、日期/时间和字符串
数值类型
数值类型可以大致分为两类:整型和浮点型
整型
类型 | 大小(字节) | 范围 |
---|---|---|
TINYINT | 1 | (-128,127) |
SMALLINT | 2 | (-32768,32767) |
INT(INTEGER) | 4 | |
BIGINT | 8 |
浮点型
类型 | 大小(字节) | 范围 |
---|---|---|
FLOAT | 4 | |
DOUBLE | 8 |
日期和时间
类型 | 大小(字节) | 格式 |
---|---|---|
DATE | 3 | YYYY-MM-DD |
TIME | 3 | HH:MM:SS |
YEAR | 1 | YYYY |
DATETIME | 8 | YYYY-MM-DD HH:MM:SS |
字符串类型
类型 | 大小(字节) | 用途 |
---|---|---|
CHAR | 0-255 | 定长字符串 |
TEXT | 0-65535 | 长文本 |
BLOG | 0-65535 | 二进制形式的长文本 |
VARCHAR | 0-65535 | 变长字符串 |