MySQLと標準SQLの違い
特権
ユーザーに与えられる特権に関して、MySQLと標準SQLの間には多くの違いがあります。 MySQLでは、テーブルが削除されても、テーブルの権限は自動的に取り消されません。テーブルの権限を取り消すには、REVOKEステートメントを明示的に発行する必要があります。
外部キーの制約
外部キー制約のMySQL実装は、SQL標準とは異なります。同じ参照キー値を持つ親テーブルに多くの行がある場合、InnoDBエンジンは、同じキー値を持つ他の親行が存在しないように、外部キーチェックを実行します。
たとえば、RESTRICTタイプの制約が定義されていて、多くの親行を持つ子行がある場合、InnoDBは親行の削除を許可しません。
複数の行で挿入、削除、または更新を使用するSQLステートメントでは、外部キー制約(一意の制約など)が行ごとにチェックされます。外部キーチェックが実行されると、InnoDBは、チェックする必要のある子レコードまたは親レコードに共有行レベルのロックを設定します。
MySQLは、パフォーマンス上の理由から、参照される列にインデックスを付ける必要があることを義務付けています。ただし、MySQLは、参照される列がUNIQUEである必要がある、またはNOTNULLとして宣言される必要があるという必要性を強制しません。
コメント
標準SQLはC構文を使用します/*これはコメントです*/コメントを表示します。MySQLServerはこの構文もサポートしています。標準SQLは、開始コメントシーケンスとして「-」を使用します。 MySQLサーバーは開始コメント文字として「#」を使用します。
-
MySQLテーブルから一意のキーを削除しますか?
MySQLから一意のキーを削除するには、DROPコマンドを使用します。構文は次のとおりです- ALTER TABLE yourTableName DROP INDEX yourKeyName; 上記の構文を理解するために、一意のキーを使用してテーブルを作成しましょう。テーブルを作成するためのクエリは次のとおりです- mysql> create table DropIndexDemo −> ( −> BookId int unique key, −> Boo
-
ターミナルからMySQLデータベースのSQLファイルを実行しますか?
データベースでSQLファイルを実行するには、以下の構文を使用する必要があります。 mysql -u yourUserName -p yourDatabaseName < yourFileName.sql 上記の構文を理解するために、windows+Rショートカットキーを使用してコマンドプロンプトを開きます。 スナップショットは次のとおりです。 OKボタンを押すと、コマンドプロンプトが表示されます。スナップショットは次のとおりです。 次に、binディレクトリに到達します。スナップショットは次のとおりです。 これがbinディレクトリにある私のファイル「mydb.s