SQLダンプ (.sql)

ISO/IEC 標準

SQLスクリプトは、CREATE TABLE、INSERT、SELECTなどのデータベース文を記述したテキストファイルです。SQLの方言は異なるため、実行前に対象データベースがスクリプトの構文に対応しているか確認してください。

SQLITE を SQL に変換

無料のブラウザ内 SQLITE から SQL へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してSQLファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してSQLファイルを識別します:

16進数シグネチャ(オフセット0):

固定シグネチャなし

ASCII表現: 固定シグネチャなし

標準化: ISO/IEC 9075:2023 / ANSI SQL標準

技術仕様

コンテナアーキテクチャData Definition Language(DDL)およびData Manipulation Language(DML)文を含むUnicodeプレーンテキストスクリプト
圧縮非圧縮のプレーンテキスト(.sql.gzまたは.sql.zstとして圧縮されることが多い)
バイトエンディアンUTF-8 / Unicodeテキストストリーム
色空間該当なし(データベーススクリプト)
チャンネルと構造リレーショナルスキーマ定義(テーブル、ビュー、インデックス、外部キー)とデータのINSERT行
最大寸法テキスト長に上限なし(数テラバイトのデータベースダンプに対応)
透過性なし
ストリーミングとプログレッシブ文ごとのトランザクション型ストリーミング実行

技術比較表:SQLと競合製品

技術属性SQL (現在)CSVJSONSQLITE
スキーマの保持完全なスキーマ(テーブル、型、外部キー)ヘッダーの列名のみ自己記述型ドキュメント構造完全なバイナリデータベースファイル
実行モデル実行可能なDDL/DMLスクリプトパッシブな行列データパッシブなドキュメントツリー直接的なバイナリBツリークエリ
標準化ISO/IEC 9075標準RFC 4180RFC 8259SQLiteオープンファイルフォーマット
データ関係完全な外部キー制約フラットな表形式(関係なし)ネストされた親子オブジェクト完全なリレーショナル制約

一般的な破損モードと16進数リカバリガイド

データベースのインポートが「ERROR: syntax error at or near...」で失敗する。

根本原因: SQL方言の不一致(例:MySQLのバックティックのダンプをPostgreSQLにインポートするなど)や、エスケープされていないシングルクォート。

復旧: File2File.app Database Transpilerを使用して方言の構文を変換およびサニタイズする。

セキュリティ分析とパーサー攻撃ベクトル

信頼されていないSQLスクリプトを実行すると、壊滅的なSQLインジェクション、任意のファイル書き込み、または管理特権の昇格を引き起こす可能性があります。

既知の攻撃ベクター

  • 意図しない管理コマンド(例:DROP TABLE、GRANT ALL)を実行するSQLインジェクション(SQLi)。
  • 「COPY ... FROM PROGRAM」や「LOAD DATA INFILE」を介した任意のサーバーファイルの読み取り/書き込み。
  • インデックス化されていない再帰的な共通テーブル式(CTE)によるサービス拒否(DoS)。

防御的ベストプラクティス: 信頼されていないSQLスクリプトを本番データベースサーバー上で直接絶対に実行せず、隔離されたサンドボックスでクエリを検査およびサニタイズします。

歴史的背景とマイルストーン

2023ISO/IEC 9075:2023がリリースされ、プロパティグラフクエリ(SQL/PGQ)が標準SQLに統合される。
1986ANSIおよびISOが、リレーショナルデータベース管理システムの公式標準としてSQLを採用する。
1974Donald ChamberlinとRaymond Boyceが、Edgar F. Coddのリレーショナルモデルに基づき、IBM ResearchでSEQUELを開発する。

主なメリット

  • SQLスクリプトでは、テーブルの定義、行の追加、リレーショナルデータベースへの問い合わせができます。データ型、ID列、日付関数などの構文はSQLite、MySQL、PostgreSQL、SQL Serverで異なります。
  • 完全なリレーショナル忠実度:データとともに、テーブル、主キー、外部キー、制約、インデックスを再作成します。
  • トランザクション実行:文をトランザクション内(BEGIN...COMMIT)で実行し、アトミックなデータベースの復元を保証できます。

技術的な制限とデメリット

  • 方言の非互換性:微妙な構文の違い(例:AUTO_INCREMENT対SERIAL対AUTOINCREMENT)により、データベースエンジン間での変換が必要です。
  • 膨大なテキストのオーバーヘッド:プレーンなSQLのINSERT文は、バイナリデータベースのストレージよりも大幅に多くのスペースを消費します。
  • インデックスの再構築が無効化されていない場合、巨大な複数ギガバイトのデータベースダンプのインポートに時間がかかります。

興味深い技術トリビア

  • SQLは元々「SEQUEL」(Structured English Query Language)という名前でしたが、航空機メーカーのHawker Siddeleyとの商標紛争によりSQLに短縮されました。
  • 公式のISO標準では「S-Q-L」とアルファベットごとに発音されますが、何百万人もの開発者は慣習的に「シークエル」と発音しています。
  • SQL構文で動作するSQLiteは、世界中で1兆台を超えるデバイスにインストールされていると推定されています。

よくある技術的な質問

.sqlファイルとは何ですか?

.sqlファイルは、テーブルを作成し、リレーションを確立し、リレーショナルデータベースにデータの行を挿入するSQLコマンドを含むプレーンテキストスクリプトです。

SQLダンプファイルをCSVまたはJSONに変換できますか?

はい。File2File.appは、.sqlデータベースダンプファイルを解析し、テーブルをクリーンなCSVスプレッドシートまたは構造化されたJSONドキュメントに直接エクスポートできます。

MySQLの.sqlファイルがPostgreSQLで動作しないのはなぜですか?

データ型や引用符のエスケープ方法など、データベースシステムごとに独自の構文上の違いがあります。データベースエンジン間で移行する際は、それぞれの方言に固有の構文を変換する必要があります。