PostgreSQL初识 之 初步使用

 更为详细的操作说明请查看 postgresql的中文文档

 为了提高对数据库操作的熟练度,本文是在shell中利用sql语句进行数据库操作,首先打开SQL Shell,进行数据库登录。
在这里插入图片描述


1. 数据库的基本操作

输入 help 可以获取帮助信息
在这里插入图片描述
输入 \? 可以获取命令列表
在这里插入图片描述
输入 \l 可以获取数据库列表
在这里插入图片描述
想要进入某个特定的数据库,可以输入命令行 \c 数据库名
在这里插入图片描述
想要创建一个新的数据库,可以输入命令 create database 数据库名;,命令不区分大小写
在这里插入图片描述
想要删除数据库,可以调用命令 drop database 数据库名;,危险操作建议进行前三思!!!
在这里插入图片描述

2. 数据表的基本操作

 为了练习对数据表的操作,利用 create database test 新建了一个test数据库,再利用 \c test 命令进入该数据库。

 可以利用 \d 命令查询该数据库中的所有的数据表,因为数据库是新建的,所以没有找到数据表。
在这里插入图片描述
 利用 create table table_name( Column_name data_type constrains); 命令创建数据表,可以利用 \d table_name 来查询该数据表的详细信息。
在这里插入图片描述

 相同的,我们利用drop命令进行删除操作, drop table table_name; 删除数据表
在这里插入图片描述

3. 数据的查询

 为了更好地进行数据查询,我们先利用 mockaroo 生成存有大量数据的数据表。
在这里插入图片描述
sql文件的内容大致如下:
在这里插入图片描述
 生成的sql文件中只有insert语句,需要自己将create语句写入sql文件中

create table MOCK_DATA (
	id bigserial not null primary key,
	first_name VARCHAR(50) not null,
	last_name VARCHAR(50) not null,
	email VARCHAR(50),
	gender VARCHAR(50) not null,
	birthday DATE not null
);

将sql文件导入数据库中,导入sql文件的语法为 \i '文件所在地址'
在这里插入图片描述


3.1 基础的 select 语句

 利用 select column_name from table_name 进行数据查询,column_name可多个,也可以用 * 查询所有数据。
在这里插入图片描述

3.2 order by 和 distinct

  • order by 排序:
    select (column_name ...)/* from table_name order by (column_name ...) asc/desc;
    exp:
     假如我想让数据按照 last_name 的升序进行排序,可以输入命令行 select * from mock_data order by last_name asc; asc可以省略不写,默认是升序。
    在这里插入图片描述
    想让数据按照 last_name 的升序进行排序,可以输入命令行 select * from mock_data order by last_name desc;
    在这里插入图片描述
  • distinct 去重:
    select distinct (column_name ...)/* from table_name;
    exp:
     想要根据生日去重,可以输入语句select distinct (birthday) from mock_data;
    在这里插入图片描述
    去重后条数变为930条(原1000条)
    在这里插入图片描述

3.3 where、and、or

  • where

    • 对查询范围进行限制
    • select column_name from table_name where 限制范围
      在这里插入图片描述
  • and

    • 如果多个条件需要同时满足时,就需要使用 and 将限制范围连接起来
    • select column_name from table_name where 限制范围1 and 限制范围2 and ...
      在这里插入图片描述
  • or

  • 如果存在多个条件但只需要满足一个时,就需要使用 or 将限制范围连接起来

    • select column_name from table_name where 限制范围1 or 限制范围2 or ...
      在这里插入图片描述

3.4 comparison、limit、offset

  • comparison

    • 就是利用select语句得出比较结果
  • limit

    • 限制数据库显示的行数
    • select * from table_name limit 行数;
      在这里插入图片描述
  • offset

    • 从 行1 后开始打印 行数2 个行
    • select * from table_name offset 行1 limit 行数2 ;
      在这里插入图片描述

3.5 in、between、like

  • in
    • in操作符允许在where子句中规定多个值。
    • select column_name/* from table_name where 限制范围 in ('字段内容')
  • between
    • between操作符在where子句中使用,可以选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
    • select column_name/* from table_name where 限制范围 between 范围1 and 范围2;
  • like
    • 类似Ctrl+F,寻找含有特定关键字的数据
    • select column_name/* from table_name where 限制范围 like 字段;

3.6 group、having

分组

  • group by
    • select column_name/* from table_name group by group_name;
  • group by having
    • select column_name/* from table_name group by group_name having 限制条件;

4. 数据的插入

 数据的插入需要使用insert语句,具体语法为 insert into table_name(column_name,....) values ('column_name;,.....);
在这里插入图片描述


5. 数据的删除

 使用delete语句进行数据的删除,具体语法为 delete from table_name where 删除条件
在这里插入图片描述
 不推荐硬删除,一般会添加字段标记为已删除。


PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL. PostgreSQL支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。 PostgreSQL 是一个免费的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。从技术角度来讲,PostgreSQL 采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。 本课程作为PostgreSQL数据库管理一,主要讲解以下内容:1.     PostgreSQL安装和环境准备2.     PostgreSQL数据查询3.     PostgreSQL 数据过滤4.     PostgreSQL 多表的联接5.     PostgreSQL数据的分组6.     PostgreSQL合集的操作7.   PostgreSQL 合集的分组
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值