1. 程式人生 > >PostgreSQL(一)教程 -----SQL語言

PostgreSQL(一)教程 -----SQL語言

位置 支持 cron 列名 使用 spa 分號 還要 mman

一、概念

PostgreSQL是一種關系型數據庫管理系統 (RDBMS)。這意味著它是一種用於管理存儲在關系中的數據的系統。關系實際上是的數學術語。 今天,把數據存儲在表裏的概念已經快成了固有的常識了, 但是還有其它的一些方法用於組織數據庫。在類 Unix 操作系統上的文件和目錄就形成了一種層次數據庫的例子。 更現代的發展是面向對象數據庫。

每個表都是一個命名的集合。一個給定表的每一行由同一組的命名組成,而且每一列都有一個特定的數據類型。雖然列在每行裏的順序是固定的, 但一定要記住 SQL 並不對行在表中的順序做任何保證(但你可以為了顯示的目的對它們進行顯式地排序)。

表被分組成數據庫,一個由單個PostgreSQL服務器實例管理的數據庫集合組成一個數據庫集簇

二、創建一個新表

你可以通過指定表的名字和所有列的名字及其類型來創建表∶

CREATE TABLE weather (
    city            varchar(80),
    temp_lo         int,           -- 最低溫度
    temp_hi         int,           -- 最高溫度
    prcp            real,          -- 濕度
    date            date
);

你可以在psql輸入這些命令以及換行符。psql可以識別該命令直到分號才結束。
你可以在 SQL 命令中自由使用空白(即空格、制表符和換行符)。 這就意味著你可以用和上面不同的對齊方式鍵入命令,或者將命令全部放在一行中。兩個劃線("--
")引入註釋。
任何跟在它後面直到行尾的東西都會被忽略。SQL 是對關鍵字和標識符大小寫不敏感的語言,只有在標識符用雙引號包圍時才能保留它們的大小寫(上例沒有這麽做)。
varchar(80)指定了一個可以存儲最長 80 個字符的任意字符串的數據類型。int是普通的整數類型。real是一種用於存儲單精度浮點數的類型。date類型應該可以自解釋(沒錯,類型為date的列名字也是date。 這麽做可能比較方便或者容易讓人混淆 — 你自己選擇)。
PostgreSQL支持標準的SQL類型intsmallintrealdouble precisionchar(N)varchar(N)datetime
timestampinterval,還支持其他的通用功能的類型和豐富的幾何類型。PostgreSQL中可以定制任意數量的用戶定義數據類型。因而類型名並不是語法關鍵字,除了SQL標準要求支持的特例外。


第二個例子將保存城市和它們相關的地理位置:
CREATE TABLE cities (
    name            varchar(80),
    location        point
);
類型point就是一種PostgreSQL特有數據類型的例子。
最後,我們還要提到如果你不再需要某個表,或者你想以不同的形式重建它,那麽你可以用下面的命令刪除它:
DROP TABLE tablename;

三、在表中

PostgreSQL(一)教程 -----SQL語言