Archive for the ‘SQL’ Category

  1. Hello, Oracle Database World!

    Posted on 3月 11th, 2012 by cx20

    Oracle Database

    Oracle Database は Oracle の RDBMS である。名前の由来は「神の言葉(神託)」から。9i の「i」は「internet」、10g の「g」は「grid」の略とされている。言語として SQL を拡張した PL/SQL が用いられる。PL は手続型言語(Procedural Language)を意味する。
    サンプルに見かけるユーザー/パスワード「scott/tiger」は開発者の名前と飼い猫に由来する。

    バージョン リリース 製品名
    7 1992年 Oracle7
    8 1997年 Oracle8 Database
    8.1 1999年 Oracle8i Database
    9 2001年 Oracle9i Database Release 1
    9.2 2002年 Oracle9i Database Release 2
    10.1 2003年 Oracle Database 10g Release 1
    10.2 2005年 Oracle Database 10g Release 2
    11.1 2007年 Oracle Database 11g Release 1
    11.2 2009年 Oracle Database 11g Release 2

    ソースコード

    SELECT 'Hello, Oracle World!' AS MESSAGE FROM DUAL;
    QUIT

    実行方法(入力ファイルをリダイレクト指定した場合)

    C:¥> sqlplus scott/tiger@orcl < hello.sql

    実行方法(ファイル名をオプション指定した場合)

    C:¥> sqlplus scott/tiger@orcl @hello.sql

    実行結果

    MESSAGE
    ----------------------------------------
    Hello, Oracle World!
  2. Hello, ACE Database World!

    Posted on 3月 10th, 2012 by cx20

    ACE Database

    ACE Database Engine(Access データベースエンジン) は Jet データベースエンジンの後継の DBMS エンジンである。Access 2007 以降 のデータベース(.accdb)のエンジンとしても使用されている。

    クライアントアプリケーション データベースエンジン 推奨されるデータベース形式
    Access 2007 ACE 12.0 (32bit) *.accdb (ACE 12.0)
    Access 2010 (32bit) ACE 12.0 (32bit) *.accdb (ACE 12.0)
    Access 2010 (64bit) ACE 12.0 (64bit) *.accdb (ACE 12.0)
    DA0 12 (32bit) ACE 12.0 (32bit) *.accdb (ACE 12.0)
    DA0 12 (64bit) ACE 12.0 (64bit) *.accdb (ACE 12.0)
    Microsoft.ACE.OLEDB.12.0 (32bit) ACE 12.0 (32bit) *.accdb (ACE 12.0)
    Microsoft.ACE.OLEDB.12.0 (64bit) ACE 12.0 (64bit) *.accdb (ACE 12.0)

    ソースコード(VBScript + DAO + ACE データベース)

    Set dbe = CreateObject("DAO.DBEngine.120")
    Set db = dbe.OpenDatabase("Hello.accdb")
    Set rs = db.OpenRecordset("SELECT 'Hello, ACE Database World!' AS Message")
    WScript.Echo rs(0).Name
    WScript.Echo "--------------------------"
    WScript.Echo rs(0).Value

    ソースコード(VBScript + ADO + OLEDB + ACE データベース)

    Set cn = CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Hello.accdb"
    Set rs = cn.Execute("SELECT 'Hello, ACE Database World!' AS Message")
    WScript.Echo rs(0).Name
    WScript.Echo "--------------------------"
    WScript.Echo rs(0).Value

    ソースコード(VBScript + ADO + ODBC + ACE データベース)

    Set cn = CreateObject("ADODB.Connection")
    cn.Open "Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=.\hello.accdb"
    Set rs = cn.Execute("SELECT 'Hello, ACE Database World!' AS Message")
    WScript.Echo rs(0).Name
    WScript.Echo "--------------------------"
    WScript.Echo rs(0).Value

    実行方法(Windows)

    C:¥> CScript //Nologo Hello.vbs

    実行結果

    Message
    --------------------------
    Hello, ACE Database World!
  3. Hello, Jet Database World!

    Posted on 3月 9th, 2012 by cx20

    Jet Database

    Jet Database Engine はマイクロソフトが開発した小規模向けの DBMS エンジンである。Access データベース(.mdb)のエンジンとしても使用されている。
    通常、Jet データベースへのアクセスは、DAO(Data Access Object)または ADO(ActiveX Data Objects)といった COM ベースの API が用いられる。

    クライアントアプリケーション データベースエンジン 推奨されるデータベース形式
    Access 2.0 Jet 2.0 *.mdb (Jet 2.x)
    Access 95 Jet 3.0 *.mdb (Jet 3.x)
    Access 97 Jet 3.5 *.mdb (Jet 3.x)
    Access 2000 Jet 4.0 *.mdb (Jet 4.x)
    Access 2002 Jet 4.0 *.mdb (Jet 4.x)
    Access 2003 Jet 4.0 *.mdb (Jet 4.x)
    DAO 3.0 Jet 3.0 *.mdb (Jet 3.x)
    DAO 3.5 Jet 3.5 *.mdb (Jet 3.x)
    DA0 3.6 Jet 4.0 *.mdb (Jet 4.x)
    Microsoft.Jet.OLEDB.3.51 Jet 3.5 *.mdb (Jet 3.x)
    Microsoft.Jet.OLEDB.4.0 Jet 4.0 *.mdb (Jet 4.x)

    ソースコード(VBScript + DAO + Jet データベース)

    Set dbe = CreateObject("DAO.DBEngine.36")
    Set db = dbe.OpenDatabase("Hello.mdb")
    Set rs = db.OpenRecordset("SELECT 'Hello, Jet Database World!' AS Message")
    WScript.Echo rs(0).Name
    WScript.Echo "--------------------------"
    WScript.Echo rs(0).Value

    ソースコード(VBScript + ADO + OLEDB + Jet データベース)

    Set cn = CreateObject("ADODB.Connection")
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Hello.mdb"
    Set rs = cn.Execute("SELECT 'Hello, Jet Database World!' AS Message")
    WScript.Echo rs(0).Name
    WScript.Echo "--------------------------"
    WScript.Echo rs(0).Value

    ソースコード(VBScript + ADO + ODBC + Jet データベース)

    Set cn = CreateObject("ADODB.Connection")
    cn.Open "Provider=MSDASQL;Driver={Microsoft Access Driver (*.mdb)};DBQ=hello.mdb"
    Set rs = cn.Execute("SELECT 'Hello, Jet Database World!' AS Message")
    WScript.Echo rs(0).Name
    WScript.Echo "--------------------------"
    WScript.Echo rs(0).Value

    実行方法(Windows)

    C:¥> CScript //Nologo Hello.vbs

    実行結果

    Message
    --------------------------
    Hello, Jet Database World!
  4. Hello, SQL Server Compact World!

    Posted on 3月 8th, 2012 by cx20

    SQL Server Compact

    SQL Server Compact はマイクロソフトの組み込み向け RDBMS である。
    SQL Server の T-SQL(Transact-SQL)のサブセットが利用できる。
    SQL Server Compact 向けのコマンドラインツール(sqlcecmd.exe)は CodePlex よりダウンロードできる。

    ソースコード(T-SQL)

    SELECT 'Hello, SQL Server Compact World!' AS Message
    GO

    実行方法

    C:¥> sqlcecmd -d "Data Source=hello.sdf" -i hello.sql

    実行結果

    Message
    -------
    Hello, SQL Server Compact World!
     
    (1 rows affected)
  5. Hello, SQL Server World!

    Posted on 3月 7th, 2012 by cx20

    SQL Server

    SQL Server はマイクロソフトの RDBMS である。プログラミング言語として SQL 言語を拡張した T-SQL(Transact-SQL)が用いられる。
    元々は Sybase の UNIX 向け製品であったが、Sybase と提携して Windows 版が開発された。提携解消後は独自の進化を遂げている。

    バージョン リリース 製品名 コードネーム
    6 1996年 SQL Server 6.0 SQL95
    6.5 1997年 SQL Server 6.5 Hydra
    7 1999年 SQL Server 7.0 Sphinx
    8 2000年 SQL Server 2000 Shiloh
    9 2005年 SQL Server 2005 Yukon
    10 2008年 SQL Server 2008 Katmai
    10.5 2010年 SQL Server 2008 R2 Kilimanjaro
    11 2012年 SQL Server 2012 Denali

    SQL Server のコマンドラインツールとして従来は isql や osql が用いられてきたが、SQL Server 2000 の時に isql が非推奨となり、SQL Server 2005 以降は osql も非推奨となった。現在は、sqlcmd の使用が推奨されている。ツールの機能はほぼ同じであるが、使用しているライブラリが異なっている。

    ツール ライブラリ 6.5 7.0 2000 2005 2008 2012
    isql DB-Library 非推奨
    osql ODBC 非推奨 非推奨 非推奨
    sqlcmd OLE DB (2005~2008)
    ODBC (2012~)

    ソースコード(T-SQL)

    SELECT 'Hello, SQL Server World!' AS Message
    GO

    実行方法(入力ファイルをリダイレクト指定した場合)

    C:¥> sqlcmd -S ServerName -U UserName -P Password < hello.sql

    実行方法(ファイル名をオプション指定した場合)

    C:¥> sqlcmd -S ServerName -U UserName -P Password -i hello.sql

    実行結果

    Message
    ------------------------
    Hello, SQL Server World!
     
    (1 行処理されました)
  6. Hello, SQLite World!

    Posted on 3月 6th, 2012 by cx20

    SQLite

    SQLite は MySQL や PostgreSQL と同様、オープンソースの DBMS である。
    アプリケーションの組み込み用途として使われることが多い。有名どころでは Firefox や Opera といったブラウザが内部ストア用として使用している。

    ソースコード

    SELECT 'Hello, SQLite World!' AS Message;

    実行方法

    $ sqlite3 -header -column < hello.sql

    実行結果

    Message             
    --------------------
    Hello, SQLite World!
  7. Hello, PostgreSQL World!

    Posted on 3月 5th, 2012 by cx20

    PostgreSQL

    PostgreSQL はオープンソースの DBMS の1つである。
    言語として Oracle Database の PL/SQL に類似した PL/pgSQL が用いられる。

    ソースコード

    SELECT 'Hello, PostgreSQL World!' AS Message

    実行方法(入力ファイルをリダイレクト指定した場合)

    $ psql < hello.sql

    実行方法(ファイル名をオプション指定した場合)

    $ psql --file hello.sql

    実行結果

             message          
    --------------------------
     Hello, PostgreSQL World!
    (1 row)
  8. Hello, MySQL World!

    Posted on 3月 4th, 2012 by cx20

    MySQL

    MySQL はオープンソースの DBMS である。LAMP(Linux、Apache、MySQL、PHP/Perl/Python)開発におけるデータベースとしても有名。
    ストレージの形式として ISAM 形式の MyISAM やトランザクションをサポートした InnoDB 形式が使用できる。
    開発当初は MySQL AB が行っていたが、Sun に買収された後、現在、Oracle が権利を所有している。

    ソースコード

    SELECT 'Hello, MySQL World!' AS Message

    実行方法(入力ファイルをリダイレクト指定した場合)

    $ mysql -t < hello.sql

    実行方法(source コマンドを使用した場合)

    $ mysql -e "source hello.sql"

    実行結果

    +---------------------+
    | Message             |
    +---------------------+
    | Hello, MySQL World! |
    +---------------------+