概述
今天主要对PG数据库的一些基本SQL语句用法做个介绍,做个简单了解,也做备忘!
下面主要用例子来说明。
1、建表语句
create table test ( id int8 primary key, info text, crt_time timestamp );
2024年04月26日
今天主要对PG数据库的一些基本SQL语句用法做个介绍,做个简单了解,也做备忘!
下面主要用例子来说明。
create table test ( id int8 primary key, info text, crt_time timestamp );
2024年04月26日
表操作大全,主键,约束,外键,字段操作,重命名
1.单个字段主键
postgres=# create table test01(id int primary key, note varchar(20));
2.复合主键
postgres=# create table test02(id1 int,id2 int,note varchar(20), CONSTRAINT pk_test02 primary key(id1,id2));
3.唯一约束UNIQUE
postgres=# create table test03(id1 int,id2 int,note varchar(20),id3 int, CONSTRAINT pk_test03 primary key(id1,id2), CONSTRAINT uk_test03_id3 UNIQUE(id3));
4.check约束,定义某些字段的值必须满足某种要求
postgres=# create table child(name varchar(20), age int,note text, CONSTRAINT ck_child_age CHECK(age<18));
年龄字段要求不能大于18
create table books(book_no integer,name text,price numeric CHECK(price>0),discounted_price numeric CHECK(discounted_price),CHECK (price>discounted_price));
CHECK(price>0) CHECK(discounted_price) 为字段约束
CHECK (price>discounted_price)为表约束
create table books(book_no integer,name text,price numeric ,discounted_price numeric,CHECK(price>0),CHECK(discounted_price),CHECK (price>discounted_price));
或者
create table books(book_no integer,name text,price numeric ,discounted_price numeric,CHECK(price>0 and discounted_price and price>discounted_price));
5.非空约束
create table books(book_no integer not null, name text, price numeric);
6.外键约束
create table class(class_no int primary key, class_name varchar(40));
create table student(student_no int primary key,student_name varchar(40), age int, class_no int REFERENCES class(class_no));
7.增加字段
alter table class add column class_teacher varchar(40);
8.删除字段
alter table class drop column class_teacher varchar(40);
9.删除字段外键依赖CASCADE
alter table class drop column class_teacher varchar(40) CASCADE;
10.增加约束
alter table student ADD CHECK (age>16);
alter table class ADD CONSTRAINT unique_class_teacher UNIQUE(class_teacher);
11.增加非空约束
alter table student ALTER COLUMN student_name SET NOT NULL;
12.删除约束
alter table class DROP CONSTRAINT unique_class_teacher;
13.修改默认值
alter table student ALTER COLUMN age SET DEFAULT 15;
14.删除默认值
alter table student ALTER COLUMN age DROP DEFAULT;
15.修改字段数据类型
alter table student ALTER COLUMN student_name TYPE text;
只有在字段里现有的每个项都可以隐式地转换成新类型时,这个语句才能成功。
如果把varchar(40)改成varchar(5),就可能失败
alter table student ALTER COLUMN student_name TYPE varchar(5);
16.重命名字段
alter table books RENAME COLUMN book_no TO book_id;
17.重命名表
alter table class RENAME to classes;
2024年04月26日
最近有需要对数据进行迁移的需求,主要是从excel表导入到PG数据库表,这里我是从postgres本身支持的copy命令来实现的,所以主要介绍一下COPY的命令..
2024年04月26日
2024年04月26日
今天主要介绍一些PostgreSQL的工具,大体上可以分为以下几类:
2024年04月26日
今天主要分享一下postgresql怎么去查看数据库,表,索引,表空间以及大小,适合平时PG运维的朋友。
postgres=# \l --查看所有数据库 postgres=# select pg_database_size('hwb'); --查看单个数据库的大小 postgres=# select pg_database.datname, pg_database_size(pg_database.datname) AS size from pg_database; --查看所有数据库的大小 postgres=# select pg_size_pretty(pg_database_size('hwb')); --以KB,MB,GB的方式来查看数据库大小
2024年04月26日
当谈到数据库管理系统时,PostgreSQL是一个功能强大且广泛使用的开源关系型数据库。在本次讲解中,我将为您介绍如何创建和管理数据库,并提供一些有关PostgreSQL的基本概念和最佳实践的指导。
2024年04月26日
2020 年 5 月,我们与 OnGres 合作,对 GitLab 上的 Postgres 集群进行版本大更新,从 9.6 版本升级到 11 版本。升级全部在维护窗口内运行,没有丝毫差错;更新中所有涉及的内容、计划、测试,以及全流程自动化,全部进行拆包,只为实现一次近乎完美的 PostgreSQL 升级。