PostgreSQL 初学者速查表

2025-06-07

PostgreSQL 初学者速查表

PostgreSQL,也称为 Postgres,是一个开源的、面向对象的关系数据库管理系统,遵循 PostgreSQL 许可证发布。在本文中,我想通过示例来介绍如何使用 Postgres,因为如果你和我一样,有时需要快速浏览一下使用说明,我认为将这些信息集中到一起会很有帮助。

创建表

CREATE TABLE [IF NOT EXISTS] person(
   document INTEGER NOT NULL,
   documentType SMALLINT NOT NULL
   name VARCHAR ( 50 ) NOT NULL,
   bithDate TIMESTAMP NOT NULL,
   PRIMARY KEY (document , documentType ),
   FOREIGN KEY (documentType)
      REFERENCES type(code),
);

删除表

DROP TABLE [IF EXISTS] person
[CASCADE | RESTRICT];

如果删除一个不存在的表,PostgreSQL 会报错。为了避免这种情况,可以使用 IF EXISTS 语句(我总是加上这个语句以防万一)。
另一方面,CASCADE 选项允许删除表及其依赖对象,而 RESTRICT 选项则会在存在任何依赖该表的对象时拒绝删除。如果未在 DROP TABLE 语句中明确指定,则 RESTRICT 选项为默认选项。

修改表

/* Add a column */
ALTER TABLE person 
ADD COLUMN passportNumber INTEGER;

/* Delete a column */
ALTER TABLE person 
DROP COLUMN passportNumber ;

/* Rename the column*/
ALTER TABLE person 
RENAME COLUMN document 
TO documentNumber;

/* Add a constraint at the table */
ALTER TABLE person 
ADD CONSTRAINT unique_passport UNIQUE ( passportNumber );

管理数据

/*Insert to the table*/
INSERT INTO person(document, documentType, name, bithDate ) VALUES (1020754, 2, 'Jane Doe', '13/02/1998');

/*Delete*/
DELETE FROM person
WHERE document = 1020754;

/*Update*/
UPDATE person
SET bithDate = '1998-02-14' 
WHERE document = 1020754;

最后,我想给你一点小奖励,如果你需要插入很多寄存器,你可以使用 COPY,这是一种在文件和表之间传输数据的便捷方式,但当一次添加几千行以上时,它也比 INSERT 快得多。

COPY copy_test FROM '/path/sample_data.csv' DELIMITER ',';

我希望您觉得这篇文章有帮助,感谢您的阅读!!

文章来源:https://dev.to/sabrinasuarezarrieta/postgresql-cheat-sheet-for-beginners-42j2
PREV
开发者社区性别人口结构分析(第一部分)
NEXT
女性开发者的世界👩‍💻