sql >> データベース >  >> RDS >> Mysql

MySQLクエリのフィールドを分割/展開できますか?

    今まで、SQLデータベースにこれらのコンマ区切りのリストを保持したかったのですが、すべての警告に注意してください!

    私は、ルックアップテーブル(正規化されたデータベースへの道を提供する)よりも利点があると考え続けました。数日間拒否した後、私は光を見ました

    • ルックアップテーブルを使用しても、1つのフィールドでカンマ区切りの値を使用する場合、これらの醜い文字列操作よりも多くのコードが発生することはありません。
    • ルックアップテーブルではネイティブの数値形式を使用できるため、これらのcsvフィールドより大きくはありません。でも小さいです。
    • 関連する文字列操作は、高級言語コード(SQLおよびPHP)ではスリムですが、整数の配列を使用する場合に比べてコストがかかります。
    • データベースは人間が読める形式ではなく、私が行ったように、構造が読みやすく、直接編集できるため、構造に固執しようとするのはほとんど愚かです。

    つまり、MySQLにネイティブのSPLIT()関数がないのには理由があります。



    1. MySQLデータベースをSQLiteデータベースにエクスポートする

    2. MariaDB CURRENT_ROLE()の説明

    3. ループなしのキーによる多次元配列の値の合計

    4. MariaDBでREPLACE()がどのように機能するか