開始使用PostgreSQL之前, 上一節我們說了怎樣安裝它。
PostgreSQL可能已經安裝到你的電腦上了,安裝后postgre服務默認在電腦開機時運行啟動。
一.了解PostgreSQL的運行
PostgreSQL使用一種客戶端/服務器(C/S)模型。
和其他典型的客戶端/服務器應用一樣,客戶端和服務器可以在不同的主機上,這時它們通過 TCP/IP 網絡連接通訊。
1.客戶端應用是多種多樣的,你可以使用很多的工具來連接上它。我們使用的現在有兩種?pgAdmin?和 sql命令行工具。
? ? ? ? 1.1 pgAdmin
? ? ? ? 1.2 sql命令行工具
2.服務器有一個守護進程總是在等待著客戶端來連接。
? ? 當一個客戶端連接時會運行一個服務器進程,多個客戶端連接時會分別對應運行多個服務器進程。
? ? 所以說一次連接就是建立了一次PostgreSQL會話,會話可以是長時的,就是說一個會話可以分別執行多個sql命令。
3.每一個服務器進程,管理數據庫文件、接收客戶端與數據庫的連接,并且代表客戶端在數據庫上執行操作。
? ? 數據庫服務器程序就叫做postgres,這是它的由來。
二.創建一個數據庫
首先通過默認用戶postpre登錄。
一個新的數據庫,在我們例子數據庫叫 firstdb ,可以使用下面的命令:
create?database firstdb;?--創建名稱為firstdb的數據庫
注意創建數據庫需要;結尾
如果不產生任何響應則表示該步驟成功。
注意新的數據庫,默認可以使用超級用戶postgre登錄,我們就使用超級用戶postgre重新連接新數據庫firstdb。
之后試驗一下下面的命令:
select?version(); -- 輸出當前數據庫版本信息
select?current_date;?-- 打印當前日期
select?2?+?2; -- 計算2+2
兩個方式執行,哪個都行。
如果使用的是sql命令行工具,psql程序有一些不屬于SQL命令的內部命令,以反斜線開頭 \,獲取各種SQL命令的幫助語法:
-
\h 表示幫助語法 help
? ?
? ? firstdb=> \h
-
\q 表示退出psql
? ? ? ?
firstdb=> \q
三.SQL語言說明
PostgreSQL是一種關系型數據庫管理系統(RDBMS)。是一種用于管理存儲在關系中的數據的系統。關系是表的數學術語。
現今把數據存儲在表里的概念已經快成了固有的常識。
1.單個PostgreSQL服務器實例管理的全部數據庫的集合,組成了一個數據庫集簇。
2.一個數據庫可以分組為多個表,可以與excel表格類比。
3.每個表都是一個行集合,每一行由一組命名列組成,而每一列都有一個特定的數據類型。
四.創建表天氣表
指定表的名字weather(天氣) 和所有列的名字及類型來創建一個表∶
?
create?table?weather (?--創建表天氣id?varchar(20),?--id為表的行標識id 1、2、3、4.... varchar(20)為字符數據類型,最大20個字符city?varchar(80),?-- 城市名詞 varchar(80) 為存儲最長80個字符的任意字符串的數據類型temp_low?int,?-- 最低溫度 int是整數類型temp_high?int,?-- 最高溫度 int是整數類型prcp?real,?-- 濕度 real存儲單精度浮點數的類型(知道就行,不常用)date?date?-- 時間字段 就是類型為date的列名字也是date
);
-- 這個標志為注釋,就是說明,在sql中不會進行執行,會被忽略。
上面的sql命令以及換行符,直到分號才結束。
在 SQL 命令中可以自由使用空白(即空格、制表符和換行符)。
SQL 是對關鍵字和標識符大小寫不敏感的語言。
PostgreSQL支持標準的SQL類型有int、smallint、real、double precision、char(N)、varchar(N)、date、time、timestamp和interval,還支持其他的通用功能的類型和豐富的幾何類型。
甚至可以定制任意數量的用戶自定義數據類型。因而類型名并不是語法關鍵字,除了SQL標準要求支持的特例外。
五.創建表城市表
用來保存城市和相關的地理位置:
create?table?cities (?--創建表城市id?varchar(20),?--id為表的行標識id varchar(20)為字符數據類型,最大20個字符name?varchar(80),?--name為城市名稱 varchar(80) 為存儲最長80個字符的任意字符串的數據類型location point?--location地理位置字段 類型point就是一種PostgreSQL特有數據類型的例子(知道就行,不常用)
);
看了兩個表的創建應該明白了,它的形式都一樣,就看我們存儲什么。
六.刪除城市表
如果你不再需要某個表,或者以不同的形式要重建它,那么你可以用下面的命令刪除對應的表。
drop?table?cities;?-- drop 執行會刪除表,刪除后無法恢復
甚至可以直接刪除剛新建的數據庫firstdb
drop?database firstdb;?-- 刪除數據庫(DROP DATABASE 大小寫都有)
當前登錄為firstdb數據庫,自己不能刪除自己的庫。
若真要刪除可以登錄postgres用戶刪除,因為建庫是用postgres用戶。
最后
下次說表中增加行和查詢表
完畢!