① PostGreSQL sql資料庫中 刪除數據的命令是什麼
delete from t_user where user_id='12345';
② postgresql 怎麼備份資料庫
PostgreSQL自帶一個客戶端pgAdmin,裡面有個備份,恢復選項,也能對資料庫進行備份 恢復(還原),但最近發現資料庫慢慢龐大的時候,經常出錯,備份的文件過程中出錯的幾率那是相當大,手動調節灰常有限。所以一直尋找完美的備份恢復方案。
夢里尋他千網路,伊人卻在燈火闌珊處...其實PostgreSQL內置不少的工具,尋找的備份恢復方案就在其中:pg_mp,psql。這兩個指令 在資料庫的安裝目錄下,比如我自己本地安裝的,路徑形如:C:\Program Files\PostgreSQL\9.5\;然後進入到bin文件夾,會看到不少的exe文件,這就是PostgreSQL內置的工具了。裡面會找到 pg_mp.exe,psql.exe兩個文件。我們怎麼用他們?
用法:
備份資料庫,指令如下:
pg_mp -h 164.82.233.54 -U postgres databasename > C:\databasename.bak
開始-運行-cmd 彈出dos控制台;然後 在控制台里,進入PostgreSQL安裝目錄bin下:
cd C:\Program Files\PostgreSQL\9.0\bin
最後執行備份指令:
pg_mp -h 164.82.233.54 -U postgres databasename > C:\databasename.bak
指令解釋:如上命令,pg_mp 是備份資料庫指令,164.82.233.54是資料庫的ip地址(必須保證資料庫允許外部訪問的許可權哦~),當然本地的資料庫ip寫 localhost;postgres 是資料庫的用戶名;databasename 是資料庫名。> 意思是導出到C:\databasename.bak文件里,如果沒有寫路徑,單單寫databasename.bak文件名,那麼備份文件會保存在C: \Program Files\PostgreSQL\9.0\bin 文件夾里。
恢復資料庫,指令如下:
psql -h localhost -U postgres -d databasename < C:\databasename.bak(測試沒有成功)
pg_restore.exe --host localhost --port 5432 --username "postgres" --dbname "symbolmcnew" --no-password --verbose "databasename.backup"(測試成功)
指令解釋:如上命令,psql是恢復資料庫命令,localhost是要恢復到哪個資料庫的地址,當然你可以寫上ip地址,也就是說能遠程恢復(必須保證 資料庫允許外部訪問的許可權哦~);postgres 就是要恢復到哪個資料庫的用戶;databasename 是要恢復到哪個資料庫。< 的意思是把C:\databasename.bak文件導入到指定的資料庫里。
以上所有的是針對windows而言的,如果在linux下,會不會有效?
在linux里依然有效。有一個值得注意的是:如果直接進入PostgreSQL的安裝目錄bin下,執行命令,可能會出現 找不到pg_mp,psql的現象,我們在可以這樣:
備份:
/opt/PostgreSQL/9.5/bin/pg_mp -h 164.82.233.54 -U postgres databasename > databasename.bak
恢復:
/opt/PostgreSQL/9.5/bin/psql -h localhost -U postgres -d databasename < databasename.bak
③ postgresql中怎麼用psql命令
連接資料庫, 默認的用戶和資料庫是postgres
psql -U user -d dbname
切換資料庫,相當於mysql的use dbname
\c dbname
列舉資料庫,相當於mysql的show databases
\l
列舉表,相當於mysql的show tables
\dt
查看錶結構,相當於desc tblname,show columns from tbname
\d tblname
\di 查看索引
創建資料庫:
create database [資料庫名];
刪除資料庫:
drop database [資料庫名];
*重命名一個表:
alter table [表名A] rename to [表名B];
*刪除一個表:
drop table [表名];
*在已有的表裡添加欄位:
alter table [表名] add column [欄位名] [類型];
*刪除表中的欄位:
alter table [表名] drop column [欄位名];
*重命名一個欄位:
alter table [表名] rename column [欄位名A] to [欄位名B];
*給一個欄位設置預設值:
alter table [表名] alter column [欄位名] set default [新的默認值];
*去除預設值:
alter table [表名] alter column [欄位名] drop default;
在表中插入數據:
insert into 表名 ([欄位名m],[欄位名n],......) values ([列m的值],[列n的值],......);
修改表中的某行某列的數據:
update [表名] set [目標欄位名]=[目標值] where [該行特徵];
刪除表中某行數據:
delete from [表名] where [該行特徵];
delete from [表名];--刪空整個表
創建表:
create table ([欄位名1] [類型1] <references 關聯表名(關聯的欄位名)>;,[欄位名2] [類型2],......<,primary key (欄位名m,欄位名n,...)>;);
\right 顯示 PostgreSQL 的使用和發行條款
\encoding [字元編碼名稱]
顯示或設定用戶端字元編碼
\h [名稱] SQL 命令語法上的說明,用 * 顯示全部命令
\prompt [文本] 名稱
提示用戶設定內部變數
\password [USERNAME]
securely change the password for a user
\q 退出 psql
可以使用pg_mp和pg_mpall來完成。比如備份sales資料庫:
pg_mp drupal>/opt/Postgresql/backup/1.bak
④ linux 如何查詢PostgreSQL的版本
在已經安裝了PostgreSQL的Linux上,使用下面的命令即可查詢安裝的版本:
psql--version
PostgreSQL是以加州大學伯克利分校計算機系開發的 POSTGRES,現在已經更名為PostgreSQL,版本 4.2為基礎的對象關系型資料庫管理系統(ORDBMS)。PostgreSQL支持大部分 SQL標准並且提供了許多其他現代特性:復雜查詢、外鍵、觸發器、視圖、事務完整性、MVCC。同樣,PostgreSQL 可以用許多方法擴展,比如, 通過增加新的數據類型、函數、操作符、聚集函數、索引。免費使用、修改、和分發 PostgreSQL,不管是私用、商用、還是學術研究使用。