postgresql教程

2023-09-15 15:00:38

postgreSQL 创建数据库的方式:
  1. 使用CREATE DATABASE 语句来创建:
CREATE DATABASE dbname;
  1. 使用createdb 命令来创建:
createdb是一个SQL命令 CREATE DATABASE的封装。
createdb命令语法格式为:
create [option...] [dbname [description]]
参数说明:
dbname:要创建的数据库名。
description:关于新创建的数据库相关的说明。
options:参数可选项

接下来我们打开一个命令窗口,进入到 PostgreSQL 的安装目录,并进入到 bin 目录,createdb 命令位于 PostgreSQL安装目录/bin 下,执行创建数据库的命令:
$ cd /Library/PostgreSQL/11/bin/
$ createdb -h localhost -p 5432 -U postgres runoobdb
password ******
  1. 使用pgAdmin工具
postgreSQL删除数据库的方式:
  1. 使用 DROP DATABASE SQL 语句来删除。
DROP DATABASE 删除数据库:

DROP DATABASE 会删除数据库的系统目录项并且删除包含数据的文件目录。
DROP DATABASE 只能由超级管理员或数据库拥有者执行。
DROP DATABASE 命令需要在 PostgreSQL 命令窗口来执行,语法格式如下:
DROP DATABASE [ IF EXISTS ] name
eg:删除一个 runoobdb 的数据库:
postgres=# DROP DATABASE runoobdb;
  1. 使用 dropdb 命令来删除。
dropdb 是 DROP DATABASE 的包装器。
dropdb 用于删除 PostgreSQL 数据库。
dropdb 命令只能由超级管理员或数据库拥有者执行。

dropdb 命令语法格式如下:
dropdb [connection-option...] [option...] dbname
eg: 接下来我们打开一个命令窗口,进入到 PostgreSQL 的安装目录,并进入到 bin 目录,dropdb 名位于 PostgreSQL安装目录/bin 下,执行删除数据库的命令:

$ cd /Library/PostgreSQL/11/bin/
$ dropdb -h localhost -p 5432 -U postgres runoobdb
password ******

3、使用 pgAdmin 工具

  • postgreSQL 选择创建的数据库:
1. \l :用于查看已经存在的数据库。
2. \c 数据库名来进入数据库
PostgreSQL 创建表格

CREATE TABLE 语法格式如下:

CREATE TABLE table_name(
   column1 datatype,
   column2 datatype,
   column3 datatype,
   .....
   columnN datatype,
   PRIMARY KEY( 一个或多个列 )
);

eg:以下创建了一个表,表名为 COMPANY 表格,主键为 ID,NOT NULL 表示字段不允许包含 NULL 值:

CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);
可使用 \d 命令来查看表格是否创建成功,
可使用 \d tablename 命令查看表格信息,
postgre删除表格:
  1. DROP TABLE 语法格式如下:
DROP TABLE table_name;
postgreSQL INSERT INTO 语句

INSERT INTO 语句语法格式如下:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN)
VALUES (value1, value2, value3,...valueN);

在使用 INSERT INTO 语句时,字段列必须和数据值数量相同,且顺序也要对应。
如果我们向表中的所有字段插入值,则可以不需要指定字段,只需要指定插入的值即可:
INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN);
postgreSQL SELECT 语句:
SELECT column1, column2,...columnN FROM table_name;
postgresql索引:

创建索引的语法:

CREATE INDEX index_name ON table_name;
  • 索引类型:
  1. 单列索引:只基于表的一个列上创建的索引;
基本语法:
CREATE INDEX index_name ON table_name (column_name);
  1. 组合索引:基于表的多列上创建的索引
基本语法:
CREATE INDEX index_name ON table_name (column1_name1,column_name2);
注意:不管是单列索引还是组合索引,该索引必须是在 WHERE 子句的过滤条件中使用非常频繁的列。
如果只有一列被使用到,就选择单列索引,如果有多列就使用组合索引。
  1. 唯一索引:使用唯一索引不仅是为了性能,同时也为了数据的完整性。唯一索引不允许任何重复的值插入到表中。
基本语法:
CREATE UNIQUE INDEX index_name on table_name (column_name);
  1. 局部索引:表的子集上构建的索引;子集由一个条件表达式上定义。索引只包含满足条件的行。
基本语法:
CREATE INDEX index_name on table_name (conditional_expression);
  1. 隐式索引:在创建对象时,由数据库服务器自动创建的索引。索引自动创建为主键约束和唯一约束。
  • 删除索引:DROP INDEX (删除索引)
一个索引可以使用 PostgreSQL 的 DROP 命令删除。
DROP INDEX index_name;
什么情况下要避免使用索引?
虽然索引的目的在于提高数据库的性能,使用索引时,需要考虑下列准则:

