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 值的列上。
* 索引不应该使用在频繁操作的列上。
相关推荐
Rookie也要加油17 分钟前
01_SQLite
数据库·sqlite
liuxin3344556622 分钟前
教育技术革新:SpringBoot在线教育系统开发
数据库·spring boot·后端
看山还是山,看水还是。1 小时前
MySQL 管理
数据库·笔记·mysql·adb
fishmemory7sec1 小时前
Koa2项目实战2(路由管理、项目结构优化)
数据库·mongodb·koa
momo小菜pa1 小时前
【MySQL 09】表的内外连接
数据库·mysql
Jasonakeke1 小时前
【重学 MySQL】四十九、阿里 MySQL 命名规范及 MySQL8 DDL 的原子化
数据库·mysql
程序猿小D2 小时前
第二百六十九节 JPA教程 - JPA查询OrderBy两个属性示例
java·开发语言·数据库·windows·jpa
小宇成长录2 小时前
Mysql:数据库和表增删查改基本语句
数据库·mysql·数据库备份
团儿.3 小时前
解锁MySQL高可用新境界:深入探索MHA架构的无限魅力与实战部署
数据库·mysql·架构·mysql之mha架构
程序猿小D3 小时前
第二百六十七节 JPA教程 - JPA查询AND条件示例
java·开发语言·前端·数据库·windows·python·jpa