PostgreSql基本操作

2019-10-01  本文已影响0人  nnnnzyx

PostgreSql安装

简单数据库操作

psql -l # 查看数据库
createdb demo # 创建数据库
psql demo # 切换数据库
dropdb demo
help
select now();
select version();
# 创建表
create table posts(title varchar(255), content text);
\dt;
\d posts;
alter table posts rename to postsdemo;
drop table postsdemo;

# 编写.sql文件
psql demo
\i db.sql # 导入sql
create table posts (
    id serial primary key,
    title varchar(255) not null,
    content text check(length(content) > 8),
    is_draft boolean default TRUE,
    is_del boolean default FALSE,
    created_date timestamp default 'now'
);

insert into posts (title, content) values ('', '');
insert into posts (title, content) values (NULL, '');
insert into posts (title, content) values ('title1', 'content11');
select * from posts;
insert into posts (title, content) values ('title2', 'content2');
insert into posts (title, content) values ('title3', 'content3');
select * from posts;
create table users (
    id serial primary key,
    player varchar(255) not null,
    score real,
    team varchar(255)
);

insert into users (player, score, team) values
('阿A', 28.3, '勇士'),
('阿B', 30.2, '勇士'),
('阿C', 35.6, '勇士'),
('阿D', 27.8, '勇士'),
('阿E', 31.3, '勇士'),
('阿F', 19.8, '勇士');

# 不能用双引号括嘴外层
select * from users where player like '阿_'; # '_'表示一个数据
select * from users where player like '阿%';
select * from users order by score desc limit 3 offset 3;
select distinct team from user;
select team, max(score) from users group by team having max(score) >= 25 order by max(score);

# 方便的函数
length
concat
alias
substring
random

update users set score = 29.1 where ...
delete from user where ...

alter table users add fullname varchar(255);
alter table users drop fullname;
alter table users rename player to nba_player;
alter table users alter nba_player type varchar(100);
create index nba_player_index on users(nba_player);
drop index nba_player_index;

begin;
commit;
rollback;

字段类型

更多详情查看官网

上一篇 下一篇

猜你喜欢

热点阅读