参考:
PostgreSQL 10.1 手册: https://www.runoob.com/manual/PostgreSQL/index.html
PostgreSQL 教程: https://www.runoob.com/postgresql/postgresql-tutorial.html
安装:https://www.runoob.com/postgresql/linux-install-postgresql.html
持续更新中…
1. cmd命令
1. 切换数据库用户postgres
sudo -i -u postgres
2. 进入数据库
psql -U alpha -d gotest -h 127.0.0.1
psql常用参数说明
- -h, --host=主机名 数据库服务器主机或socket目录
- -p, --port=端口 数据库服务器的端口(默认:“5432”)
- -U, --username=用户名 指定数据库用户名(默认:“postgres”)
- -w, --no-password 永远不提示输入口令
- -W, --password 强制口令提示 (自动)
- -c,–command=命令 执行单一命令(SQL或内部指令)然后结束
- -d, --dbname=数据库名称 指定要连接的数据库 (默认:“postgres”)
- -f, --file=文件名 从文件中执行命令然后退出
- -l, --list 列出所有可用的数据库,然后退出
- -V, --version 输出版本信息, 然后退出
- -X, --no-psqlrc 不读取启动文档(~/.psqlrc)
- -?, --help[=options] 显示此帮助,然后退出
–help=commands 列出反斜线命令,然后退出
–help=variables 列出特殊变量,然后退出
2. postgre命令
进入postgre数据库后会显示如下
dbname=>
此时可以使用postgre的命令 这里只列举部分常用命令
其他命令具体可用第一条查看
-
?
列出所有命令说明 -
\l
列出所有的数据库 相当于mysql的show databases -
\c dbname
切换数据库,相当于mysql的use dbname -
\d
列出当前数据库中的所有表 -
\d tablename
查看表结构,相当于desc tblname,show columns from tbname -
\dt
列举数据表,相当于mysql的show tables -
\di
列出所有索引 -
\ds
列出所有序列表 -
\df
列出所有函数列表 -
\du
列出所有角色列表 -
\d+
列出大小描述等详细信息 +可加在所有显示类型的命令后 -
\timing
切换命令计时开关 -
\q
退出psql -
\encoding [编码名称]
显示或设定客户端编码
- \password username
为用户更改密码
3.sql语句
sql语句比较通用
1. 增
- create database [dbname];
创建数据库 - create table tablename(字段说明);
创建一个表 - insert into tablename ([字段名A],[字段名B],…) values ([列A的值],[列B的值],…);
在表中插入数据
2. 删
- drop database [dbname]
删除数据库 - drop table [tablename]
删除一个表 - delete from [tablename ];
删除整个表 - delete from [tablename ] where [该行特征];
删除某条数据
3. 改
- alter table [tableA] rename to [tableA]
重命名一个表 - alter table [tablename] add column [字段名] [类型]
在已有的表里添加字段 - alter table [tablename] drop column [字段名]
删除表中的字段 - alter table [tablename] rename column [字段名A] to [字段名B]
重命名一个字段 - alter table [tablename] alter column [字段名] set default [新的默认值];
给一个字段设置缺省值 - alter table [tablename] alter column [字段名] drop default;
去除缺省值 - update [tablename ] set [目标字段名]=[目标值] where [数据特征];
更新表中某条数据
4. 查
- select* from table_name;
查询某张表