目录

PostgreSQL

1. 安装

$ sudo apt-get install postgresql-client
$ sudo apt-get install postgresql
$ sudo apt-get install pgadmin3 # 图形管理界面

# xproject 数据库名
# root 用户名
$ sudo -u postgres createuser --superuser root
$ sudo -u postgres createdb -O root xproject # 创建数据库
$ sudo -u postgres psql # 用 postgres 管理用户登录
\password root  # 设置密码
\q

登录控制台后:

$ psql -U root -d xproject -h 127.0.0.1 -p 5432 # 登录控制台
$ psql -U root -d xproject -h 127.0.0.1 -p 5432 < run.sql # 执行sql文件
xproject=# \conninfo
You are connected to database "xproject" as user "root" on host "127.0.0.1" at port "5432".
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, bits: 256, compression: off)

控制台命令:

\h:查看SQL命令的解释,比如 \h select
\?:查看psql命令列表
\l:列出所有数据库
\c [database_name]:连接其他数据库
\d:列出当前数据库的所有表格
\d [table_name]:列出某一张表格的结构
\du:列出所有用户
\e:打开文本编辑器
\conninfo:列出当前数据库和连接的信息

2. 常见操作

控制台下:

xproject=# CREATE TABLE user_tbl(name varchar(255), signup_date DATE); # 创建新表
CREATE TABLE

xproject=# \d # 列出当前数据库的所有表格
 public | user_tbl | table | root
 
xproject=# \d user_tbl # 列出某一张表格的结构
 name        | character varying(255) |           |          | 
 signup_date | date                   |           |          | 

xproject=# INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22'); # # 插入数据
INSERT 0 1

xproject=# SELECT * FROM user_tbl; # 选择记录
 张三 | 2013-12-22

xproject=# UPDATE user_tbl set name = '李四' WHERE name = '张三'; # 更新数据
UPDATE 1

xproject=# DELETE FROM user_tbl WHERE name = '李四' ; # 删除记录
DELETE 1

xproject=# ALTER TABLE user_tbl ADD email VARCHAR(40); # 添加栏位
ALTER TABLE

xproject=# ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL; # 更新结构
ALTER TABLE

xproject=# ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; # 更名栏位
ALTER TABLE

xproject=# \d user_tbl;
 name   | character varying(255) |           |          | 
 signup | date                   |           | not null | 
 email  | character varying(40)  |           |          | 

xproject=# ALTER TABLE user_tbl DROP COLUMN email; # 删除栏位
ALTER TABLE

xproject=# ALTER TABLE user_tbl RENAME TO backup_tbl; # 表格更名
ALTER TABLE

xproject=# \d
public | backup_tbl | table | root

xproject=# DROP TABLE IF EXISTS backup_tbl; # 删除表格
DROP TABLE

xproject=# \d
Did not find any relations.