结构化查询语言之 SQL 数据类型与索引创建(以 MySQL 为例)

1. 基本数据类型

  • char(n):固定长度的字符串,用户指定长度n;
  • varchar(n):可变长度字符串,用户指定最大长度为n;
  • int:整数类型,等价于全称integer;
  • smallint:小整数类型;
  • bigint:大整数类型;
  • numeric(p,d):定点数,精度由用户指定(p:代表数含p位数字(加上符号位),其中d位数字在小数点右边);
  • double:双精度浮点数;
  • float:单精度浮点数;
      需要注意的是,charcharvar的区别;

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值