SQL でファイルを格納できるデータ型は見たことがありません。そのようなものはありますか?私が特に話しているのは、テーブルにソース コードを挿入したいということです。それを行うための最良の方法は何ですか?適切にフォーマットされたテキストとしてデータベースに保存することも、(実際に必要な)単一のファイルとして保存することもできます。私はMySQLを使用していることに注意してください。
4 に答える
ファイルを SQL データベースに保存するのではなく、ファイルへのパスをサーバーに保存するか、アプリケーションがそれ自体で取得できるその他の UNC パスに保存し、不要なことを行うことをお勧めします。
そしてこれ: MySQLデータベースに大きなファイルを保存するより良い方法は?
それでもDBにファイルを保存したい場合..ここに例があります: http://mirificampress.com/permalink/ Saving_a_file_into_mysql
いくつかの違いがある BLOB ( http://dev.mysql.com/doc/refman/5.0/en/blob.html ) を使用することもできます。通常、ファイルをファイルシステムに保存し、ポインターをDBに保存するだけです。これにより、HTTPなどを介してファイルを返すのが少し簡単になり、データベースが肥大化することはありません。
ファイルをテーブルに保存することは、そのコードで検索を行う必要がある場合にのみ意味があります。それ以外の場合は、ファイルの URL のみを保存する必要があります。
テキスト ファイルを格納する場合は、TEXT データ型を使用します。これはソース コードであるため、スペースを節約するために ASCII 文字セットの使用を検討することもできますが、クエリ中に文字セットの変換が発生し、パフォーマンスに影響することに注意してください。また、ASCII の場合、検索に REGEXP を使用できます (その演算子はマルチバイト文字セットでは機能しません)。
ファイルをロードするには、ファイルが MySQL と同じサーバー上にある場合、INSERT 内で FILE() 関数を使用できます。
ファイルをシリアル化できる場合は、バイナリとして保存し、必要に応じて逆シリアル化できます http://dev.mysql.com/doc/refman/5.0/en/binary-varbinary.html