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;