随便玩玩之PostgreSQL

未经授权不得转载

第1章PostgreSQL简介


1.1什么是PostgreSQL
Postgresql是数据库(软件)。
The world's most advanced open source database.
世界上最先进的开源数据库。


1.2PostgreSQL的优势
随便用、不要钱

比MySQL好,媲美Oracle


1.3PostgreSQL安装
下载Windows版本的PostgreSQL,双击启动安装程序。她会自动安装VC++2013运行时组件,之后出现如下界面。

点击NEXT(下一步),进入选择安装目录界面。默认即可。

点击NEXT,进入选择安装组件界面。将Stack Builder勾选选项去掉(不去掉也不影响使用)。

点击NEXT,进入选择数据保存目录(数据库数据文件保存位置)界面。默认即可。

点击NEXT,进入设置postgres帐户密码界面。设置为123。

点击NEXT,进入设置服务端口(监听端口)界面。默认即可。

点击NEXT,进入设置语言区域界面。默认即可。

点击NEXT,进入安装前检查界面。

点击NEXT,进入安装准备界面。点击NEXT,进入安装状态。稍等片刻,倒一杯水的工夫,安装已经完成,如下。

点击Finish,完成安装。


1.4开启PostgreSQL数据库之旅。
点击开始菜单,选择所有程序,打开PostgreSQL菜单项。可以看到安装了三个程序,另一个菜单项内附带了四个帮助文档。
PgAdmin4是管理PostgreSQL数据库的界面程序(GUI管理工具)。
SQL Shell是管理PostgreSQL数据库的命令行程序(Command Line Tools)。
Reload Configuration是重置数据库配置程序。


1.5 SQL Shell 使用介绍
打来SQL Shell (pgsql)程序,出现命令行登录界面,提示输入服务器名称,数据库名称,服务端口名称,用户名称,全部按回车键(Enter)即可,最后提示输入“用户postgres的口令”,输入密码,安装时设置的是123,这里就输入123按回车键,进入PostgreSQL数据库交交互界面。本书大部分案例使用SQL Shell程序,所有SQL语句(命令)必须以半角英文状态输入。

在#号后输入以下命令。

1 SELECT version();

得到以下响应。

1                           version
2 ------------------------------------------------------------
3  PostgreSQL 10.0, compiled by Visual C++ build 1800, 32-bit
4 (1 行记录)

我们输入的语句为:SELECT version();,SELECT是用于从数据库(表)中选取数据语句,中间有一个空格,version()表示版本号,分号(;)表示语句结束。
注:1.PostgreSQL语句关键字对大小写不敏感,即不区分大小写。表名、字段名(列名)区分大小写,引号包含的内容区分大小写。所以SeLEct VerSION();得到的效果与上例相同。因为习惯,为了规范化和代码的易读、易维护,对关键字使用大写,其他使用小写。使用小写的前提是数据库内所有表名、字段名为小写,否则请根据实际情况。2.SQL Shell要求每一条语句必须以分号结束,所以每一条语句后必须要有一个分号。PgAdmin无此要求,她会自动将语句加上分号。

1.6pgAdmin使用介绍
打开pgAdmin程序,在左边选择节点:Server→PostgreSQL 10(x86),第一次点击系统会提示输入密码,可选择是否保存密码。保存密码以后打开pgAdmin不用再输入密码,由于我们是在学习PostgreSQL数据库,建议勾选保存密码。

pgAdmin程序界面,左边是数据库内信息,右边是控制台。控制台内可以监视数据库运行情况,查看数据库信息。
点击节点右键:Server→PostgreSQL 10(x86) →Databases(1) →postgres,选择Query Tool,在右边弹出的的窗口中输入以下内容:

1 SELECT version();

得到以下结果。

1 PostgreSQL 10.0, compiled by Visual C++ build 1800, 32-bit

如图所示。

在Query Tool中输入SQL语句和在SQL Shell中输入SQL语句效果相同,建议在SQL Shell中练习。


