postgreSQL入门

PostgreSQL 教程

约束条件

csharp 复制代码
not null, 不能为空
unique, 在所有数据中必须唯一
check, 字段设置条件
default, 字段默认值
primary(not null, unique), 主键, 不能为空且不能重复 

数据库操作

php 复制代码
create database [name]; // 建立数据库
drop database [name]; // 删除数据库
\c [database_name] // 连接其他数据库 
\l // 列出所有数据库
\? // 查看 psql 命令
\q // 退出 psql
// 改名
ALTER DATABASE exp3_1_complicated_query RENAME TO exp3_1;

PostgreSQL 数据类型 | 菜鸟教程 (runoob.com)

表格操作

创建表格

sql 复制代码
CREATE TABLE COMPANY(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL,
   ADDRESS        CHAR(50),
   SALARY         REAL
);
sql 复制代码
CREATE TABLE DEPARTMENT(
   ID INT PRIMARY KEY      NOT NULL,
   DEPT           CHAR(50) NOT NULL,
   EMP_ID         INT      NOT NULL
);
sql 复制代码
CREATE TABLE COMPANY3(
   ID INT PRIMARY KEY     NOT NULL,
   NAME           TEXT    NOT NULL,
   AGE            INT     NOT NULL UNIQUE,
   ADDRESS        CHAR(50),
   SALARY         REAL    DEFAULT 50000.00
);

插入数据

sql 复制代码
create table test(id int, body varchar(100));
insert into(test(id,body) values(1, 'hello,postgresql');

查询数据

csharp 复制代码
select * from test; // 查询数据

更新数据

chsarp 复制代码
update test set name = 'mayun' where id = 1; // 更新数据
delete from test where id = 1; // 删除数据

表格操作

php 复制代码
\d // 查看当前数据库所有表格
\d [table_name] // 列出某一张表格的结构
DROP TABLE table_name; // 删除表格

数据类型

php 复制代码
timestamp : 日期和时间
date : 日期,无时间
time : 时间
Schema

PostgreSQL 模式(SCHEMA)可以看着是一个表的集合。

一个模式可以包含视图、索引、数据类型、函数和操作符等。

相同的对象名称可以被用于不同的模式中而不会出现冲突,例如 schema1 和 myschema 都可以包含名为 mytable 的表。

使用模式的优势:

  • 允许多个用户使用一个数据库并且不会互相干扰。
  • 将数据库对象组织成逻辑组以便更容易管理。
  • 第三方应用的对象可以放在独立的模式中,这样它们就不会与其他对象的名称发生冲突。

模式类似于操作系统层的目录,但是模式不能嵌套。

scharp 复制代码
#创建schema: 
create schema myschema;

create table myschema.company(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25),
   SALARY   DECIMAL (18, 2),
   PRIMARY KEY (ID)
);

#删除schema: 
drop schema myschema;

#删除一个模式以及其中包含的所有对象:
DROP SCHEMA myschema CASCADE;

# 列出所有模式 (schema )
\dn 
# 显示特定 schema 的所有 table
\d <schema>.*

其余操作

php 复制代码
\t // 只显示元组
\! cls // 清屏 在 Windows 系统中
php 复制代码
-- 删除唯一索引
drop index uk_users_name;
php 复制代码
-- 删除唯一索引
drop index if EXISTS uk_users_name;
php 复制代码
create table undergraduate(
sno char(10) primary key not null,
sname char(10) not null unique,
ssex char(2) not null check(ssex = '男' or ssex = '女'),
birthday date not null, 
polity char(20) default '群众'
); 

create table sc(
sno char(10) not null,
cno char(10) not null,
grade real
);

// check(date > 2019-10-22),

参考资料

零基础入门PostgreSQL · 语雀

相关推荐
码农小卡拉15 分钟前
深入解析Spring Boot文件加载顺序与加载方式
java·数据库·spring boot
怣5020 分钟前
MySQL多表连接:全外连接、交叉连接与结果集合并详解
数据库·sql
wjhx41 分钟前
QT中对蓝牙权限的申请,整理一下
java·数据库·qt
冰暮流星1 小时前
javascript之二重循环练习
开发语言·javascript·数据库
万岳科技系统开发1 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
冉冰学姐1 小时前
SSM智慧社区管理系统jby69(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·管理系统·智慧社区·ssm 框架
杨超越luckly2 小时前
HTML应用指南:利用GET请求获取中国500强企业名单,揭秘企业增长、分化与转型的新常态
前端·数据库·html·可视化·中国500强
Elastic 中国社区官方博客2 小时前
Elasticsearch:Workflows 介绍 - 9.3
大数据·数据库·人工智能·elasticsearch·ai·全文检索
仍然.2 小时前
MYSQL--- 聚合查询,分组查询和联合查询
数据库
一 乐2 小时前
校园二手交易|基于springboot + vue校园二手交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端