各データベース バージョン取得SQL


/* MySQL */
SELECT VERSION();

/* Firebird */
SELECT rdb$get_context('SYSTEM', 'ENGINE_VERSION') from rdb$database;

/* PostgreSQL */
SELECT version();

/* SQL Server */
SELECT CAST(SERVERPROPERTY('productversion') AS VARCHAR(30));

/* SQL AnyWhere */
SELECT TOP 1 version
FROM SYSHISTORY
WHERE operation = 'START'
ORDER BY first_time_utc DESC;

/* sqlite */
select sqlite_version();

/* Oracle */
select * from v$version WHERE ROWNUM = 1;

sqlite3 出来ないことのまとめ

直ぐに使えて、ちょっとしたデータ管理には便利な sqlite ですが、他のデータベースと同じように使うには無理で、機能がない部分が多いです。

  1. 認証がなく、ユーザーがない
  2. 他ホストからの接続ができない
  3. 同時多数接続大量処理 (テーブルがロックして更新出来ないことがある)
  4. CURRENT_TIMESTAMP がないので、関数を使う
  5. 列の削除ができない (ALTER TABLE tablename DROP columnname)
  6. ストアドプロシージャーがない (トリガーはある)
  7. 文字長がない (文字列型は全部 Text にする)
  8. 数値型が少ない (INTEGER, REAL, NUMERIC だけ)
  9. TRANCATE TABLE
  10. LEFT OUTER JOIN
  11. ALL, ANY

 

sqlite3 基本コマンドのまとめ

.table : テーブルの一覧


sqlite> .table
log_apacheaccess  log_df            log_jstat         log_rsyncbackup 
log_apachests     log_dircntsz      log_loadave       log_rxtx        
log_cpu           log_free          log_ping          log_videoupload 

.schema : 指定したテーブルの show create table


sqlite> .schema log_free
CREATE TABLE "log_free" ("tm" timestamp NOT NULL ,"used" integer NOT NULL ,"free" integer NOT NULL );
CREATE UNIQUE INDEX log_free_tm on log_free(tm);

.exit : 終了

.quit : 終了

.show Shell設定状態表示


sqlite> .show
     echo: off
  explain: off
  headers: off
     mode: list
nullvalue: ""
   output: stdout
separator: "|"
    stats: off
    width: 
sqlite> 

.database : 使用中のデータベースを表示


seq  name             file                                                      
---  ---------------  ----------------------------------------------------------
0    main             /home/sqlite/logs                                         

.help : ヘルプを表示


.backup ?DB? FILE      Backup DB (default "main") to FILE
.bail ON|OFF           Stop after hitting an error.  Default OFF
.databases             List names and files of attached databases
.dump ?TABLE? ...      Dump the database in an SQL text format
                         If TABLE specified, only dump tables matching
                         LIKE pattern TABLE.
.echo ON|OFF           Turn command echo on or off
.exit                  Exit this program
.explain ?ON|OFF?      Turn output mode suitable for EXPLAIN on or off.
                         With no args, it turns EXPLAIN on.
.header(s) ON|OFF      Turn display of headers on or off
.help                  Show this message
.import FILE TABLE     Import data from FILE into TABLE
.indices ?TABLE?       Show names of all indices
                         If TABLE specified, only show indices for tables
                         matching LIKE pattern TABLE.
.load FILE ?ENTRY?     Load an extension library
.log FILE|off          Turn logging on or off.  FILE can be stderr/stdout
.mode MODE ?TABLE?     Set output mode where MODE is one of:
                         csv      Comma-separated values
                         column   Left-aligned columns.  (See .width)
                         html     HTML <table> code
                         insert   SQL insert statements for TABLE
                         line     One value per line
                         list     Values delimited by .separator string
                         tabs     Tab-separated values
                         tcl      TCL list elements
.nullvalue STRING      Use STRING in place of NULL values
.output FILENAME       Send output to FILENAME
.output stdout         Send output to the screen
.print STRING...       Print literal STRING
.prompt MAIN CONTINUE  Replace the standard prompts
.quit                  Exit this program
.read FILENAME         Execute SQL in FILENAME
.restore ?DB? FILE     Restore content of DB (default "main") from FILE
.schema ?TABLE?        Show the CREATE statements
                         If TABLE specified, only show tables matching
                         LIKE pattern TABLE.
.separator STRING      Change separator used by output mode and .import
.show                  Show the current values for various settings
.stats ON|OFF          Turn stats on or off
.tables ?TABLE?        List names of tables
                         If TABLE specified, only list tables matching
                         LIKE pattern TABLE.
.timeout MS            Try opening locked tables for MS milliseconds
.trace FILE|off        Output each SQL statement as it is run
.vfsname ?AUX?         Print the name of the VFS stack
.width NUM1 NUM2 ...   Set column widths for "column" mode
.timer ON|OFF          Turn the CPU timer measurement on or off

詳しくは : https://qiita.com/sotetsuk/items/cd2aeae4ba7e72faad47