Category: Develop

SQL Basic

—————————————- SQL文 –————————

データ検索      
コマンド名 説明    
SELECT データの検索    
データ操作文(DML)      
コマンド名 説明    
INSERT 行の新規挿入    
UPDATE 値の更新    
DELETE 行の削除    
データ定義文(DDL)      
コマンド名 説明    
CREATE オブジェクトの作成    
ALTER オブジェクトの変更    
DROP オブジェクトの削除    
RENAME オブジェクト名の変更    
GRANT 権限付与    
REVOKE 権限削除    
AUDIT 監査    
TRUNCATE 表の切り捨て    
トランザクション制御(DCL)      
コマンド名 説明    
COMMIT 更新の確定    
ROLLBACK 更新の取り消し    
SAVEPOINT セーブポイントの設定    
算術演算      
NULL値が含まれていると計算結果はNULLです。    

———————– SELECT文 ————————

SELECT  
■野球選手表■      
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
古田 27 スワローズ 捕手
松坂 18 ライオンズ 投手
桑田 18 ジャイアンツ 投手
中村 5 バッファローズ 内野手
       
SELECT * FROM 野球選手表;
*は全列という意味で、特定の列のみ表示したい場合は列名を書けばよい。
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
古田 27 スワローズ 捕手
松坂 18 ライオンズ 投手
桑田 18 ジャイアンツ 投手
中村 5 バッファローズ 内野手
■結果■すべてのレコードが検索される。   
       
SELECT * FROM 野球選手表 WHERE 選手名 = ’松井’; 
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
■結果■選手名が「松井」だけ検索される。 
       
SELECT 選手名 FROM 野球選手表 WHERE 背番号 = 18; 
選手名      
松坂      
桑田      
■結果■背番号が18の選手名だけが検索される。 
       
SELECT DISTINCT 背番号 FROM 野球選手表 
背番号      
55      
27      
18      
5      
■結果■背番号18が2つ重複してるので1つのみ表示される。 
       
SELECT 選手名 FROM 野球選手表 WHERE NOT  背番号 = 18; 
選手名      
松井      
古田      
中村      
■結果■背番号が18以外の選手名だけが検索されます。 
       
SELECT 選手名 FROM 野球選手表 WHERE 背番号 = 18 AND  球団名 = ’ジャイアンツ’;
選手名      
桑田      
■結果■背番号が18で球団名がジャイアンツの選手名(桑田のみ)が検索されます。 
       
SELECT * FROM 野球選手表 WHERE 球団名 = ’スワローズ’ OR  ポジション = ’内野手’; 
選手名 背番号 球団名 ポジション
古田 27 スワローズ 捕手
中村 5 バッファローズ 内野手
■結果■球団名がスワローズとポジションが内野手のレコードが検索されます。 
※優先順位は「1:NOT→2:AND→3:OR」です。 
       
SELECT * FROM 野球選手表 WHERE 背番号 BETWEEN  10 AND 30; 
選手名 背番号 球団名 ポジション
古田 27 スワローズ 捕手
松坂 18 ライオンズ 投手
桑田 18 ジャイアンツ 投手
■結果■背番号が10~30の選手のレコードが検索されます。 
※「BETWEEN a AND b」は「a以上b以下」です。 
       
SELECT * FROM 野球選手表 WHERE 背番号 NOT BETWEEN  10 AND 30; 
選手名 背番号 球団名 ポジション
中村 5 バッファローズ 内野手
松井 55 ジャイアンツ 外野手
■結果■背番号が10~30以外の選手のレコードが検索されます。 
       
SELECT * FROM 野球選手表 WHERE ポジション IN (’投手’,’捕手’); 
選手名 背番号 球団名 ポジション
古田 27 スワローズ 捕手
松坂 18 ライオンズ 投手
桑田 18 ジャイアンツ 投手
■結果■ポジションが投手か捕手のレコードが検索されます。 
       
