下載吧 - 綠色安全的游戲和軟件下載中心

          軟件下載吧

          當(dāng)前位置:軟件下載吧 > 技術(shù)開發(fā) > 數(shù)據(jù)庫 > PostgreSQL新手入門教程

          PostgreSQL新手入門教程

          時間:2024-03-12 20:34作者:下載吧人氣:18

          自從MySQL被Oracle收購以后,PostgreSQL逐漸成為開源關(guān)系型數(shù)據(jù)庫的首選。
          本文介紹PostgreSQL的安裝和基本用法,供初次使用者上手。以下內(nèi)容基于Debian操作系統(tǒng),其他操作系統(tǒng)實在沒有精力兼顧,但是大部分內(nèi)容應(yīng)該普遍適用。

          安裝

          1、首先,安裝PostgreSQL客戶端。

            sudo apt-get install postgresql-client

          然后,安裝PostgreSQL服務(wù)器。

            sudo apt-get install postgresql

          2、正常情況下,安裝完成后,PostgreSQL服務(wù)器會自動在本機(jī)的5432端口開啟。

          如果還想安裝圖形管理界面,可以運行下面命令,但是本文不涉及這方面內(nèi)容。

          sudo apt-get install pgadmin3

          添加新用戶和新數(shù)據(jù)庫

          1、初次安裝后,默認(rèn)生成一個名為postgres的數(shù)據(jù)庫和一個名為postgres的數(shù)據(jù)庫用戶。這里需要注意的是,同時還生成了一個名為postgres的Linux系統(tǒng)用戶。
          下面,我們使用postgres用戶,來生成其他用戶和新數(shù)據(jù)庫。好幾種方法可以達(dá)到這個目的,這里介紹兩種。

          2、第一種方法,使用PostgreSQL控制臺。

          首先,新建一個Linux新用戶,可以取你想要的名字,這里為dbuser。
          sudo adduser dbuser  

          然后,切換到postgres用戶。
          sudo su – postgres
          下一步,使用psql命令登錄PostgreSQL控制臺。

          psql

          這時相當(dāng)于系統(tǒng)用戶postgres以同名數(shù)據(jù)庫用戶的身份,登錄數(shù)據(jù)庫,這是不用輸入密碼的。如果一切正常,系統(tǒng)提示符會變?yōu)椤眕ostgres=#”,表示這時已經(jīng)進(jìn)入了數(shù)據(jù)庫控制臺。以下的命令都在控制臺內(nèi)完成。
          第一件事是使用password命令,為postgres用戶設(shè)置一個密碼。
          password postgres

          第二件事是創(chuàng)建數(shù)據(jù)庫用戶dbuser(剛才創(chuàng)建的是Linux系統(tǒng)用戶),并設(shè)置密碼。

          CREATE USER dbuser WITH PASSWORD ‘password’;

          第三件事是創(chuàng)建用戶數(shù)據(jù)庫,這里為exampledb,并指定所有者為dbuser。

          CREATE DATABASE exampledb OWNER dbuser;

          第四件事是將exampledb數(shù)據(jù)庫的所有權(quán)限都賦予dbuser,否則dbuser只能登錄控制臺,沒有任何數(shù)據(jù)庫操作權(quán)限。

          GRANT ALL PRIVILEGES ON DATABASE exampledb to dbuser;

          最后,使用q命令退出控制臺(也可以直接按ctrl+D)。
          q

          3、第二種方法,使用shell命令行。

          添加新用戶和新數(shù)據(jù)庫,除了在PostgreSQL控制臺內(nèi),還可以在shell命令行下完成。這是因為PostgreSQL提供了命令行程序createuser和createdb。還是以新建用戶dbuser和數(shù)據(jù)庫exampledb為例。
          首先,創(chuàng)建數(shù)據(jù)庫用戶dbuser,并指定其為超級用戶。

          sudo -u postgres createuser –superuser dbuser
          然后,登錄數(shù)據(jù)庫控制臺,設(shè)置dbuser用戶的密碼,完成后退出控制臺。

          sudo -u postgres psql
          password dbuser
          q

          接著,在shell命令行下,創(chuàng)建數(shù)據(jù)庫exampledb,并指定所有者為dbuser。
          sudo -u postgres createdb -O dbuser exampledb

          登錄數(shù)據(jù)庫

          1、添加新用戶和新數(shù)據(jù)庫以后,就要以新用戶的名義登錄數(shù)據(jù)庫,這時使用的是psql命令。
          psql -U dbuser -d exampledb -h 127.0.0.1 -p 5432
          上面命令的參數(shù)含義如下:-U指定用戶,-d指定數(shù)據(jù)庫,-h指定服務(wù)器,-p指定端口。
          輸入上面命令以后,系統(tǒng)會提示輸入dbuser用戶的密碼。輸入正確,就可以登錄控制臺了。
          psql命令存在簡寫形式。如果當(dāng)前Linux系統(tǒng)用戶,同時也是PostgreSQL用戶,則可以省略用戶名(-U參數(shù)的部分)。舉例來說,我的 Linux系統(tǒng)用戶名為ruanyf,且PostgreSQL數(shù)據(jù)庫存在同名用戶,則我以ruanyf身份登錄Linux系統(tǒng)后,可以直接使用下面的命令 登錄數(shù)據(jù)庫,且不需要密碼。

          psql exampledb
          此時,如果PostgreSQL內(nèi)部還存在與當(dāng)前系統(tǒng)用戶同名的數(shù)據(jù)庫,則連數(shù)據(jù)庫名都可以省略。比如,假定存在一個叫做ruanyf的數(shù)據(jù)庫,則直接鍵入psql就可以登錄該數(shù)據(jù)庫。
          psql
          另外,如果要恢復(fù)外部數(shù)據(jù),可以使用下面的命令。
          psql exampledb < exampledb.sql

          控制臺命令

          1、除了前面已經(jīng)用到的password命令(設(shè)置密碼)和q命令(退出)以外,控制臺還提供一系列其他命令。
          h:查看SQL命令的解釋,比如h select。
          ?:查看psql命令列表。l:列出所有數(shù)據(jù)庫。
          c [database_name]:連接其他數(shù)據(jù)庫。
          d:列出當(dāng)前數(shù)據(jù)庫的所有表格。
          d [table_name]:列出某一張表格的結(jié)構(gòu)。
          du:列出所有用戶。
          e:打開文本編輯器。
          conninfo:列出當(dāng)前數(shù)據(jù)庫和連接的信息。

          數(shù)據(jù)庫操作

          1基本的數(shù)據(jù)庫操作,就是使用一般的SQL語言。

          # 創(chuàng)建新表

          CREATE TABLE usertbl(name VARCHAR(20), signupdate DATE);
          # 插入數(shù)據(jù)

          INSERT INTO usertbl(name, signupdate) VALUES(‘張三’, ‘2013-12-22’);
          # 選擇記錄
          SELECT * FROM user_tbl;
          # 更新數(shù)據(jù)
          UPDATE user_tbl set name = ‘李四’ WHERE name = ‘張三’;
          # 刪除記錄
          DELETE FROM user_tbl WHERE name = ‘李四’ ;
          # 添加欄位
          ALTER TABLE user_tbl ADD email VARCHAR(40);
          # 更新結(jié)構(gòu)
          ALTER TABLE usertbl ALTER COLUMN signupdate SET NOT NULL;
          # 更名欄位
          ALTER TABLE usertbl RENAME COLUMN signupdate TO signup;
          # 刪除欄位
          ALTER TABLE user_tbl DROP COLUMN email;
          # 表格更名
          ALTER TABLE usertbl RENAME TO backuptbl;
          # 刪除表格
          DROP TABLE IF EXISTS backup_tbl;

          標(biāo)簽[db:關(guān)鍵字]

          相關(guān)下載

          查看所有評論+

          網(wǎng)友評論

          網(wǎng)友
          您的評論需要經(jīng)過審核才能顯示

          熱門閱覽

          最新排行

          公眾號

          主站蜘蛛池模板: 天天看高清无码一区二区三区| 日本一区免费电影| 成人精品一区二区三区校园激情 | 国产精品免费大片一区二区| 日本一区二区三区在线观看| 高清一区二区三区| 无码人妻精品一区二区三区不卡 | 国产成人av一区二区三区不卡 | 国产精品成人一区二区三区| 精品乱码一区二区三区四区| 制服丝袜一区二区三区| 影院成人区精品一区二区婷婷丽春院影视 | 亚洲国产精品第一区二区| 无码毛片一区二区三区中文字幕| 亚洲日韩国产一区二区三区在线| 97一区二区三区四区久久| 国产精品美女一区二区视频| 亚洲熟妇av一区二区三区漫画| 精品视频一区二区三区四区五区| 成人国产精品一区二区网站| 国产亚洲福利精品一区二区| 国产手机精品一区二区| 2018高清国产一区二区三区| 亚洲一区二区三区深夜天堂| 精品乱码一区二区三区四区| 亚洲精品色播一区二区| 中文字幕日韩精品一区二区三区 | 精品一区二区三区在线播放 | 一区二区三区在线| 亚洲国产激情一区二区三区| jazzjazz国产精品一区二区| 久久毛片免费看一区二区三区| 国产91一区二区在线播放不卡| 一区二区三区免费视频网站| 国产AV国片精品一区二区| 中文字幕一区二区三区乱码| 国产成人精品一区二区秒拍| 亚洲综合一区二区| 国产成人一区二区在线不卡| 国产福利一区二区在线视频| 无码精品黑人一区二区三区|