数据库管理
对表的管理
创建表
这里有一个关于创建 "users" 表的例子:
create table users (
id serial primary key, -- id 自动递增
name character varying, -- 指定字符串输出长度大小
preferences jsonb, -- 字段类型为JSON非常适合存储非结构化的数据
created_at timestamp without time zone -- 始终以UTC格式存储时间
);
你也有机会指定非空约束和默认值:
create table users (
id serial primary key,
name character varying not null,
active boolean default true
);
删除表
drop table funky_users;
重命名表
alter table events rename to events_backup;
清空表
要非常小心这段代码,它会清空 PosgreSQL 表中的所有内容,在开发中很有用处,但是它很少想在生产环境中应用。
truncate my_table;
如果你又一个序列ID列,并且你想重启它的序列(既重启ID重1开始)
truncate my_table restart identity;
复制表
有时候表的复制对你很有用:
create table dupe_users as (select * from users);
-- 这个 'with no data' 意思是只有结构,没有实际的行
create table dupe_users as (select * from users) with no data;
添加列
这里有一个例子关于在 users 表中添加 created_at 时间戳列:
alter table users add column created_at timestamp without time zone;
添加一个 String ( varchar ) 类型并且设置非空约束的列:
alter table users add column bio string character varying not null;
添加一个 Boolean 类型并且设置默认值的列:
alter table users add column active boolean default true;
Last updated