SELECT * FROM 野球選手表 WHERE ポジション NOT IN (’投手’,’捕手’); 
選手名 背番号 球団名 ポジション
中村 5 バッファローズ 内野手
松井 55 ジャイアンツ 外野手
■結果■ポジションが投手か捕手以外のレコードが検索されます。 
       
SELECT * FROM 野球選手表 WHERE 選手名 LIKE  ’%田’; 
選手名 背番号 球団名 ポジション
古田 27 スワローズ 捕手
桑田 18 ジャイアンツ 投手
■結果■選手名がX田のレコードが検索されます。
       
SELECT * FROM 野球選手表 WHERE 選手名 IS  NULL; 
選手名 背番号 球団名 ポジション
  99 XXX YYY
  999 XXXX YYYY
■結果■選手名がNULLのレコードが検索されます。(IS NOT NULLにするとNULLではないレコード検索)
—————————— ソート(ORDER BY)について ———————————
ORDER BY
■野球選手表■      
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
古田 27 スワローズ 捕手
西口 13 ライオンズ 投手
桑田 18 ジャイアンツ 投手
中村 5 バッファローズ 内野手
高橋 24 ジャイアンツ 外野手
上原 19 ジャイアンツ 投手
       
SELECT * FROM 野球選手表 WHERE ポジション = ’投手’  ORDER BY 背番号 [ASC] ; 
選手名 背番号 球団名 ポジション
西口 13 ライオンズ 投手
桑田 18 ジャイアンツ 投手
上原 19 ジャイアンツ 投手
■結果■ポジションが投手のレコードが昇順に並びかえられました。 
※最後の「ASC」はデフォルトですので、省略しても同様の結果になる。 
       
SELECT * FROM 野球選手表 WHERE ポジション = ’投手’ ORDER BY 背番号 DESC; 
選手名 背番号 球団名 ポジション
上原 19 ジャイアンツ 投手
桑田 18 ジャイアンツ 投手
西口 13 ライオンズ 投手
■結果■ポジションが投手のレコードが降順に並びかえられました。 
※複数の列を指定する場合は、ORDER BY 背番号,球団名 DESC; のようにコンマで区切る。
(背番号・球団名の順にソートする。)
—————————————– 関数 —————————————-
SUBSTR      
SELECT SUBSTR(’ABCDE 12345’7,2) FROM テーブル名; 
■結果■12が取り出されます。
※空白は1桁としてカウントされます。 
       
INITCAP      
SELECT INITCAP(’hanshin tigers’) FROM テーブル名; 
■結果■Hanshin Tigersと表示されます。
       
UPPER      
SELECT UPPER(’hanshin tigers’) FROM テーブル名; 
■結果■HANSHIN TIGERSと表示されます。 
       
NLV
NULL値をNULL以外に変換します。     
       
数値関数(アルファベット順)     
関数名 説明    
CEIL(a) a以上の最小数を返す    
FLOOR(a) a以上の最大数を返す    
MOD(a,b) a÷bの余り値を返す    
POWER(a,b) aのb乗した値を返す    
SQRT(a) aの平方根を返す    
ROUND(a,b) aを小数点b桁に四捨五入した値を返す    
TRUNC(a,b) aを小数点b桁に切り捨てた値を返す    
—————————————- 結合 —————————————– 
等価結合      
 等価条件に基づいて2つ以上の表から行を返します。 
非等価結合      
 イコール以外の演算子を用いて結合します。 
外部結合      
 (+)を用いて結合します。 
同一表結合      
 表をその表自身と結合させます。 
       
■選手表■      
背番号 選手名 球団名 ポジション
18 桑田 ジャイアンツ 投手
19 上原 ジャイアンツ 投手
24 高橋 ジャイアンツ 外野手
55 松井 ジャイアンツ 外野手
       
■出身校表■      
背番号 出身校    
18 PL学園    
19 大阪体育大    
24 慶応大    
55 星陵高    
       
