004 命令行登录操作postgresql数据库

pgAdmin需要本机或远程机器带界面的系统可以更好的支持,难免需要使用命令行,进行数据库的简单操作。

1. psql登录数据库
  • 本地数据库
sudo -u postgres psql
#PostgreSQL默认会创建一个postgres的数据库用户作为数据库的管理员
  • 远程数据库
su root
su postgres
# 登录格式:psql -h ip地址 -p <端口> [数据库名称] [用户名称]
psql -h 218.150.110.120 -5438 fielddata_road postgres
2. psql常用命令说明
\q  # 退出psql客户端
\l  #列出所有的数据库
\c database_name # 连接到指定的数据库
\d  # 列出当前连接的数据库下的所有表名称
\d table_name # 显示指定表的表结构信息
\?  # 列出所有sql的命令列表
\h sql # 查看sql命令的解释,如\h select 
3. 修改默认管理员帐号的密码
sudo -u postgres psql
postgres='# alter user postgres with password '123456';  # 将密码修改为123456
4. 常用sql命令

注意:如果执行以下带分号的sql语句报错时,先执行语句,再执行分号.

# 创建新表 
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DATE);
# 插入数据 
INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22');
# 选择记录 
SELECT * FROM user_tbl;
# 统计行数
SELECT count(*) FROM tablename;
# 更新数据 
UPDATE user_tbl set name = '李四' WHERE name = '张三';
# 删除记录 
DELETE FROM user_tbl WHERE name = '李四' ;
# 添加字段
ALTER TABLE user_tbl ADD email VARCHAR(40);
# 更新结构 
ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL;
# 更名字段 
ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup;
# 删除字段 
ALTER TABLE user_tbl DROP COLUMN email;
# 表格更名 
ALTER TABLE user_tbl RENAME TO backup_tbl;
# 删除表格 
DROP TABLE IF EXISTS backup_tbl;
# 导入带标题的csv文件
# 格式 copy tablename from csv文件路径 CSV HEADER;
copy  testim from '/home/postgres/data.csv' CSV HEADER;
# 导出带标题的csv文件
COPY (select * from tanktab) to '/u02/tank/tank.csv' with csv header;
# 替换字符串内容
update wtstatusinfo set blooeydescr=replace(blooeydescr,'1067','1087') where ...
# 去掉最后一个字符
update tb_record_shape_gen set value = substr(value, 1, length(value)-1) where key = 'imagefeaturebound' and value like '%,'
# 二进制几何转换为st几何
select st_astext(location),* from tb_record_attach limit 10

待整理的资料:导入导出csv文件。
https://segmentfault.com/a/1190000008328676

postgresql相关操作函数
https://www.cnblogs.com/stephen-liu74/archive/2012/05/02/2294071.html

你可能感兴趣的:(004 命令行登录操作postgresql数据库)