一.数据表( )
- 数据表是数据库中最基本的用于存储数据的对象,可以认为数据表是以行和列组成的二维表格,通常把行称为记录,列称为字段。
- SQL中的常用数据类型
-
字符型数据:大小写字母,数字,空白符(空格符,制表符,换行符),
标点,特殊字符与汉字
注意:
(1) 空白字符仅在字符串常量中有意义,在其他地方出现时,只起间隔作用,编译器会自动忽略,仅增加可读性.
(2) 字符型数据都被放在’ ’ 内部,如’home’,‘张三’,‘123456’,'123_&&%*'都是字符型数据,每个字符型数据都有长度,长度是字符个数(汉字每个字长度为2)
-
数字型数据:可以是0-9数字,可以正负符号与小数点,也可以浮点形式的科学计数法。如100,23.988,-123,3.46E+03
注意:
(1) 对于数字若没有界定符’'则是数字型数据,有界定符如’1222’则是字符型数据
(2) 在具体的数据库中,数字型数据往往被分为整数型,浮点型,货币型等数据。
-
日期时间数据:如2018-1-1 12:40:32 2018年8月1日 01/JAN/2018等形式
-
二进制数据:用于保存图形图像,动画视频及其他类型文件,如sql server提供的image数据类型,mysql中的blob数据类型等等
-
自定义数据类型:create type(但不是所有数据库都支持)
- 具体数据库中使用的数据类型
(1)Mysql的数据类型
字符类型:
char(M):保存定长的字符串,M表示最大长度范围1-255,当输入的字符串小于M时,在数据库系统中使用空格补齐,但在取出时将末尾空格去掉
varchar(M):保存变长的字符串
blob:存储二进制文本数据,不超过65535个字节
tinyblob:保存二进制文本数据,不超过255个字节
mediumblob:保存二进制文本数据,不超过16777215个字节
longblob:不超过4294967295字节
text:保存长文本数据。不超过65535个字节
tinytext:保存长文本数据,不超过255个字节
mediumtext:保存文本数据,不超过16777215个字节
longtext:保存文本数据,不超过4294967295字节
(2) 数值类型:
int或integer:占用四个字节,存放-2147483648~2147483647之间的正负整数
tinyint:占用一个字节,存放-128-127之间的正负整数
tinyint unsigned:0~255
float:占用四个字节
double:占用八个字节
numeric(M,D):M是整个数字的宽度(包括小数点及小数点左右的位数,不包括正负
号)D是小数点右边的位数,这是一种由M和D决定的数据类型。
(3) 日期与时间类型
date类型:占用三个字节空间,存储日期类型。
输入格式YYYY-MM-DD,如2023-3-2
datetime类型:占用八个字节空间,存储日期和时间类型。
输入格式YYYY-MM-DD HH:MM:SS
time类型:占用三个字节,存储时间类型。
输入格式HH:MM:SS
year类型:占用一个字节,存储年份数据。
输入格式YYYY
timestamp类型:占用八个字节,
输入格式YYYY-MM-DD HH:MM:SS
(2)Sqlite3的数据类型
- NULL 值是一个 NULL 值。
- INTEGER 值是一个带符号的整数,根据值的大小存储在 1、2、3、4、6 或 8 字节- 中。
- REAL 值是一个浮点值,存储为 8 字节的 IEEE 浮点数字。
- TEXT 值是一个文本字符串,使用数据库编码(UTF-8、UTF-16BE 或 UTF-16LE)存储。
- BLOB 值是一个 blob 数据,完全根据它的输入存储。
其中时间类型被存储为以下三种格式
TEXT 格式为 “YYYY-MM-DD HH:MM:SS.SSS” 的日期。
REAL 从公元前 4714 年 11 月 24 日格林尼治时间的正午开始算起的天数。
INTEGER 从 1970-01-01 00:00:00 UTC 算起的秒数。
- 数据表基础
一个数据表由表结构和其内的数据组成
- 表结构主要为表名,字段名,字段的数据类型,字段的大小,另外也有如字段约束,表约束等(可选项)
- 其内的数据即记录,要求每个字段中的数据必须是相同的数据类型
-
表的逻辑设计
E-R模型图完成逻辑设计,是关系模式设计合理,减少冗余,提高查询效率
任务:确定数据依赖,消除冗余关系,确定范式级别等
(暂时用不到,后续补充…)
-
表的索引
大型数据库最主要的对象,用途减少定位和查询数据所需的IO操作,加快数据库查询速度,但一般只有大型数据库管理者才会使用索引,小型数据库用途不大。
举个例子:索引就相当书的页码,一个字一个字的查某行必然不如直接索引到某一页再查速度快。
(暂时用不到,后续补充…)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)