SELECT 選手表.背番号,選手表.選手名,出身校表.出身校
   FROM 選手表,出身校表 WHERE 選手表.背番号 = 出身校表.背番号; 
背番号 選手名 出身校  
18 桑田 PL学園  
19 上原 大阪体育大  
24 高橋 慶応大  
55 松井 星陵高  
■結果■背番号によって2つの表が関連付けられました。 
————————————– グルーピング ————————————-
グループ関数      
関数名 意味    
AVG 平均値を返す    
COUNT 行数を返す    
MAX 最大値を返す    
MIN 最小値を返す    
SUM 合計値を返す    
       
■選手表■      
球団名 選手名 ポジション 身長
ジャイアンツ 桑田 投手 174
ジャイアンツ 上原 投手 185
ジャイアンツ 高橋 外野手 180
ジャイアンツ 松井 外野手 186
タイガース 井川 投手 185
タイガース 福原 投手 180
タイガース 桧山 外野手 177
タイガース 赤星 外野手 170
       
SELECT 球団名,MAX(身長)FROM 選手表 GROUP BY 球団名; 
球団名 MAX(身長)    
ジャイアンツ 186    
タイガース 185    
■結果■球団名、それぞれの最高身長が検索されます。 
       
SELECT 球団名,ポジション,MAX(身長)FROM 選手表 GROUP BY 球団名,ポジション; 
球団名 ポジション MAX(身長)  
ジャイアンツ 投手 185  
ジャイアンツ 外野手 186  
タイガース 投手 185  
タイガース 外野手 177  
■結果■球団名ごとにポジションの最高身長が検索されます。 
       
SELECT 球団名,ポジション,MAX(身長)FROM 選手表
  HAVING MAX(身長) >= 180 GROUP BY 球団名,ポジション; 
球団名 ポジション MAX(身長)  
ジャイアンツ 投手 185  
ジャイアンツ 外野手 186  
タイガース 投手 185  
■結果■球団名ごとにポジションの最高身長が検索されます。 HAVINGはGROUP BYの前後どちらでもOK 。
※HAVINGはGROUP BYの前後どちらでもOK。
————————————— 副問合せ —————————————
SELECT文の中にあるSELECT文
単一行副問い合わせ     
複数行副問い合わせ     
複数列副問い合わせ     
※ORDER BYは副問い合わせを使用できない     
       
DISTINCT      
以下の記述はDISTINCTと同じ。    
SELECT 列名 FROM 表名1 WHERE 列名 IN (SELECT 列名 FROM 表名2); 
————————————- SQL*Plus —————————————-
SQL文を認識し、実行するためのツール    
●login.sql:SQL*Plus起動時に設定するコマンドファイル 
●COLUMN:列の書式設定や表示幅を定義する 
●DEFINEまたはACCEPTにて変数の事前定義が行なえる 
●UNDEFINE:1度格納したユーザ変数を削除する 
●PL/SQLは「ブロック単位」 
————————————— データ更新 ————————————-
■野球選手表■      
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
西口 13 ライオンズ 投手
中村 5 バッファローズ 内野手
斎藤 11 ジャイアンツ 投手
石井 16 スワローズ 投手
       
①INSERT INTO 野球選手表 (選手名,背番号,球団名,ポジション)
    VALUES(’寺原’,20,’ホークス’,’投手’);
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
西口 13 ライオンズ 投手
中村 5 バッファローズ 内野手
斎藤 11 ジャイアンツ 投手
石井 16 スワローズ 投手
寺原 20 ホークス 投手
■結果■今年入団した寺原投手のレコードが追加されました。 
       
②UPDATE 野球選手表 SET 球団名 = ’ドジャース’ WHERE 選手名 = ’石井’; 
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
西口 13 ライオンズ 投手
中村 5 バッファローズ 内野手
斎藤 11 ジャイアンツ 投手
石井 16 ドジャース 投手
寺原 20 ホークス 投手
■結果■今年FAした石井投手の球団名がドジャースに変更されました。 
       
