PostgreSQL基本使用(2)数据库表操作

创建表时,每一列都必须使用数据类型。
PostgreSQL 中主要有三类数据类型:

  • 数值数据类型
  • 字符串数据类型
  • 日期/时间数据类型

数据类型

数值

常见数值类型包括:

名字存储长度描述范围
smallint2字节小范围整数-32768 到 +32767
integer4字节常用的整数-2147483648 到 +2147483647
bigint8字节大范围整数-9223372036854775808 到 +922337203685477580
decimal可变长用户指定的精度,精确小数点前131072 位;小数点后 16383 位
numeric可变长用户指定的精度,精确小数点前 131072 位;小数点后 16383 位
real4字节可变精度,不精确6 位十进制数字精度
double8字节可变精度,不精确15 位十进制数字精度

字符串类型

  • char(size),character(size):固定长度字符串,size 规定了需存储的字符数,由右边的空格补齐;
  • varchar(size),character varying(size):可变长度字符串,size 规定了需存储的字符数;
  • text:可变长度字符串

日期/时间

表示日期或时间的数据类型有:

  • timestamp:日期和时间
  • date:日期,无时间
  • time:时间
    其他数据类型还有布尔值 boolean(true或false),货币数额 money 和几何数据等。

表基础操作

创建表

-- 创建的表 ID 是主键且自增
mydb=# create table tb_test(id serial primary key, note varchar(200));
CREATE TABLE
mydb=# 

PostgreSQL 使用序列来标识字段的增长,数据类型有 smallserial、serial 和 bigserial。这些属性类似于 MySQL 数据库支持的 AUTO_INCREMENT 属性。
smallserial、serial 和 bigserial 范围:

伪类型存储大小范围
smallserial2字节1 到 32,767
serial4字节1 到 2,147,483,647
bigserial8字节1 到 922,337,2036,854,775,807

添加数据

往创建的 tb_test 表中,添加一条记录

mydb=# insert into tb_test(note) values('这是一个笔记...');
INSERT 0 1
mydb=# 

查询表数据

查看 tb_test 表中,当前有哪些数据

mydb=# 
mydb=# select * from tb_test;
 id |      note       
----+-----------------
  1 | 这是一个笔记...
(1 row)

mydb=# 

删除表数据

删除表数据SQL如下:

-- 删除之前,查询当前表中的数据
mydb=# select * from tb_test;
 id |         note         
----+----------------------
  1 | 这是一个笔记...
  2 | 这是一个笔记...2222 
  3 | 这是一个笔记...3333 
(3 rows)

mydb=# -- 删除表中的数据.
mydb=# delete from tb_test where id = 2;
DELETE 1
mydb=# 
mydb=# -- 删除之后,查看表中的数据
mydb=# select * from tb_test;
 id |         note         
----+----------------------
  1 | 这是一个笔记...
  3 | 这是一个笔记...3333 
(2 rows)

mydb=# 

查看表结构

可以查看 tb_test 表的结构,使用 \d ,类似 MySQL数据库 中的 desc

mydb=# \d tb_test
                                 Table "public.tb_test"
 Column |          Type          |                      Modifiers                       
--------+------------------------+------------------------------------------------------
 id     | integer                | not null default nextval('tb_test_id_seq'::regclass)
 note   | character varying(200) | 
Indexes:
    "tb_test_pkey" PRIMARY KEY, btree (id)

mydb=# 
mydb=# 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值