Postgresql」カテゴリーアーカイブ

Pandas DataFrame(data,columns,index)の生成

 import pandas as pd

① 列( ⇩ ) : 辞書指定

 df_col = pd.DataFrame({ 'col_name1' : ['val_11' , 'val_12' , 'val_13'],
                         'col_name2' : ['val_21' , 'val_22' , 'val_23'],
                         'col_name3' : ['val_31' , 'val_32' , 'val_33'],
                        })
 print ( df_col )
 #     col_name1  col_name2  col_name3
 #  0     val_11     val_21     val_31
 #  1     val_12     val_22     val_32
 #  2     val_13     val_23     val_33

② 行( ⇨ ) : リスト指定

 df_ind = pd.DataFrame([ ['val_11' , 'val_12' , 'val_13'],
                         ['val_21' , 'val_22' , 'val_23'],
                         ['val_31' , 'val_32' , 'val_33'],
                       ])
 print ( df_ind )
 #             0          1          2 
 #  0     val_11     val_12     val_13
 #  1     val_21     val_22     val_23
 #  2     val_31     val_32     val_33


③ 行列 : index , columns指定

 df_colind = pd.DataFrame([ ['val_11' , 'val_12' , 'val_13'],
                            ['val_21' , 'val_22' , 'val_23'],
                            ['val_31' , 'val_32' , 'val_33']],
                          index = [ ind_1 , ind_2 , ind_3 ],
                          columns = [ col_1 , col_2 , col_3 ]
                         )
 print ( df_colind )
#          col_1    col_2    col_3
# ind_1   val_11   val_12   val_13
# ind_2   val_21   val_22   val_23
# ind_3   val_31   val_32   val_33
因みに、 df = pd.DtaFrame()
          print ( df )
          # Empty DtaFrame  #Columns: []  #Index: []

Cheat 01


¥l (DB一覧)
¥d (schema一覧)
¥dt.schema_name.* (特定schemaのtable一覧)
¥dt.schema_name.table_name (特定schema.tableの詳細)
¥d.schema_name.table_name column_name key (特定schema.tableのindex情報)
¥d.schema_name.table_name_pkey (primary_key情報)
¥d.schema_name.table_name (tableのcolumn情報)
¥conninfo (current DB情報)

¥du (role一覧)
¥du role_name (特定role詳細)

¥dn (作成済みschema一覧)
¥dn+ (アクセス権も含めて表示)

¥di (検索パスに設定されているスキーマのindex 一覧)
¥di schema_name.* (検索パスに設定されていないスキーマでは)

¥s
¥i c:¥¥~~¥¥~~¥¥filename.txtsql’ (fileの実行)

~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~


[db]
(databaseの作成)

CREATE DATABASE name;
(Database 削除)
DROP DATABASE [ IF EXISTS ] name;

[role]
(roleの作成)

CREATE ROLE name [ [ WITH ] option [ … ] ];
(roleを使ってユーザー認証基本書式): : CRERATE ROLE name WITH LOGINPASSWORD ‘password’;

(roleの属性の変更(Alter Role))
ALTER ROLE role_name [ WITH ] option [ … ];
(権限の追加)
[GRANT 権限 ON 対象 TO 誰に];
(権限の削除)
[REVOKE 権限 ON 対象 FROM 誰から ];
(role の削除) . DROP ROLE [ IF EXISTS ] role_name [, …];

[schema]
(schemaの新規作成)

CREATE SCHEMA schema_name;


[table]
(tableの新規作成
)
create table schema_name.table_name (column data_type,…);
(他のtableをcopyしてtable新規作成)
create table table_name (column data_type,…) like \ . another_table_name [like option];
(tableの削除)
drop table table_name;
(columnの追加)
alter table table_name add column_name data_type;
(columnの削除)
alter table table_name drop column_name;
(recordの追加)
insert into table_name [column_list] values [values_list];
(record条件付き削除)
delete from table_name where ;

(recordの更新(条件付き))
update table_name set column_name=expresion where~~;

index の作成
CREATE INDEX [ name ] ON [ ONLY ] table_name ( column_name [, …] )
UNIQUE インデックスの作成
CREATE UNIQUE INDEX [ name ] ON [ ONLY ] table_name \
( column_name [, …] )

Cheat 02

(※読替※ / ⇒ ¥)

