postgresql笔记012—数据定义以及表的基本概念

数据定义

在关系型数据库中,裸数据是存储在表中的。
表中存储的数据有什么特性。
表如何组织层模式?
如何给表赋予权限。
影响数据存储的其他因素,有继承,视图,函数,触发器。
这些都需要我们去理解。

表的基本概念

关系型数据库中的表类似我们的Excel,他是由行和列组成的。字段的树木和顺序是固定的,每个字段都有一个名字。行的数组是变化的。sql对表中行的顺序没有任何承诺。当读取一个表时,行将会以一个未指定的顺序出现,除非你明确的要求排序。另外,sql并不给行赋予唯一的标识,因此我们很可能在一个表中有好几个完全相同的行。

每个字段都有一个数据类型。数据类型控制着一个字段所有可能值的集合,并且控制着字段中数据的语义,这样它就可以用于计算。比如,一个声明为数值类型的字段,不会接受任意文本字符串,而存储在这种字段里的数据可以用于数学计算。相比之下,一个声明为字符串类型的字段,接受几乎任意类型的数据,但是它们不能进行进行数学计算。

postgresql包含一套可剪裁的内置数据类型,这些类型可以适用于许多应用。用户也可以定义它们的数据类型。大多数内置的数据类型有显而易见的名字和语义。

常用的数据类型有:
用于整数的integer,
用于可能为分数的numeric,
用于自妇产的text,
用于日期的date,
用于时间的time,
用于时间戳的timestamp。

要创建一个表,可以使用create table命令。在这个命令中,我们至少要为新表声明一个名字,还有各个字段的名字以及其数据类型。
案例:

create table my_first_table(
	fist_column text,
	second_column integer
);

如上sql,创建了一个有两个字段,名为my_first_table的表。第一个字段的名称是first_column,数据类型是text,…,类型名通常也是标识符,注意字段列表是逗号分隔的,并且用圆括号包围。

通常我们会根据需求来给表中的字段取有意义的名字,用以表达他们存储的什么类型的数据。
案例:

create table products(
	product_no integer,
	name text,
	price numeric
);

其中numeric类型可以存储分数部分,金额很可能有这样的分数部分。

注意:当我们在创建多个相互关联的表时,最好为表和字段选择一直的命名模式,比如表名字可以统一选择单数,或者复数。

当我们不在需要某张表时,可以通过drop table 命令删除它。
案例:

drop table my_first_table;
drop table products;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值