③DELETE FROM 野球選手表 WHERE 選手名 = ’斎藤’; 
選手名 背番号 球団名 ポジション
松井 55 ジャイアンツ 外野手
西口 13 ライオンズ 投手
中村 5 バッファローズ 内野手
石井 16 ドジャース 投手
寺原 20 ホークス 投手
■結果■今年引退し      

文字記号

 write  code  JIS japanese name reading
 20 空白スペース、ブランク
21感嘆符びっくりマーク、エクスクラメーション
22引用符(ウムラウト)ダブルクォーテーション、ダブルクォート、二重引用符
23番号記号シャープ、井形
24ドル記号ドル、ダラー
25パーセントパーセント、パー
26アンパサンドアンド、アンパー
27アポストロフィ、アクサンテギュシングルクォーテーション、アクサンテギュ、クォート
28左小かっこかっこ、かっこ始まり、開きかっこ、左丸かっこ
29右小かっこかっこ、かっこ終わり、閉じかっこ、右丸かっこ
2Aアステリスクアスタリスク、アスター、掛ける
2B正符号プラス、プラ、足す
2Cコンマ、セディユカンマ
2Dハイフン、負記号マイナス、ハイフン、引く
2Eピリオドドット、点、ぽち
2F斜線スラッシュ、スラ
3Aコロンコロン
3Bセミコロンセミコロン
3C不等号(より小)小なり
3D等号イコール
3E不等号(より大)大なり
3F疑問符はてな、クエスチョン
40単価記号アットマーク、アット
5B左大かっこ大かっこ、ブラケット、しかくかっこ
5C円記号円、バックスラッシュ(英語モードで\)
バックスラッシュ バックスラッシュ(文字一覧から)
5D右大かっこ閉じ大かっこ、ブラケット、閉じしかくかっこ
5Eアクサンシルコンフレックスやま、ハット、サーカムフレックス、アップアロー、べき乗
_5Fアンダライン下線、アンダーバー、アンダースコア
50アクサングラーブアクサングラーブ、バッククォート
7B左中かっこ中かっこ、なみかっこ
7C縦線縦棒、パイプ
7D右中かっこ閉じ中かっこ、閉じなみかっこ
~7Eオーバーラインチルダ、にょろ、チルド
A1句点句点、まる
A2始かっこかぎかっこ
A3終かっこ閉じかぎかっこ
A4読点読点、てん
A5中点中黒、中丸、ぽち
B0長音記号音引き、長音符号、のばす
DE濁点点点
DF半濁点
  スワングダッシュ、から

DOS command