1.7PostgreSQL语句中的注释
PostgreSQL语句中的注释有单行注释和段落(多行)注释。注释用来标记语句用途、表或字段含义、暂时不执行语句等。无强制要求,凡是有语句(代码)的地方都可以使用,写什么都可以。SQL语句作为注释内容后,不再执行。
单行注释以—开头(两个横杠开头)。

1 --查询数据库版本
2 SELECT version(); --上一行和这一行注释标记之后的内容都是注释

段落注释以/*开头,以*/结束。

1 /*
2 这是一个查询数据库版本的语句 */
3 SELECT version();


1.8 准备使用数据
安装完后的数据库没有数据供我们练习,需要向数据库内插入一些数据。创建存放学生考试成绩信息表,再向表内插入一些数据。
在SQL Shell中输入以下语句(命令)。

1 CREATE TABLE cj (
2     id int,
3     kc varchar(20),
4     bj varchar(20),
5     xm varchar(20),
6     yw numeric,
7     sx numeric,
8     yy numeric
9 );

按回车键提示:

CREATE TABLE

表示成功创建表。
表内各字段的含义:id表示序号,无特别意义;Kc表示考试场次;bj表示班级;xm表示姓名;yw表示语文成绩,sx表示数学成绩;yy表示英语成绩。每个字段后都有一些标记,表示数据类型。
输入以下语句,插入一些数据(记录)。

 1 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(1,'期中考试','二班','李四',73,72,76);
 2 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(2,'期中考试','二班','王五',61,71,82);
 3 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(3,'期中考试','二班','张三',64,71,66);
 4 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(4,'期中考试','三班','孙七',82,62,72);
 5 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(5,'期中考试','三班','赵六',59,70,62);
 6 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(6,'期中考试','三班','周八',77,62,74);
 7 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(7,'期中考试','一班','刘一',74,72,74);
 8 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(8,'期中考试','一班','吴九',70,66,60);
 9 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(9,'期中考试','一班','郑十',65,73,82);
10 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(10,'期末考试','二班','李四',71,77,70);
11 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(11,'期末考试','二班','王五',66,76,76);
12 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(12,'期末考试','二班','张三',72,73,62);
13 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(13,'期末考试','三班','孙七',72,54,56);
14 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(14,'期末考试','三班','赵六',62,71,68);
15 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(15,'期末考试','三班','周八',60,71,66);
16 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(16,'期末考试','一班','刘一',59,53,60);
17 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(17,'期末考试','一班','吴九',65,75,62);
18 INSERT INTO cj (id,kc,bj,xm,yw,sx,yy) VALUES(18,'期末考试','一班','郑十',58,70,76);

按回车键后提示:

1 INSERT 0 1

表示插入数据成功。
查询插入的数据。输入以下语句。

1 SELECT * FROM cj;

按回车键得到以下结果:

表示数据已存在数据库的cj表中。
上图所显示的数据和平时用EXCEL做的表差不多。因为数据库的基础是表,数据库就是有一个一个的表组成。在EXCEL中的表头(列名称),PostgreSQL称作字段;EXCEL中的每一行数据,PostgreSQL中称作记录。简单的说就是列是字段,行是记录。


1.9 一些初学者常见的问题
问题一:数据库有Oracle、SQL Server、MySQL、PostgreSQL等等很多,学哪个好?
答:我不会说话的时候,根本不知道四川话好还是河南话好。只是父母教我会说河南话,长大了听得多了四川话也大概能听得懂,在四川待了一段时间居然学会了四川话,后来又跟着新闻联播学会了普通话。同理,先不要思考哪个好的问题,学会了PostgreSQL,掌握其他的数据库也很快。
问题二:PostgreSQL的SQL语句标准吗,我要学标准的SQL语句?
答:同问题一。
问题三:听大婶说PostgreSQL有很多缺点,不如Oracle功能多,稳定,PostgreSQL到底要不要学?
答:爱学不学,爱用不用。
问题四:听大婶说免费的才是最贵的,PostgreSQL贵在哪里?
答:当你不会数据库时,所有数据库都是贵的;当你学会数据库时,您才是最贵的,雇你的人都要考虑财力够不够用得起您这号大婶。

