PIXNET Logo登入

彥霖 實驗筆記

跳到主文

個人筆記...

部落格全站分類:數位生活

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 5月 25 週五 201221:35
  • postgreSql基礎命令及linux下postgreSql命令

(1)用戶實用程序: 
createdb 創建一個新的PostgreSQL的數據庫(和SQL語句:CREATE DATABASE 相同) 
createuser 創建一個新的PostgreSQL的用戶(和SQL語句:CREATE USER 相同) 
dropdb 刪除數據庫 
dropuser 刪除用戶 
pg_dump 將PostgreSQL數據庫導出到一個腳本文件 
pg_dumpall 將所有的PostgreSQL數據庫導出到一個腳本文件 
pg_restore 從一個由pg_dump或pg_dumpall程序導出的腳本文件中恢复PostgreSQL數據庫 
psql 一個基於命令行的PostgreSQL交互式客戶端程序 
vacuumdb 清理和分析一個PostgreSQL數據庫,它是客戶端程序psql環境下SQL語句VACUUM的shell腳本封裝,二者功能完全相同 
(2)系統實用程序 
initdb 創建一個用於存儲數據庫的PostgreSQL數據目錄,並創建預定義的模板數據庫template0和template1,生成共享目錄表 catalog;此程序通常只在安裝PostgreSQL時運行一次 
initlocation 創建一個輔助的PostgreSQL數據庫存儲區域 
ipcclean 從停止的PostgreSQL服務器中清除共享內在和孤立信號標志 
pg_ctl 启動、停止、重启PostgreSQL服務(比如:pg_ctl start 启動PostgreSQL服務,它和service postgresql start相同) 
pg_controldata 顯示PostgreSQL服務的內部控制信息 
postgres PostgreSQL單用戶模式的數據庫服務 
postmaster PostgreSQL多用戶模式的數據庫服務 
4.這裏面最重要的是psql這個客戶端程序最为重要。启用客戶端程序psql的方法是: 
切換到PostgreSQL預定義的數據庫超級用戶postgres,启用客戶端程序psql,並連接到自己想要的數據庫,比如說: 
psql template1 
出現以下界面,說明已經進入到想要的數據庫,可以進行想要的操作了。 
template1=# 
5.在數據庫中的一些命令: 
template1=# \l 查看系統中現存的數據庫 
template1=# \q 退出客戶端程序psql 
template1=# \c 從一個數據庫中轉到另一個數據庫中,如template1=# \c sales 從template1轉到sales 
template1=# \dt 查看表 
template1=# \d 查看表結構 
template1=# \di 查看索引 
[基本數據庫操作]======================== 
*創建數據庫: 
create database [數據庫名]; 
*查看數據庫列表: 
\d 
*刪除數據庫: 
drop database [數據庫名];  
創建表: 
create table ([字段名1] [類型1] <references 關聯表名(關聯的字段名)>;,[字段名2] [類型2],......<,primary key (字段名m,字段名n,...)>;); 
*查看表名列表: 
\d 
*查看某個表的狀況: 
\d [表名] 
*重命名一個表: 
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 [表名];--刪空整個表 
6.要注意隨時對數據庫進行清理、收回磁盤空間並更新統計信息,使用下面的命令就搞定! 
vaccumdb -d sales -z 
-a 對所有的數據庫操作 
-z 保證不斷地刪除失效的行,節約磁盤空間,將統計信息更新为最近的狀態 
7.PostgreSQL用戶認證 
PostgreSQL數據目錄中的pg_hba.conf的作用就是用戶認證,可以在/var/lib/pgsql/data中找到。 
有以下幾個例子可以看看: 
(1)允許在本機上的任何身份連接任何數據庫 
TYPE DATABASE         USER     IP-ADDRESS    IP-MASK     METHOD 
local all             all                                 trust(無條件進行連接) 
(2)允許IP地址为192.168.1.x的任何主機與數據庫sales連接 
TYPE DATABASE         USER     IP-ADDRESS    IP-MASK     METHOD 
host sales            all      192.168.1.0    255.255.255.0 ident sameuser(表明任何操作系統用戶都能夠以同名數據庫用戶進行連接) 
8.看了那麼多,來一個完整的創建PostgreSQL數據庫用戶的示例吧 
(1)進入PostgreSQL高級用戶 
(2)启用客戶端程序,並進入template1數據庫 
psql template1 
(3)創建用戶 
template1=# CREATE USER hellen WITH ENCRYPED PASSWORD'zhenzhen' 
(4)因为設置了密碼,所以要編輯pg_hba.conf,使用戶和配置文件同步。 
在原有記錄上面添加md5 
local    all    hellen      md5 
(4)使用新用戶登錄數據庫 
template1=# \q 
psql -U hellen -d template1 
PS:在一個數據庫中如果要切換用戶,要使用如下命令: 
template1=# \!psql -U tk -d template1 
9.設定用戶特定的權限 
還是要用例子來說明: 
創建一個用戶組: 
sales=# CREATE GROUP sale; 
添加幾個用戶進入該組 
sales=# ALTER GROUP sale ADD USER sale1,sale2,sale3; 
授予用戶級sale針對表employee和products的SELECT權限 
sales=# GRANT SELECT ON employee,products TO GROUP sale; 
在sale中將用戶user2刪除 
sales=# ALTER GROP sale DROP USER sale2; 
10.備份數據庫 
可以使用pg_dump和pg_dumpall來完成。比如備份sales數據庫: 
pg_dump sales>/home/tk/pgsql/backup/1.bak 
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(13,793)

  • 個人分類:[資料庫] PostgreSQL