* 索引不应该使用在较小的表上。
* 索引不应该使用在有频繁的大批量的更新或插入操作的表上。
* 索引不应该使用在含有大量的 NULL 值的列上。
* 索引不应该使用在频繁操作的列上。
更多推荐

【Unity2D】提升tilemap地图绘制速度的技巧

先安装好对应的包正文教程下面的都是我找到的不错教程,学会了也就能少花冤枉钱,不被Unity中国坑。【Unity小技巧】Unity2DTileMap的探究(最简单,最全面的TileMap使用介绍)这个博客会详细讲解了规则瓦片的各种功能,帮助我们可以快速自动地铺好地图,偏向俯视角地图制作,但是太全了,也没个参照,所以对于新

opencv 轮廓顶点重新排序----四边形

defreorder(myPoints):#print(myPoints.shape)#创建一个与myPoints具有相同形状和类型的数组myPointsNew=np.zeros_like(myPoints)#数组重塑为一个4行2列的数组myPoints=myPoints.reshape((4,2))#计算myPoin

三维模型3DTile格式轻量化压缩处理的数据质量提升方法分析

三维模型3DTile格式轻量化压缩处理的数据质量提升方法分析在处理三维模型3DTile格式的轻量化压缩时,如何在减少数据量的同时,保证或提升数据质量是一大挑战。以下为一些提升数据质量的方法分析:改进几何简化算法:在进行几何简化时,除了考虑顶点数量的减少,更要注重误差度量和形状特征。选择具有视觉优化功能的算法,例如基于四

Api接口加密策略

接口安全要求:1.防伪装攻击(案例:在公共网络环境中,第三方有意或恶意的调用我们的接口)2.防篡改攻击(案例:在公共网络环境中,请求头/查询字符串/内容在传输过程被修改)3.防重放攻击(案例:在公共网络环境中,请求被截获,稍后被重放或多次重放)4.防数据信息泄漏(案例:截获用户登录请求,截获到账号、密码等)设计原则:1

java - 散列算法 SHA-256 hash值计算

文章目录前言java-散列算法SHA-256hash值计算1.散列算法是什么?2.散列算法的主要特征是什么?3.计算SHA-256值有没有可能重复4.SHA-256算法实现示例前言如果您觉得有用的话,记得给博主点个赞,评论,收藏一键三连啊,写作不易啊^_^。而且听说点赞的人每天的运气都不会太差,实在白嫖的话,那欢迎常来

MQTT Paho Android 支持SSL/TLS(亲测有效)

MQTTPahoAndroid支持SSL/TLS(亲测有效)登录时支持ssl的交互这是调测登录界面设计代码中对ssl/tls的支持使用MqttAndroidClient配置mqtt客户端请求时,不加密及加密方式连接存在以下几点差异:url及端口差异valuri:String=if(tlsConnection){"ssl

CKA真题分析-2023年度

补充信息#补全#aptinstallbash-completionsource<(kubectlcompletionbash)#kubectlconfigget-contexts#cat~/.kube/config|grepcurrent#kubectlconfigcurrent-contextkubectlconfi

数据中心液冷服务器详情说明

目录前言何为液冷服务器?为什么需要液冷?1.数据中心降低PUE的需求2.政策导向3.芯片热功率已经达到风冷散热极限4.液冷比热远大于空气液冷VS风冷,区别在哪?1.液冷服务器跟风冷服务器的区别2.液冷数据中心跟风冷数据中心的区别液冷技术详情冷板式液冷1.优势2.冷板式整机示意图3.风冷服务器改造冷板式3.1技术难点3.

JavaScript 中的变量声明与赋值

3.10JavaScript中的变量声明与赋值。在计算机编程中,使用名称(或标识符)来表示值是最基本的技术之一。将名称与值绑定为我们提供了一种在程序中引用值并利用它们的方式。当涉及到绑定名称与值时,我们通常称之为将值赋给变量。术语“变量”暗示了新的值可以被赋给它,这意味着与变量关联的值在程序执行过程中可能会改变。如果一

windows ---命令详解1

一、cdD:\k8s>cd/?显示当前目录名或改变当前目录。CHDIR[/D][drive:][path]CHDIR[..]CD[/D][drive:][path]CD[..]..指定要改成父目录。1、键入CDdrive:显示指定驱动器中的当前目录。D:\k8s>cdC:C:\Users\lichf12、不带参数只键入

2023华为杯研究生数学建模竞赛选题建议+初步分析

如下为C君的2023华为杯研究生数学建模竞赛(研赛)选题建议+初步分析2023华为杯研究生数学建模竞赛(研赛)选题建议提示:DSC君认为的难度:C=E<D<F,开放度:C=D=E<F。华为专项的题目(A、B题)暂不进行选题分析,不太建议大多数同学选择,对自己专业技能有很大自信的可以选择华为专项的题目。后续团队会直接更新

热文推荐