■ファイル・ディレクトリ
attrib ファイルの属性変更 attrib 属性ファイル
cd ディレクトリを移動
現在のディレクトリを表示
この際入力するディレクトリ名は絶対パスもしくは相対パスで入力。ただし異なるドライブに移動する場合は先にドライブ移動してからディレクトリ移動。
chcp 現在のコード ページ番号を表示したり、設定  
chkdsk ディスク内のファイル数や破損状況を表示 chkdsk /p /r (ディスクをチェックしその後、修復させる。) chkdsk /f
copy ファイルをコピー  
del ファイルを削除  
deltree ディレクトリとそれに含まれるサブディレクトリとファイルをすべて削除  
dir ディレクトリファイル情報表示 dir/p ディレクトリ内のファイルを1ページずつ表示
edit MS-DOS Editorを起動  
ext CABファイルの格納ファイルを対話形式で展開  
extract CAB形式の圧縮ファイルを展開するプログラム  
fc 2個以上のファイルの内容を比較して, それらの違いを表示  
find ファイル(複数可)内の文字列を検索  
lfnfor FOR コマンドを実行するときの長いファイル名の設定と解除  
md 新しいディレクトリを作成 md ディレクトリ名
more 出力を一度に 1画面ずつ表示  
move ファイルを移動  
rd ディレクトリを削除  
ren ファイルまたはディレクトリ名(複数可)の変更  
tape テキストファイルを表示 内容がテキストファイルであれば、拡張子が.txtでなくても表示可。
type テキスト ファイルの内容を表示  
xcopy ファイルやディレクトリをコピー /Eオプションをつけるとサブディレクトリも含めたすべてのファイルをコピー
■バッチファイル制御
%%文字 バッチプログラム内の変数  
%0〜%9 パラメータの参照  
%環境変数名% 環境変数の参照  
(ドライブ名): ドライブを移動  
:(ラベル)    
@ 現在行の画面への表示抑止  
call バッチファイルからバッチファイルを読み込む  
choice いくつかの選択肢から選ぶためのプロンプトを表示  
echo メッセージの表示
コマンドエコーのオン、オフを指定。
echo 正常終了しました。
for 指定されたコマンドをファイルセットの各ファイルごとに実行 for %A in (*txt) do type %1
goto 分岐 goto loop(ラベル)
if 条件処理。条件比較。 if errorlevel 2 goto end
pause 処理の一時停止 pause
rem コメントを表示 rem *** 入力プログラム***
shift パラメータをシフトさせる shift
■デバイスドライバ
adddrv キャラクタ型デバイスドライバをConfig.sysではなくコマンドから組み込む  
ansisys キーボードと画面の拡張制御サポート  
deldrv ADDDRV で組み込んだデバイス ドライバを取り外す  
diskcopy フロッピーディスクを複製  
diskinit ハードディスクまたは3.5インチMOディスクの初期化を行う  
drvspace ドライブスペースのプログラム  
findramd RAMDRIVE.SYSで取得するRAMドライブのドライブナンバーを取得  
label ディスクのボリュームラベルを作成、変更, または削除  
lock ドライブをロックしてアプリケーションが直接ドライブにアクセスできるようにする  
mscdex CD-ROMドライブの理論フォーマットに対してアクセス可能に  
smartdrv ディスクキャッシュドライバSMARTDriveを導入したり設定したりする  
sort 入力を並べ替えて, 結果を画面やファイル, その他のデバイスに出力  
unlock ドライブをアンロックしてアプリケーションが直接ドライブにアクセスできないようにする  
■通信
arp ARPで使われるIPとイーサネットまたはトークンリングとの物理アドレス変換テーブルを表示および修正。 arp -a
ftp FTPサーバサービス(デーモン)を実行中のコンピュータとの間で、ファイルの転送を行う。  
ipconfig 現在のTCP/IPネットワーク構成を表示。 ipconfig /all
NET CONFIG 現在のワークグループ設定を表示。  
NET DIAG ネットワークの診断情報を表示  
NET HELP コマンドやエラーメッセージの情報を表示  
NET INIT プロトコルやネットワークアダプタ・ドライバをプロトコルマネージャにバインドせず読み込む。  
NET LOGOFF 共有リソースとの接続をすべて表示  
NET LOGON ワークグループのメンバーとして、ユーザーをネットワーク上で識別。  
NET PASSWORD ログオンパスワードを変更  
NET PRINT 印刷待ちの状態を表示し、印刷ジョブを制御  
NET START サービスを開始  
NET STOP サービスを停止  
NET TIME サーバーの時刻を表示したり、コンピュータの時計をサーバーの時刻にあわせる。  
NET USE 共有リソースへの接続や接続の解除  
NET VER 使用中のワークグループ・リダイレクタの種類とバージョンを表示  
NET VIEW 共有リソースを提供しているコンピュータ、または特定のコンピュータが提供するリソースの一覧を表示。  
netstat プロトコルの統計情報と現在のTCP/IPネットワーク接続を表示。  
ping ロールマシンとホストマシンの接続情報確認 ping ホスト名(またはIPアドレス)
route ネットワークルーティングテーブルを処理  
tracert どの経路で流れているかを表示  
■操作アシスト
command 新しいコマンドインタープリター起動 cmd.exe                                           command /p
exit コマンドインタープリターを終了 WindowsのDOS窓で使用するとDOS窓を終了。
lh プログラムを上位メモリ領域に読み込みこむ lh C:\work\test.exe
mem メモリの使用状況を表示  
start Windows アプリケーションまたは MS-DOS アプリケーションを実行 start test.exe /m
ver Windowsのバージョンを表示する ver
■常駐プログラム
append ファイル検索パスを設定 append C:\;C:\windows\temp
doskey コマンド行の編集、DOSコマンドの再呼び出し、マクロの作成。 doskey dirw=dir /w
share HDDのファイルの共有とロック(保護) share /f:504
subst パスをドライブ名に割り当てる subst drv1:/e
■システム
debug プログラムデバッガを起動  
dvt FAT16からFAT32へのコンバータ  
fdisk HDDのパーティションを作成、削除等操作 パーティションを操作するとディスク内のデータはすべて消去されます
ハードディスクを設定
regedit レジストリのインポート、エクスポート、消去を行う  
scandisk ディスクエラーがないかをチェック  
scanreg レジストリのチェック、バックアップ、リストア、修復を行う  
sys システムを転送  
uninstall Windowsのアンインストーラー  
win Windows を開始します  
■稼働環境設定
break Ctrl+C、Stop、Break キーの拡張チェック機能の設定と解除 break on
chev 英語モードと日本語モードを切り替え Windowsではus、jpコマンド                  chev us
cls スクリーンをクリア  
ctty システムを制御する端末デバイスを変更 ctty prn LPT1;,10
date 日付を表示/変更  
emm386 EMM386ドライバのON/OFFを切り換える emm386 on         EMSメモリーの使用を制御。
mode システムデバイスの設定 mode LPT1;,10
nlsfunc    
path コマンドパス表示  
prompt Windows コマンド プロンプトの形式を変更 prompt $P$G
set コマンドパスやクラスパスの表示 set temp=c:\windows\temp
setver Windows がプログラムへ通知する MS-DOS バージョン番号を設定 setver C:\DOS.dat /delete
switch 起動時の環境を変更する  
time 時刻を表示/変更 time 9:30:00
verify ファイルがディスクへ正しく書き込まれたか照合するかどうかを指定 verify on
■CONFIG.SYS作成
buffers バッファー数を設定 BUFFERS=50
country 国別情報を設定 country=081,932
C:\DOS\COUNTRY.SYS
device デバイス・ドライバをロード。 device=C:\windows\jdisp.sys
dos HMAとUMBの使用を制御。 DOS=HIGH,UMB
fcb ファイル制御ブロック数を設定 FCBS=64
files 同時にオープン可能なファイル数を設定 files=128
install 起動時にCONFIG.SYSから常駐プログラムを起動 install=C:\dos\memchk.exe
lastdrive 最終ドライブ文字を設定 lastdrive=Z
shell トップレベルのコマンド処理プログラムを指定 shell=C:\dos\alt.com
stacks スタック数を設定 stacs=12,128
■ほか
cscript WSH(Windowsスクリプティングホスト)の一括処理を行う時に使用  
dosrep DOSレポートツール  
fdisk /mbr マスターブートレコードを初期化  
format ハードディスクの初期化 ディスク内のデータはすべて消去
ディスクを初期化ディスク内のデータはすべて消去
iextract IEインフォメーションバックアップ抽出ツール  
jp 日本語モード  
jview JAVAアプレットのクラス設定を行うユーティリティー  
key ファンクションキーなどに対して機能の割り当てと取り消しを行う  
mkdir  
restart DOSをリセットする  
rmdir  
selkkc 日本語入力システムの切り替え  
truename 指定されたドライブのカレントディレクトリの絶対パスをショートファイル名で表示  
us 英語モード  
us 日本語モードから英語モードへ移行  
vol ボリューム名とシリアルナンバーを表示