▲top
  • 5月 25 週五 201221:01
  • PostgreSQL 指令

\copyright 顯示發行條款
\h 顯示 SQL 指令的說明
\? 顯示 psql 指令的說明
\g 或者以分號 (;) 結尾以執行查詢
\q 結束
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(1) 人氣(34,256)

  • 個人分類:[資料庫] PostgreSQL
▲top
  • 5月 19 週六 201222:37
  • Java UDP 客戶端傳資料至伺服器端(UDP Client to Server)

// 伺服器端程式碼 ----------------------------------------------------------------------------------------
import java.net.DatagramPacket;
import java.net.DatagramSocket;
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(2,297)

  • 個人分類:[程式語言] Java
▲top
  • 5月 18 週五 201215:24
  • C# UDP 客戶端傳資料至伺服器端(UDP Client to Server)


// 伺服器程式碼 -------------------------------------------------------------------------------
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
 
namespace g
{
    class MainClass
    {
        public static void Main(string[] args)
        {
            UdpClient uc = new UdpClient(80);
            // 公開IP
            // IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("114.47.91.248"), 80); 
            // 內部IP,但外部還是可以連近來
            IPEndPoint ipep = new IPEndPoint (IPAddress.Parse ("192.168.0.80"), 80);   
            Console.WriteLine("伺服器已啟動於 : " + ipep);
            while (true)
            {
                Console.WriteLine(System.Text.Encoding.UTF8.GetString(uc.Receive(ref ipep)));
            }
        }
    }
}
 
 
// 客戶端程式碼 -------------------------------------------------------------------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            UdpClient uc = new UdpClient();
            byte[] b = System.Text.Encoding.UTF8.GetBytes("Hello 你好 ~");
            uc.Send(b, b.Length, new IPEndPoint(IPAddress.Parse("114.47.91.248"), 80));
        }
    }
}
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(1,111)

  • 個人分類:[程式語言] C #
▲top
  • 5月 18 週五 201202:39
  • Java 網路字串(串流)傳遞,客戶端傳資料給伺服器端

// 伺服器同一時間只能處理一個客戶端資料,下一個客戶端要處理必須等待第一個客戶端完成才能夠傳送資料
// 伺服器程式碼----------------------------------------------------------------------------------------------------------------------
 
import java.io.DataInputStream;
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(1) 人氣(3,050)

  • 個人分類:[程式語言] Java
▲top
  • 5月 17 週四 201221:01
  • 取得 目前電腦 IP

import java.net.*;
String ip = InetAddress.getLocalHost().getHostAddress() ;
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(121)

  • 個人分類:[程式語言] Java
▲top
  • 5月 13 週日 201223:53
  • Java 在 Frame 中隱藏滑鼠

指向一個不存在的圖片將可隱藏滑鼠
setCursor(this.getToolkit().createCustomCursor(new ImageIcon("").getImage(),new Point(16, 16),""));
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(219)

  • 個人分類:[程式語言] Java
▲top
  • 5月 13 週日 201216:39
  • 伺服端 TcpListener 非同步連線

