Linux下PostgreSQL基础操作

PostgreSQL一直以为是一个和sqlite一个级别的数据库,但是在查询之后,自己的态度就完全变了,mysql被oricle公司收购以后,PG就成了比较流行的开源数据库的首选,而且heroku上面不支持mysql,但是却大力支持PG,所以说,不得不学学PG,并非迫不得已的样子,至少以后PG会比较流行,学学固然是好的,自己学习的一点感想,供新手快速入门。

安装

你可以选择自行下载源码安装:http://www.postgresql.org/download/

个人推荐使用apt-get方式安装,省心。

1sudo apt-get install postgresql-client #客户端 2 3sudo apt-get install postgresql #服务器

添加新用户和数据库

安装完成后,PG会自动生成一个postgres数据库和postgres用户,使用postgres用户添加用户和数据库。

创建超级用户kesin

sudo -u postgres createuser --superuser kesin

登陆控制台,设置kesin的密码

1sudo -u postgres psql #登陆console 2\password kesin #更改密码为kesin 3\q #退出console

为kesin创建数据库testdb

sudo -u postgres createdb -O kesin testdb

然后用新用户登陆

psql -U kesin -d testdb -h 127.0.0.1 -p 5432

分别为用户名,数据库名,地址,端口号

至此完成了

下面分享我在网上找的一些控制台命令(阮一峰的博客和自己使用中的收录),足够初级的使用了

1\h:查看SQL命令的解释,比如\h select。 2 3\?:查看psql命令列表。 4 5\l:列出所有数据库。 6 7\c [database_name]:连接其他数据库。 8 9\d:列出当前数据库的所有表格。 10 11\d [table_name]:列出某一张表格的结构。 12 13\du:列出所有用户。 14 15\e:打开文本编辑器。 16 17\conninfo:列出当前数据库和连接的信息。 18 19alter user postgres with password 'new password' 更改postgres的密码

shell命令

1sudo su postgres 2psql postgres 切换到用户postgres

还有一些数据库的操作基本的sql语句

1# 创建新表 2CREATE TABLE usertbl(name VARCHAR(20), signupdate DATE); 3# 插入数据 4INSERT INTO usertbl(name, signupdate) VALUES('张三', '2013-12-22'); 5# 选择记录 6SELECT * FROM user_tbl; 7# 更新数据 8UPDATE user_tbl set name = '李四' WHERE name = '张三'; 9# 删除记录 10DELETE FROM user_tbl WHERE name = '李四' ; 11# 添加栏位 12ALTER TABLE user_tbl ADD email VARCHAR(40); 13# 更新结构 14ALTER TABLE usertbl ALTER COLUMN signupdate SET NOT NULL; 15# 更名栏位 16ALTER TABLE usertbl RENAME COLUMN signupdate TO signup; 17# 删除栏位 18ALTER TABLE user_tbl DROP COLUMN email; 19# 表格更名 20ALTER TABLE usertbl RENAME TO backuptbl; 21# 删除表格 22DROP TABLE IF EXISTS backup_tbl;
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )