アットウィキロゴ

SQL


SQL関連のブックマーク



   SQLの基本操作を調べれる

   Oracle関数を調べれる

   Oracoleのエラーコードから原因と対策を調べられる

   DB接続エラー時の対処方法、原因切り分けを説明


SQL覚え書き


接続関連

  • 研究室内データベース接続
   psql -U dbuser -h a2 Bugzilla
   -U:ユーザ -h:ホスト名
  • テーブルを見る
   \d
   この後にテーブル名を書くと列名が見れる

SQL文関連

  • LIKE演算子
   列名 LIKE 'パターン'
   (_)アンダースコア・・・1文字に該当
   (%)パーセント・・・0文字を含む任意文字列
  • 同値削除
   SELECT DISTINCT(列名)
   列名内で同じものが出て来ると一つしか表示しない
  • 該当行数
   SELECT COUNT(列名)
   WHERE後に書いた条件に合う行数が出力される
  • 昇順に並べ替え
   ORDER BY 列名 ASC(DESC)
  • 他テーブルの同じ名前の列の値を同じ値のは1つずつ表示
   select user_id from tb_st_coop_log
   union
   select user_id from tb_st_coop_control
   order by user_id(ソートは全体にかかる)
  • カタカナ&英字全角→半角処理(Oracle)
   UTL_I18N.TRANSLITERATE(TO_SINGLE_BYTE(列名),'FWKATAKANA_HWKATAKANA')


ダンプ関連

  • エクスポート(ユーザ下全エクスポート)
   exp ユーザ名/パスワード file=出力ファイル名 owner=ユーザ名
  • インポート(ユーザ下全インポート)
   imp ユーザ名/パスワード file=入力ファイル名 ignore=y full=y
   ignore・オブジェクト存在時上書き
   full・ダンプファイル全体
   ※注意 インポート前にインポートするテーブルが既に存在する場合は
     内容は上書きされないので、上書きしたい場合は事前にtruncate tableしておく
  • dump取得(オブジェクトブラウザの場合)
   テーブルを選択し、エクスポート(インデックス等も出力する場合はオプションで選択)
   移動先に同テーブル名がある場合はドロップ(バックアップテーブル取得をお勧め)
   管理→インポート(ユーザ名・テーブル名入力)
  • データパンプのエクスポート
   expdp スキーマ/パスワード directory=ディレクトリオブジェクト tables=スキーマ.テーブル file=出力ファイル query=\"where 条件文 \" CONTENT=data_only
  • データパンプのインポート
   impdp スキーマ/パスワード directory=ディレクトリオブジェクト dumpfile=ダンプファイル tables=スキーマ.テーブル logfile=EXPDP.LOG content=data_only
   テーブル単位、データのみインポート


UNDO関連

  • UNDO使用率確認用
   select '1使用率' as UNDO使用状態
   ,round( ( ( UNDO容量KB - ( sum(bytes) / 1024 ) ) / UNDO容量KB) * 100, 2) as bytes
   from dba_free_space
   where tablespace_name = 'UNDOTBS1'
   union
   select '2アクティブ',round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes
   from dba_undo_extents
   where tablespace_name = 'UNDOTBS1'
   and status in ('ACTIVE')
   union
   select '3UNEX',round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes
   from dba_undo_extents
   where tablespace_name = 'UNDOTBS1'
   and status in ('UNEXPIRED')
   union
   select '4EX準備中',round((sum(bytes) / 1024 / UNDO容量KB) * 100, 2) as bytes
   from dba_undo_extents
   where tablespace_name = 'UNDOTBS1'
   and status in ('EXPIRED')

  • UNDO使用率確認用
select status, sum(bytes/1024/1024) as Mbytes from dba_undo_extents
where tablespace_name = 'UNDOTBS1'
group by status
union
select 'FREE',sum(bytes/1024/1024) as Mbytes from dba_free_space
where tablespace_name = 'UNDOTBS1'
   FREE 空き領域
   EXPIRED 使用可能
   ACTIVE UNEXPIRED 使用中

  • アーカイブ領域確認用
   select name,type,state,total_mb,free_mb
   from sys.V_$ASM_DISKGROUP

仕様文字コード関連

  • 仕様文字コード確認用
   SELECT NLS_CHARSET_NAME(NLS_CHARSET_ID('CHAR_CS')),
   NLS_CHARSET_NAME(NLS_CHARSET_ID('NCHAR_CS')) FROM DUAL

   oracleでの文字コードを調べれる

最終更新:2016年12月01日 19:04
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。