[[一般]]
\copyright ….. PostgreSQL の使い方と配布条件を表示
\crosstabview [列]….. 問い合わせを実行し、結果をクロス表形式で出力
\errverbose….. 最後のエラーメッセージを最大の冗長性で表示
\g [(OPTIONS)] [FILE]….. 問い合わせ実行 (と結果のファイルまたは |パイプ への
送出);
(\g に引数を付加しない場合はセミコロンと同義)
\gdesc….. 問い合わせを実行せずに結果の説明を行う
\gexec ….. 問い合わせを実行し、結果の中の個々の値を実行
\gset [PREFIX]….. 問い合わせを実行して結果を psql 変数に格納
\gx [ファイル名] ….. \g と同じ、ただし拡張出力モードを強制
\q …. psql を終了する
\watch [秒数] ….. 指定した秒数ごとに問い合わせを実行

[[ヘルプ]]
\? [コマンド] ….. バックスラッシュコマンドのヘルプを表示
\? オプション….. psql のコマンドライン・オプションのヘルプを表示
\? 変数名….. 特殊変数のヘルプを表示
\h [名前]….. SQLコマンドの文法ヘルプの表示。* で全コマンドを表示

[[問い合わせバッファ]]
\e [ファイル] [行番号] 現在の問い合わせバッファ(やファイル)を外部エディタで
編集
\ef [関数名 [行番号]] 関数定義を外部エディタで編集
\ev [ビュー名 [行番号]] ビュー定義を外部エディタで編集
\p 問い合わせバッファの内容を表示
\r 問い合わせバッファをリセット(クリア)
\w ファイル 問い合わせバッファの内容をファイルに保存

[[入出力]]
\copy … クライアントホストに対し、データストリームを使って
SQL COPYを実行
\echo [-n] [文字列] 文字列を標準出力に書き込む (-n で改行しない)
\i ファイル ファイルからコマンドを読み込んで実行
\ir ファイル \i と同じ。ただし現在のスクリプトの場所からの相対パス
で指定
\o [ファイル] 問い合わせ結果をすべてファイルまたは |パイプ へ送出
\qecho [-n] [文字列] 文字列を\oで指定した出力ストリームに書き込む(-n で改行
しない)
\warn [-n] [文字列] 文字列を標準エラー出力に書き込む (-n で改行しない)

[[条件分岐]]
\if EXPR 条件分岐ブロックの開始
\elif EXPR 現在の条件分岐ブロック内の選択肢
\else 現在の条件分岐ブロックにおける最後の選択肢
\endif 条件分岐ブロックの終了

[[情報表示]]
(オプション:S = システムオブジェクトを表示, + = 詳細表示)
\d[S+] テーブル、ビュー、およびシーケンスの一覧を表示
\d[S+] 名前 テーブル、ビュー、シーケンス、またはインデックスの説明を表示
\da[S] [パターン] 集約関数の一覧を表示
\dA[+] [パターン] アクセスメソッドの一覧を表示
\dAc[+] [AMPTRN [TYPEPTRN]] 演算子クラスの一覧を表示
\dAf[+] [AMPTRN [TYPEPTRN]] 演算子族の一覧を表示
\dAo[+] [AMPTRN [OPFPTRN]] 演算子族の演算子の一覧を表示
\dAp [AMPTRN [OPFPTRN]] 演算子族のサポート関数の一覧を表示
\db[+] [パターン] テーブル空間の一覧を表示
\dc[S+] [パターン] 符号化方式間の変換の一覧を表示
\dC[+] [パターン] キャストの一覧を表示します。
\dd[S] [パターン] 他では表示されないオブジェクトの説明を表示
\dD[S+] [パターン] ドメインの一覧を表示
\ddp [パターン] デフォルト権限の一覧を表示
\dE[S+] [パターン] 外部テーブルの一覧を表示
\det[+] [パターン] 外部テーブルの一覧を表示
\des[+] [パターン] 外部サーバの一覧を表示
\deu[+] [パターン] ユーザマッピングの一覧を表示
\dew[+] [パターン] 外部データラッパの一覧を表示
\df[antw][S+] [パターン] 関数(集約/通常/プロシージャ/トリガー/ウィンドウ
関数のみ)の一覧を表示
\dF[+] [パターン] テキスト検索設定の一覧を表示
\dFd[+] [パターン] テキスト検索辞書の一覧を表示
\dFp[+] [パターン] テキスト検索パーサの一覧を表示
\dFt[+] [パターン] テキスト検索テンプレートの一覧を表示
\dg[S+] [パターン] ロールの一覧を表示
\di[S+] [パターン] インデックスの一覧を表示
\dl ラージオブジェクトの一覧を表示、\lo_list と同じ
\dL[S+] [パターン] 手続き言語の一覧を表示
\dm[S+] [パターン] 実体化ビューの一覧を表示
\dn[S+] [パターン] スキーマの一覧を表示
\do[S] [名前] 演算子の一覧を表示
\dO[S+] [パターン] 照合順序の一覧を表示
\dp [パターン] テーブル、ビュー、シーケンスのアクセス権の一覧を表示
\dP[itn+] [パターン] パーティションリレーション[テーブル/インデックスのみ]
の一覧を表示 [n=入れ子]
\drds [パターン1 [パターン2]] データベース毎のロール設定の一覧を表示
\dRp[+] [パターン] レプリケーションのパブリケーションの一覧を表示
\dRs[+] [パターン] レプリケーションのサブスクリプションの一覧を表示
\ds[S+] [パターン] シーケンスの一覧を表示
\dt[S+] [パターン] テーブルの一覧を表示
\dT[S+] [パターン] データ型の一覧を表示
\du[S+] [パターン] ロールの一覧を表示
\dv[S+] [パターン] ビューの一覧を表示
\dx[+] [パターン] 機能拡張の一覧を表示
\dy [パターン] イベントトリガーの一覧を表示
\l[+] [パターン] データベースの一覧を表示
\sf[+] 関数名 関数の定義を表示
\sv[+] ビュー名 ビューの定義を表示
\z [パターン] \dp と同じ

