私と一绪にMySQLの技术の内幕(第5版):(第2章学习日记1)

3506 ワード

第2章SQL管理データ2.1サーバを用いたSQLモード2.2 MySQLの識別子(zhi)符号構文と命名規則2.3 SQL文の大文字と小文字の規則|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.1
set sql_mode='tradition' set global sql_mode='tradition' select @@session.sql_mode;

select @@global.sql_mode;

SQLモードはSQL文の実行に一定の影響を与えます.sql_modeは、このモードを構成するために使用することができ、このモードをグローバルに設定することで、すべてのクライアントに影響を与えることができます(文1)、また、各クライアントにこのモード(文2)を自分で変更させることで、自分のサーバセッションにのみ影響を与えることができます.現在のSQLモード値を知りたい場合は、3番目の文で現在のセッションまたはグローバルSQLモード値を返すことができます.
以下に、可能なSQLモード値をいくつか示します.
select_all_tablesとstrict_all_tablesは厳格モードを有効にします.厳格なモードでは、MySQLはbad data(悪いデータ)をより厳格に扱い、近い有効値に変換するのではなく、受け入れることを拒否します.
traditionは、他のモードを有効にすることによって、より多くの追加の制限条件を導入する組合せモードです.これにより、より厳格なデータチェックが実現されます.
ansi_quotesは、MySQLサーバに二重引用符をマーカー参照文字として認識するように伝えます.
pipes_as_concatは、orではなく標準的なSQL文字列接続演算子としてサーバに「|」を使用させます.
ansiはコンビネーションモードでansi_を同時に有効にしますquotes,pipes_as_concatとその他のいくつかのモード値
2.2 1.識別子の中の文字は合法的に注意しなければならない2点:MySQLは識別子が数字で始まるやり方をサポートしているが、イベントと1つの数字を区別するには反引用符で囲む必要があり、識別子がSQLの保留字であるか、スペースや他の文字が含まれている場合は引用符で囲む必要がある.サーバのSQLモードSQLのansi_を使用している場合quotesモードでは、二重引用符を使用して識別子を呼び出すことができます.SQLのignore spaceモードの関数名を使用すると保持字になります.この場合、識別子として使用するには引用符で呼び出す必要があります.3.識別子の長さは最大64文字、別名は2564.識別子修飾子はデータベースを参照し、その名前を直接使用します.
  use database_name;

 show tables from database_name;

リファレンステーブル
show columns from database_name.table_name;

select * from database_name.table_name;

select * from table_name;

この3つの文はよく理解されています.3つは、デフォルトのデータベース(use database_name;)を選択してから使用することに注意してください.そうしないと、エラーが発生します.
複数のテーブルを参照する場合は、できるだけtable_name.column_nameのフォーマットは、重複やその他の重大なエラーを引き起こすことはありません.
あとは簡単に言えば各部分に引用符を付けることもできます
select * from 'sampdb '.'member' where 'sampdb'.'member'.'member_id'>100;

2.3 SQL文の大文字と小文字のルール1.キーワードと関数名は大文字と小文字を区別しません.2.データベース名、テーブル名、ビュー名、windowsシステムのファイル名は大文字と小文字を区別しません.3.ストレージプログラムの名前はフリップフロップ以外に大文字と小文字を区別する必要はありません(フリップフロップが何なのかはしばらく分かりませんが、先にメモしておきました)4.カラム名、インデックス名は大文字と小文字を区別しません5.別名の名前区分(lower_case_tabel_nameシステム変数がゼロ以外の場合、テーブルの別名は大文字と小文字を区別しません)6.文字列値作成者はすべて小文字を使用することをお勧めします.Innobエンジンは内部で小文字でライブラリ名とテーブル名を格納します.システムを自動的に統一するには、lower_case_table_nameを設定して設定できます