postgresql教程

postgreSQL教程目录

postgreSQL 创建数据库的方式:
  1. 使用CREATE DATABASE 语句来创建:

    CREATE DATABASE dbname;

  2. 使用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 ******

  3. 使用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;

  2. 使用 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);

  2. 组合索引:基于表的多列上创建的索引

    基本语法:
    CREATE INDEX index_name ON table_name (column1_name1,column_name2);

    注意:不管是单列索引还是组合索引,该索引必须是在 WHERE 子句的过滤条件中使用非常频繁的列。
    如果只有一列被使用到,就选择单列索引,如果有多列就使用组合索引。

  3. 唯一索引:使用唯一索引不仅是为了性能,同时也为了数据的完整性。唯一索引不允许任何重复的值插入到表中。

    基本语法:
    CREATE UNIQUE INDEX index_name on table_name (column_name);

  4. 局部索引:表的子集上构建的索引;子集由一个条件表达式上定义。索引只包含满足条件的行。

    基本语法:
    CREATE INDEX index_name on table_name (conditional_expression);

  5. 隐式索引:在创建对象时,由数据库服务器自动创建的索引。索引自动创建为主键约束和唯一约束。

  • 删除索引:DROP INDEX (删除索引)

    一个索引可以使用 PostgreSQL 的 DROP 命令删除。
    DROP INDEX index_name;

什么情况下要避免使用索引?
虽然索引的目的在于提高数据库的性能,使用索引时,需要考虑下列准则:

* 索引不应该使用在较小的表上。
* 索引不应该使用在有频繁的大批量的更新或插入操作的表上。
* 索引不应该使用在含有大量的 NULL 值的列上。
* 索引不应该使用在频繁操作的列上。
相关推荐
未来之窗软件服务10 分钟前
sql速度优化多条合并为一条语句
数据库
山东布谷科技官方13 分钟前
布谷直播源码部署服务器关于数据库配置的详细说明
运维·服务器·数据库·直播系统源码·直播源码·直播系统搭建·直播软件开发
易云码33 分钟前
信息安全建设方案,网络安全等保测评方案,等保技术解决方案,等保总体实施方案(Word原件)
数据库·物联网·安全·web安全·低代码
newxtc39 分钟前
【客观理性深入讨论国产中间件及数据库-科创基础软件】
数据库·中间件·国产数据库·国产中间件·科创
水月梦镜花41 分钟前
redis:list列表命令和内部编码
数据库·redis·list
MonkeyKing_sunyuhua1 小时前
ubuntu22.04 docker-compose安装postgresql数据库
数据库·docker·postgresql
天郁青1 小时前
数据库交互的本地项目:后台管理系统
数据库·交互
马剑威(威哥爱编程)2 小时前
MongoDB面试专题33道解析
数据库·mongodb·面试
小光学长2 小时前
基于vue框架的的流浪宠物救助系统25128(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
数据库·vue.js·宠物
零炻大礼包3 小时前
【SQL server】数据库远程连接配置
数据库