using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace ServerSocket
{
class ServerSocket
{
public static ManualResetEvent thread = new System.Threading.ManualResetEvent(false);
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(5,325)

  • 個人分類:[程式語言] C #
▲top
  • 5月 11 週五 201223:02
  • 和春技術學院,遊戲設計社 http://loli-cat.com/

和春技術學院,遊戲設計社
http://loli-cat.com/
 
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(0) 人氣(55)

  • 個人分類:
▲top
  • 5月 10 週四 201203:49
  • C# 強制關閉程式

加入這一行即可強制關閉程式 :
System.Environment.Exit(System.Environment.ExitCode);
 
(繼續閱讀...)
文章標籤

黃彥霖 發表在 痞客邦 留言(1) 人氣(11,527)

  • 個人分類:[程式語言] C #
▲top
«1...42434446»

實驗人員

黃彥霖
暱稱:
黃彥霖
分類:
數位生活
好友:
累積中
地區:

文章分類

  • [遊戲設計] Unity (100)
  • [程式語言] Java (91)
  • [程式語言] Go (31)
  • [程式語言] C # (15)
  • [程式語言] Python 3 (11)
  • [程式語言] Erlang (2)
  • [程式語言] Python 2 (2)
  • [程式語言] C++ (10)
  • [程式語言] C (8)
  • [程式語言] Node.js (5)
  • [程式語言] JavaScript (8)
  • [程式語言] Java-Android (2)
  • [資料庫] PostgreSQL (28)
  • [資料庫] Hadoop (2)
  • [作業系統] Linux (23)
  • [作業系統] Windows (3)
  • [作業系統] FreeRTOS (1)
  • [單晶片] Arduino (19)
  • [單晶片] ARM-STM32-F4 (15)
  • [單晶片] ARM-STM32-F1 (13)
  • [單晶片] ARM-LPC1114 (1)
  • [單晶片] PIC33FJ128MC804 (4)
  • [硬體設計] 常用IC (1)
  • [硬體設計] 3D 印表機 (3)
  • [硬體設計] 其他 (4)
  • [數學+程式語言] Matlab (4)
  • [數學] 應用數學 (2)
  • [論壇架設] Discuz! (1)
  • [科技新聞] 機器人 (3)
  • [轉碼工具] FFMPEG (1)
  • [檔案格式] 3D 檔案 (1)
  • [程式語言] 程式設計經驗談 (2)
  • [伺服器] GlassFish 筆記 (1)
  • [網頁] HTML 教學 (5)
  • [網頁] CSS 語法 (1)
  • [網頁] JSP / Servlet (7)
  • [網路監控] SmartSniff (1)
  • [虛擬機器] VirtualBox (1)
  • [電腦安全] 開發者 (1)
  • [美術設計] 繪畫 (0)
  • [3D設計] Blender 教學 (2)
  • [3D設計] Blender 外掛設計 (1)
  • [2D設計] GIMP Python (2)
  • [3D設計] Shroud Studio (3)
  • [展示] 作品、比賽、專題 (4)
  • [人類語言] 希伯來語 (1)
  • [金融] 外匯 (1)
  • 未分類文章 (1)

FB 粉絲頁

最新留言

  • [24/05/04] 訪客 於文章「Arduino 入門教學:讀取 ADXL...」留言:
    我想問一下關於ADXL345的問題,我在ARDUINO上測量...
  • [23/01/14] 訪客 於文章「Arduino 入門教學:Timer 使...」留言:
    如果我的callfunction是需要帶參數的 那t.ev...
  • [21/10/21] 陳霖 於文章「Arduino 入門教學:讀取 LSM3...」留言:
    不好意思不知道您還看不看的到,想請問您,你抓出的加速度器資料...
  • [21/07/23] wjb5741 於文章「Arduino 入門教學:讀取 ADXL...」發表了一則私密留言
  • [21/07/23] wjb5741 於文章「Arduino 入門教學:讀取 ADXL...」發表了一則私密留言
  • [20/10/27] 蔡金龍 於文章「STM32F1 入門教學:UART 接收...」發表了一則私密留言
  • [20/09/17] 秋本 嵐 於文章「Unity 入門教學:使用攝影機...」留言:
    您好,我最近在做Unity與Webcam相關的東西。 我想...
  • [20/08/09] 訪客 於文章「STM32F4 入門教學:SysTick...」留言:
    謝謝分享 ~ : )...
  • [20/07/24] 楊昇逸 於文章「C++ ( Qt 5 ) 入門範例:各種...」發表了一則私密留言
  • [20/03/04] 訪客 於文章「Java Json 教學:使用 org....」留言:
    <script>alert('hello');</scrip...

參觀人氣

  • 本日人氣:
  • 累積人氣: