postgreSQL数据库简介
PostgreSQL 是一个免费的对象-关系数据库服务器(ORDBMS),在灵活的BSD许可证下发行。
PostgreSQL 开发者把它念作 post-gress-Q-L。
PostgreSQL 的 Slogan 是 "世界上最先进的开源关系型数据库"。
参考内容:PostgreSQL 10.1 手册
postgreSQL数据库的安装
推荐链接:一个帅气的自学网站(安装postgreSQL看这个自学网站)
ps:额外说下,要是各位道友觉得我写的差的话可以不要看,可以去上面我推荐的那个链接去自学,
因为大部分内容都是从上面而来,笔者也是刚刚学习完过来,只是给自己做一个总结,毕竟学了一上午,不能白学,转身忘了也可以来温故温故。
/***********华丽分割线*************/
由于前不久跳槽,新公司需要postgreSQL数据库的知识储备,而身为小菜得我,只会mysql,以及略懂oracle、和sqlserver,对于postgreSQL这个东西比较迷(什么是迷呢,就是一点都不了解的意思),
不过这个数据库的图标蛮好看的,是一只小飞象,哈哈,个人觉得蛮亲切的。
没办法啊,新项目需要postgreSQL这个数据库,那就得看啊,首先呢,我是网上查看了很多博客,自己安装的postgreSQL这个数据库,刚开始并没有发现上面那个优秀的网站,只是东拼西凑的看了下。
这里我就要吐槽一下了,有些博客写的是真的烂,哈哈,好吧,其实我也写的很烂。
言归正传,数据库装好之后,我这里用的是Navicat Premium 12对数据库进行的连接,然后,自己创了一个user表,不懂得我就瞎试了,用mysql的语法对postgreSQL数据库中的表进行了增、删、改、查,
我靠,不试不知道,一试吓一跳。竟然可以的,哈哈,笑哭。话不多说,上图,上图:
后来才发现,几乎mysql能用的语法,在postgreSQL中都能用,不过这里我说一点需要注意的地方,postgreSQL数据库,库下来,还有一个schema(模式)这个概念,模式下来才是表
而mysql的库下面就可以直接看见表了,如果,一个库存在多个schema的话,那么要查看具体哪个schema下的表要带上schema的名字,如上图:public.user 这个是查看public 模式下的user表。
好了,到这里为止,其实就是我所有东拼西凑看的内容了,接下来看那个帅气的自学网站,以下内容95%来自这个网站,而且言语不清的,建议去原网站查看。
操作postgreSQL数据库的三种方式:
在Navicat Premium 12这个软件里,我在postgresql数据库上直接点击新增数据库,新增失败,如下图:
这个就搞得我有点不开心了,为什么会没用呢?很奇怪,但是我没在这个软件上耗时间,我是直接查的是,怎么在postgresql数据库上建立新的数据库,网上说什么SQL shell,搞个鬼,SQL shell 是什么东西,
我以为要重新下载的,网上那些博客也不说清,就说SQL shell,这是不负责任呐,你看这个教程就不一样了,说的明明白白的,清清楚楚的,啥事好教程,那不就是能让别人一眼就懂才是好教程嘛,别人看的晕头晕脑的。滋滋滋。。。不提也罢。。。
回到SQL shell ,简单来说,SQL shell 就是在你安装完成postgreSQL数据库之后就有的东西。怎么看他存在的地方呢,如下图:
按window键,再查看所有程序,查看你安装好的postgreSQL 目录,打开,就看的见了。上图我还标志了pgADmin4,这个东西,我觉得是连接postgreSQL数据库上的真正意义上的类似于Navicat Premium 12的可视化操作界面。
点击pgAdmin 4,会在浏览器中打开一个窗口,可视化postgreSQL数据库的窗口。在这个界面上,你可以在库,模式,表上右键,直接新增postgreSQL数据库,和schema模式,以及tables表。如下图:
pgAdmin4 我这里就简单的介绍完了,还有一个工具是SQL shell 这个工具。点击SQL shell,会弹出一个类似dos窗口的界面,如下图:
上图中,我划箭头的三个地方,直接回车,不用输入任何东西,而我用方框框起来的两个地方,就是输入连接数据库的用户名和密码。连接成功之后,会有和我上面类似的提示。接下来就可以进行操作了。
好了,以上是三种操作postgreSQL数据库的三种方式,个人推荐使用后两种,第一种不知道是我软件问题还是什么问题,反正就是在我电脑上出了问题。
postgreSQL数据库的数据类型我这里就不做介绍了,想了解的,老样子,帅气的链接
创建数据库和删除数据库
直接上第三种方式的创建数据库的命令:
我喜欢用create database 数据库名字,如下图,是我的演示
上图中,我创建了一个名位bky的数据库,创建成功之后,接下来的一行会有提示:create databse;
然后我紧接着用 \l 命令查看postgreSQL数据库下有哪些数据库,图示,我用方框给框出来了,第一个就是bky,就是刚刚新建的那个数据库。
删除数据库:drop database 数据库名字,
老样子,进行测试,有例子说话。如下图:
删除bky这个数据库,再用 \l 命令查看数据库,可以看出,没有bky这个数据库的存在了。
创建表格和删除表格
数据库之间的连接操作,比如我现在连接着a数据库,我现在要去操作b数据库的表,那么第一操作肯定是要换库,从a库跳转到b库去,
操作命令 : \c 数据库名 如下图
\d 命令是查看该数据库下有哪几个表。
新增表,如下图:
上图清楚的显示了新增表的语句(类似于mysql),以及新增之后的查看结果,\d ,结果中多出了两个新增的表名。
查看具体表的表结构,类似于在navicat中的设计表,如下图:
命令是: \d 具体表名
然后删除表
命令:drop table table名;
如下图:
清楚的看到,company这个表,已经被删除了。
schema模式的新增和删除
新增模式:create schema 模式名;
上面的三个方框,第一个是新增一个名为bky的模式;
第二个是在这个模式下新增一个company表;
第三个是查看bky这个模式下的company表。(到这里,我如果说,在bky模式下是存在数据的,大家有没有意见?没意见我就不解释了,有意见我就说一下:我都在这个模式下新建了一张表了,那当然是有数据的呀,你说是不是?);
聪明的人,就像小菜一样的那些人,肯定知道我接下来要说什么了,上面都特意的提了下有没有数据,那肯定是
删除模式的时候,肯定是分为两种,模式下有数据的删除,和模式下没有数据的删除。
模式下有数据的删除: DROP SCHEMA 模式名 CASCADE;
模式下没有数据的删除(删除一个空模式): DROP SCHEMA 模式名;
好了,不扯犊子了,我写的好累了,接下去的增删改查以及什么where还有like or 之类的,自己去那个网站看,和mysql很相像的,不过,limit这里,postgreSQL有一个不同点,它有特定的偏移
你比如说:
select * from aa limit 3; // 查找3条数据,这个语句没得问题
select * from aa limit 4 offset 3; //第三条数据之后,取得4条记录。也就是从第四条数据开始,截取4条数据。
最后,再推荐一波:帅气的自学网站,我不是做广告哈,我是真滴觉得这个网站不错。大家一起学习。还有,如果你把我的这篇博客看完,并且心里没有肺腑我的话,哈哈,那小菜在此谢谢你了。