本文主要是介绍PostgreSQL数据库基础--简易版,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据库
其中runoobdb为数据库名
- 查看已经存在的数据库
\l
- 进入数据库
\c runoobdb
- 创建数据库
CREATE DATABASE runoobdb;
- 删除数据库
DROP DATABASE runoobdb;
表
其中COMPANY为表名
- 创建表格
CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL,NAME TEXT NOT NULL,AGE INT NOT NULL,ADDRESS CHAR(50),SALARY REAL
);
- 查看表格
\d
- 查看表格信息
\d company
- 查询表格数据
# 所有数据
SELECT * FROM company;
# 指定字段 ID,NAME
SELECT ID,NAME FROM company;
# 找出 AGE(年龄) 字段大于等于 25,并且 SALARY(薪资) 字段大于等于 65000 的数据(使用WHERE)
SELECT * FROM COMPANY WHERE AGE >= 25 AND SALARY >= 65000;
# avg(),返回一个表达式的平均值;sum(),返回指定字段的总和;count(),返回查询的记录总数
# 使用(AS)
SELECT COUNT(*) AS "RECORDS" FROM COMPANY;
# 在 COMPANY 表中找出 NAME(名字) 字段中以 Pa 开头的的数据
# WHERE ... LIKE ...
SELECT * FROM COMPANY WHERE NAME LIKE 'Pa%';
# BETWEEN ... AND ...和
# IN 或
# 查询当前时间
SELECT CURRENT_TIMESTAMP;
# LIMIT 读取 4 条数据:
SELECT * FROM COMPANY LIMIT 4;
# LIMIT OFFSET 从第三位开始提取 3 个记录:
SELECT * FROM COMPANY LIMIT 3 OFFSET 2;
- 插入数据
# 单行
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (1, 'Paul', 32, 'California', 20000.00,'2001-07-13');
# 缺字段
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,JOIN_DATE) VALUES (2, 'Allen', 25, 'Texas', '2007-12-13');
# 设置默认值,而不是指定值
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (3, 'Teddy', 23, 'Norway', 20000.00, DEFAULT );
# 多行
INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY,JOIN_DATE) VALUES (4, 'Mark', 25, 'Rich-Mond ', 65000.00, '2007-12-13' ), (5, 'David', 27, 'Texas', 85000.00, '2007-12-13');
- 删除数据
# DELETE FROM ... WHERE ...
DELETE FROM COMPANY WHERE ID = 2;
# 删除表的数据,但不删除表结构
TRUNCATE TABLE table_name;
- 更新表数据
# UPDATE ... SET ...WHERE ... UPDATE COMPANY SET SALARY = 15000 WHERE ID = 3;
- 删除表格
drop table company;
模式
- 创建模式 myschema
create schema myschema;
- myschema模式下创建company表格
reate 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)
);
- 删除一个为空的模式
DROP SCHEMA myschema;
- 删除一个模式以及其中包含的所有对象
DROP SCHEMA myschema CASCADE;
事务
- 启动事务
BEGIN;或者BEGIN TRANSACTION;
- 把事务调用的更改保存到数据库中的事务命令,即确认事务
COMMIT;或者END TRANSACTION;
- 撤消尚未保存到数据库的事务命令,即回滚事务
ROLLBACK;
例如:
BEGIN;
DELETE FROM COMPANY WHERE AGE = 25;
ROLLBACK;
ALTER TABLE 命令
索引
# 列出数据库中所有索引
\di
# 删除索引
DROP INDEX index_name;
触发器
# 列举所有触发器
SELECT * FROM pg_trigger;
# 删除触发器
drop trigger ${trigger_name} on ${table_name};
这篇关于PostgreSQL数据库基础--简易版的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!