Linux下PostgreSQL基础操作

jopen 10年前

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


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

安装

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

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

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

添加新用户和数据库

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

创建超级用户kesin

sudo -u postgres createuser --superuser kesin
登陆控制台,设置kesin的密码
sudo -u postgres psql    #登陆console  \password kesin          #更改密码为kesin   \q                       #退出console

为kesin创建数据库testdb

sudo -u postgres createdb -O kesin testdb
然后用新用户登陆
psql -U kesin -d testdb -h 127.0.0.1 -p 5432
分别为用户名,数据库名,地址,端口号

至此完成了

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

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

alter user postgres with password 'new password'   更改postgres的密码

shell命令

sudo su postgres       psql postgres        切换到用户postgres

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

# 创建新表   CREATE TABLE usertbl(name VARCHAR(20), signupdate DATE);  # 插入数据   INSERT INTO usertbl(name, signupdate) VALUES('张三', '2013-12-22');  # 选择记录   SELECT * FROM user_tbl;  # 更新数据   UPDATE user_tbl set name = '李四' WHERE name = '张三';  # 删除记录   DELETE FROM user_tbl WHERE name = '李四' ;  # 添加栏位   ALTER TABLE user_tbl ADD email VARCHAR(40);  # 更新结构   ALTER TABLE usertbl ALTER COLUMN signupdate SET NOT NULL;  # 更名栏位   ALTER TABLE usertbl RENAME COLUMN signupdate TO signup;  # 删除栏位   ALTER TABLE user_tbl DROP COLUMN email;  # 表格更名   ALTER TABLE usertbl RENAME TO backuptbl;  # 删除表格   DROP TABLE IF EXISTS backup_tbl;