PostGreSQL - 对象关系数据库系统(ORDBMS)初探
PostGreSQL 是一个 对象关系数据库系统(ORDBMS),对象关系数据库?之前只听过关系关数据(SQL Server、Oracle、MySql等等),非关系型数据库(MongoDB、CouchDB、Hbase、Redis等等),个人理解非关系型数据库就是对象数据库,从数据库类型上来看,PostGreSQL是主流的俩类数据库的结合呀,瞬间感觉高大上起来啦,后来了解到PostGreSQL早在1987年就被正式发布使用来(当时我还没出生~~~),关键是它是类似MySQL的一个开源数据库,而且关于它的论坛很多,真实不看不知道,一看吓一跳,瞬间感觉好落伍,决定好好学习学习。
现在学习大多是有项目任务为主,开始不会深究原理,以正常使用为主,现在首先把环境打起来,熟悉下基本用法。
一、PostGreSQL 官网
二、最新版本数据库下载与安装
当前最新版本为9.4.4
下载地址:
http://www.enterprisedb.com/products-services-training/pgdownload#windows
注:上面有各个操作系统的下载版本,这边我使用的比较windows版本
安装步骤不复杂,我第一次安装在windows 7 安装的,一次成功,没有任何问题,当然后面在其他系统安装时遇到了一些问题,后面单独来总结下,这边的网上很多安装教程,这边提供一个链接,我就是照着上面安装的。
三、基本数据库操作熟悉
这里只列出基本数据库操作命令,不涉及到触发器、视图、存储过程等操作,也不涉及到系统备份还原等操作,高级操作在后面的学习中慢慢记录。
####创建用户
1 | create user quangao password 'quangao@123.com'; |
####创建角色
1 | create role quangao login password 'quangao@123.com'; |
####创建表空间
1 | create tablespace pnlyspace LOCATION 'D:/postgresql/data' |
####创建命名空间属于哪个角色
1 | create tablespace pnlyspace owner quangao LOCATION 'D:/postgresql/data' |
####创建数据库属于哪个角色和使用哪个表空间
1 | create database "pnly2" owner quangao tablespace pnlyspace; |
####修改表空间
1 | alter database pnly set tablespace pnlyspace |
####查选数据库所属角色和表空间
1 | SELECT datname,rolname,spcname FROM pg_database db, pg_authid au, pg_tablespace ts WHERE datname = 'pnly' AND datdba = au.oid AND dattablespace = ts.oid |
创建新表
CREATE TABLE user_tbl(name VARCHAR(20), signup_date DAT
E);
插入数据
1 | INSERT INTO user_tbl(name, signup_date) VALUES('张三', '2013-12-22'); |
选择记录
1 | SELECT * FROM user_tbl; |
更新数据
1 | UPDATE user_tbl set name = '李四' WHERE name = '张三'; |
删除记录
1 | DELETE FROM user_tbl WHERE name = '李四' ; |
添加栏位
1 | ALTER TABLE user_tbl ADD email VARCHAR(40); |
更新结构
1 | ALTER TABLE user_tbl ALTER COLUMN signup_date SET NOT NULL; |
更名栏位
1 | ALTER TABLE user_tbl RENAME COLUMN signup_date TO signup; |
删除栏位
1 | ALTER TABLE user_tbl DROP COLUMN email; |
表格更名
1 | ALTER TABLE user_tbl RENAME TO backup_tbl; |
删除表格
1 | DROP TABLE IF EXISTS backup_tbl; |
。。。。
还有好多好多,其实上面这些在其他数据库中也基本上类似,这里只是熟悉下使用,不难看出,这和其他数据一样,标准语法,所以有其他数据库基础的情况下,入门门槛很低。
这边并非技术文章,只是学习过程中的记录,内容不多,仅供备忘。。。