当前位置: 首页 > news >正文

postgresql教程

postgreSQL教程目录

            • postgreSQL 创建数据库的方式:
            • postgreSQL删除数据库的方式:
            • PostgreSQL 创建表格
            • postgre删除表格:
            • postgreSQL INSERT INTO 语句
            • postgreSQL SELECT 语句:
            • postgresql索引:
            • 什么情况下要避免使用索引?

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 值的列上。
* 索引不应该使用在频繁操作的列上。
http://www.lryc.cn/news/169679.html

相关文章:

  • 1万6千多最好的背单词SQLITE\ACCESS数据库
  • springboot aop Aspectj 切面
  • Leetcode 2862. Maximum Element-Sum of a Complete Subset of Indices
  • 第一百四十七回 自定义组件一
  • MySQL 重复数据的处理
  • Java文字描边效果实现
  • 【Web_环境搭建_Python3_pip】pip的升级、安装、更新、卸载,以及pipupgrade和pip-review的基础使用
  • 农民朋友有福利啦!建行江门市分行“裕农通+农资结算”平台正式上线
  • super详解
  • GMS地下水数值模拟丨GMS各模块、三维地质模型构建及与MODFLOW耦合、地下水流动数值模拟及报告编制、地下水溶质运移模型、反应性溶质运移等
  • Redis 配置文件详解 - 持久化(RDB、AOF)
  • 在线Excel转JSON工具
  • Spring编程常见错误50例-Spring Bean依赖注入常见错误(下)
  • SpringBoot整合Canal实现MySQL与ES数据同步
  • Zookeeper 源码分析流程
  • 计数排序与基数排序
  • Mysql—表操作
  • SpringCloud——微服务
  • 深入理解Java单例模式和优化多线程任务处理
  • 已解决 Kotlin Error: Type mismatch: inferred type is String but Int was expected
  • Web应用系统的小安全漏洞及相应的攻击方式
  • git工具下载和安装
  • 腾讯mini项目-【指标监控服务重构】2023-08-04
  • 怎么推广自己抖店的商品?最适合0经验新手操作的办法,来看看
  • 线性代数的本质(三)——线性方程组
  • 轻量级性能测试工具 wrk 如何使用?
  • WebGL 视图矩阵、模型视图矩阵
  • Python 3 – 文件 readline() 方法
  • 如何在微软Edge浏览器上一键观看高清视频?
  • Telegram BoT的主流项目盘点