Linux下PostgreSQL基础操作
jopen
11年前
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;