至此,第一章结束,简单介绍了PostgreSQL数据库的安装,操作方法。虽然简单,不过对于作为没有学过数据库的小白已经是难上加难了。

转载于:https://www.cnblogs.com/tashi-net/p/7816263.html

随便玩玩之PostgreSQL(第一章)PostgreSQL简介相关推荐

  1. 【正点原子FPGA连载】第一章 ZYNQ简介 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  2. 第一章 Centos 简介与安装

    第一章 Centos 简介与安装 第一节 :Centos 简介 Centos作为主流的一种Linux操作系统,以后java1234课程中,比如后期讲Redis,以及部署一些项目,会把Centos作为服 ...

  3. 【正点原子FPGA连载】 第一章 MPSoC简介 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  4. hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  5. 《RabbitMQ 实战指南》第一章 RabbitMQ 简介

    <RabbitMQ 实战指南>第一章 RabbitMQ 简介 文章目录 <RabbitMQ 实战指南>第一章 RabbitMQ 简介 一.什么是消息中间件 二.消息中间件的作用 ...

  6. 第一章 WebGL简介 Introduction

    第一章 WebGL简介 Introduction 概述 webGL是一组用于在web html上下文中绘制3D图像的web接口 html Canvas对象所有绘制图像的舞台,通过使用CanvasRen ...

  7. 第一章:Google简介

    第一章:Google简介 Google(www.Google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于 ...

  8. 自考02323《操作系统概论》第一章操作系统简介——思维导图

    备战2020年4月自考科目02323<操作系统概论>第一章操作系统简介 思维导图如下: ================================================== ...

  9. LLVM 极简教程: 第一章 教程简介与词法分析器

    第一章 教程简介与词法分析器¶ 原文: Tutorial Introduction and the Lexer 教程介绍 欢迎走进"LLVM开发新语言"教程.本教程详细介绍了一门简 ...

  10. 第一章 huggingface简介

    HuggingFace/transformers系列文章 第一章 huggingface简介 文章目录 HuggingFace/transformers系列文章 前言 一.Bert简介 二.Huggi ...

最新文章

  1. mysql中concat函数的使用相关总结
  2. 100个必会的python脚本-100行Python代码实现自动抢火车票(附源码)
  3. linux iptables 如何设置允许几个 ip访问,Linux防火墙iptables限制几个特定ip才能访问服务器。...
  4. HTML中行内元素与块级元素的区别
  5. 《Java程序设计》 第五周学习总结
  6. JavaScript URL参数读取
  7. 嵌入式常见笔试题总结(3)
  8. HCIE Security AC访客管理和终端安全 备考笔记(幕布)
  9. 5G工业路由器 物联网终端应用
  10. 【头像变更】自己瞎做一个头像,放真实头像做头像虽然真诚,但是心里实在不想!
  11. kali-扫描主机-Nmap
  12. Android MP4边下边播
  13. 在Lenovo T61笔记本上安装Windows XP
  14. python变白_Python OpenCV纯白色背景
  15. C语言统计多个闰年,C语言统计闰年
  16. 你有哪些“相见恨晚”的UE4学习资料?
  17. 小学生python趣味编程-【少儿编程】python趣味编程第二课:写文字
  18. Jenkins日程配置说明
  19. 慧据价值 链接未来丨第八届数据技术嘉年华大会全议程呈现
  20. 三相电检测电路c语言,三相电缺相检测电路

热门文章

  1. Git中Add后对部分文件进行取消
  2. 同域下iframe操作时,js访问document出现拒绝访问的问题原因
  3. 恒大全国降价,最低74折,接下来会有其他楼盘跟进降价吗?
  4. 明明知道银行存款会贬值,为什么还有那么多人把钱放在银行?
  5. 51单片机程序下载、ISP及串口基础知识
  6. 提前祝大家十一中秋节快乐
  7. ubuntu16.04安装CecureCRT 并破解
  8. 微服务微应用的安全测试_提高微服务安全性的11个方法
  9. 安卓手机浏览器排行_5g时代已来临!五月安卓手机性价比排行:两千元以上5G手机屠榜...
  10. java设计按月每天签到_java实现app签到功能