1. 基本数据类型
char
(n):固定长度的字符串,用户指定长度n;varchar
(n):可变长度字符串,用户指定最大长度为n;int
:整数类型,等价于全称integer;smallint
:小整数类型;bigint
:大整数类型;numeric
(p,d):定点数,精度由用户指定(p:代表数含p位数字(加上符号位),其中d位数字在小数点右边);double
:双精度浮点数;float
:单精度浮点数;
需要注意的是,char
与charvar
的区别;
2. 日期和时间类型
date
:日历日期,包括年、月、日yyyy-mm-dd
time
:时间,包括小时、分钟、秒hh:mm:ss
- 可以使用**time(p)**表示秒的小数点后的数字位数(默认为0);
timestamp
:时间戳,date 和 time 的组合- 可以使用
timestamp(p)
表示秒的小数点的数字位数(默认为6);
- 可以使用
- datetime:日期&时间
为属性指定默认值:
create table student
(ID varchar(5),
name varchar(20) not null,
dept_name varchar(20),
tot_cred numeric(3,0) default 0,
primary key(ID)
)
由于tot-credit的值默认值被声明为0,插入student元祖时可省略该属性的值:
insert into student(ID,name,dept_name) values('12789','Newman','Comp.Sci.')
3. 大对象(Large Object)类型
blob
:二进制形式的长文本数据text
:字符形式的长文本数据- and so on
1&2&3 详细移步 MySQL 数据类型
附:索引创建
- 在关系的属性上所创建的索引是一种数据结构,它允许数据库系统高效的找到关系中那些在索引属性上取给定值的元祖,而不用扫描关系中的所有元祖;
- 如果用户提交的
SQL
查询可以从索引中获益,那么SQL
查询处理器就会自动使用索引; - create index student_id_index on student(ID);
References:
[1] Abraham Silberschatz, Henry F Korth, S Sudarshan. Database System Concepts. New York: McGraw-Hill, 2010
Database System Concepts