[[書式設定]]
\a 非整列と整列間の出力モードの切り替え
\C [文字列] テーブルのタイトルを設定、値がなければ削除
\f [文字列] 問い合わせ結果の非整列出力時のフィールド区切り文字を
表示または設定
\H HTML出力モードの切り替え (現在値: オフ)
\pset [名前 [値]] テーブル出力のオプション設定
(border|columns|csv_fieldsep|expanded|fieldsep|
fieldsep_zero|footer|format|linestyle|null|
numericlocale|pager|pager_min_lines|recordsep|
recordsep_zero|tableattr|title|tuples_only|
unicode_border_linestyle|unicode_column_linestyle|
unicode_header_linestyle)
\t [on|off] 結果行のみ表示 (現在値: オフ)
\T [文字列] HTMLのタグ属性の設定、値がなければ解除
\x [on|off|auto] 拡張出力の切り替え (現在値: オフ)

[[接続]]
\c[onnect] {[DB名|- ユーザ名|- ホスト名|- ポート番号|-] | 接続文字列}
新しいデータベースに接続 (現在: “postgres”)
\conninfo 現在の接続に関する情報を表示
\encoding [エンコーディング] クライアントのエンコーディングを表示または設定
\password [ユーザ名] ユーザのパスワードを安全に変更

[[オペレーティングシステム]]
\cd [DIR] カレントディレクトリを変更
\setenv 名前 [値] 環境変数を設定または解除
\timing [on|off] コマンドの実行時間表示の切り替え (現在値: オフ)
! [コマンド] シェルでコマンドを実行するか、もしくは対話型シェルを
起動します。

[[変数]]
\prompt [テキスト] 変数名 ユーザに対して内部変数の設定を要求します
\set [変数名 [値]] 内部変数の値を設定、パラメータがなければ一覧を表示
\unset 変数名 内部変数を削除

ラージ・オブジェクト
\lo_export LOBOID ファイル名
\lo_import ファイル名 [コメント]
\lo_list
\lo_unlink LOBOID ラージオブジェクトの操作

cmd for psql

[cmd]

psql -h ホスト名 -p ポート番号 -u ロール名 -d データベース名
default: -h…localhost
-p…5432(install時に設定した)
-u progres と指定する
  (ロール名を省略した場合は、OSのユーザ名が使用される)
-d…接続するDB名
(DB名を省略した場合は、role名と同じ名前のDBへ接続される)
ユーザ ***** のパスワード:□
roleのログイン用パスワードの入力待ち(roleがpostgresの場合は、install時に設定したもの)

接続しているDB名=# □

[psqlを終了して、PostgreSQLから切断]

\q