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