ホームページ  >  記事  >  データベース  >  mysqlにキーワードはありますか?

mysqlにキーワードはありますか?

青灯夜游
青灯夜游オリジナル
2022-06-21 12:09:079703ブラウズ

mysql にはキーワードがあります。 Mysql にはさまざまなキーワードが用意されています: 1. BETWEEN、WHERE ステートメントの後の時間または数値範囲のクエリに使用されます; 2. CALL、ストアド プロシージャの呼び出しに使用されます; 3. CURRENT_DATE、現在の日付を取得します; 4. CURRENT_TIME、取得します現在の日付 Time; 5. CURRENT_USER、MYSQL のユーザー名を返します; 6. CURSOR、mysql でカーソルを宣言するために使用されます; 7. DISTINCT、重複データを削除するために使用されます。

mysqlにキーワードはありますか?

このチュートリアルの動作環境: Windows7 システム、mysql8 バージョン、Dell G3 コンピューター。

MySQL を使用する場合は、通常、テーブル名としてキーワードを使用しないようにしてください。キーワードをテーブル名として使用する場合は、フィールドを区別するために、標準的な記述に従って SQL ステートメントに [] (または ") を追加する必要があります。名前とテーブル名。.

すべての MySQL キーワードを以下にリストします。これは、MySQL を使用する友人に参考となるヘルプを提供することを目的としています。

#EACHELSEELSEIFENCLOSEDESCAPEDEXISTSEXITEXPLAINFALSEFETCHFLOATFLOAT4FLOAT8FORFORCE外国#FROM全文GOTOGRANTGROUPHAVINGHIGH_PRIORITYHOUR_MICROSECONDHOUR_MINUTEHOUR_SECONDIF#IGNORE#IN#INFILEINNER#INOUT##無感覚##INT#INT1 INT4INTERVALITERATEKEYSLEADING#LIKE#LIMIT#LINESLOADLOCALTIMELOCALTIMESTAMPLOCKLONGLONGBLOBLONGTEXT ループLOW_PRIORITYMATCHMEDIUMBLOBMEDIUMINTMEDIUMTEXTMIDDLEINTMINUTE_MICROSECONDMINUTE_SECONDMOD MODIFIESNATURALNOTNO_WRITE_TO_BINLOGNULLNUMERICON##オプション#オプションで#注文OUTOUTEROUTFILEPrecisionPrimaryProcedure パージRAID0範囲読み取り読み取り本当のリファレンスREGEXPリリース名前の変更繰り返し交換必須制限返品取り消しRIGHT#SCHEMASCHEMA##SECOND_MICROSECOND#SEPARATORSETSHOWSMALLINT空間特定SQLSQL例外SQL状態SQL警告SQL_BIG_RESULTSQL_CALC_FOUND_ROWSSQL_SMALL_RESULTSSLSTARTING STRAIGHT_JOINTABLETERMINATEDTHENTINYBLOBTINYINTTINYTEXTTOTRAILINGTRIGGER#使用中##UTC_TIMEVALUESVARCHARACTERWHEREWRITEYEAR_MONTH
追加 ALL ALTER
分析 AND AS
ASC 敏感な
BIGINT BINARY
BLOB BOTH BY
CALL カスケード ケース
変更 文字 文字
CHECK COLLATE COLUMN
CONDITION CONDITION CONSTRAINT
CONTINUE CONVERT CREATE
CROSS CURRENT_DATE CURRENT_TIME
CURRENT_TIMESTAMP CURRENT_USER CURSOR
DATABASE DATABASES DAY_HOUR
DAY_MICROSECOND DAY_MINUTE DAY_SECOND
DEC DECIMAL 宣言
デフォルト 遅延 削除
DESC DESCRIBE DETERMINISTIC
DISTINCT DISTINCTROW p
DOUBLE DROP DUAL
#INDEX
#INSERT
INT2 INT3
INT8 INTEGER
INTO IS
JOIN KEY
KILL LABEL
LEAVE LEFT
LINEAR
#最適化
##または
#RLIKE
SELECT SENSITIVE
#TRUE UNDO UNION
ユニーク ロック解除 未署名
更新 使用法 使用
##UTC_DATE UTC_TIMESTAMP
VARBINARY VARCHAR
VARYING WHEN
WHILE with
X509 XOR
ゼロフィル

以下は、一般的な mysql キーワードの機能のリストです。

#キーワード関数##ANALYZESHOW INDEX FROM table name##BETWEEN 「;" クエリは 20 日から 30 日までのデータで、時刻型が DATETIME の場合、クエリ範囲は 00:00:00 です。たとえば、上記のクエリ ステートメントの場合、CREATE_TIME の場合 です。 CALL は、次のようなストアド プロシージャを呼び出すために使用されます。 CASCADE は、設定後、マスターテーブルが削除または更新されたときにスレーブテーブルも操作されます (例: "" を追加した後、ユーザー テーブルでユーザー名が変更されると、スレーブ テーブルのユーザー名も変更されます。 CURRENT_DATE は今日の日付を取得するために使用されます。たとえば、「」は今日の日付を返しますCURRENT_TIME は現在時刻を取得するために使用されますたとえば、「」は現在の時、分、秒を返します。 time フィールドは、新しいデータを追加するときに現在時刻がデフォルトで挿入されることを意味します。フィールドを作成するとき: "create_time timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP時間フィールドの作成時にこのコードを追加すると、データ変更時に現在時刻がデフォルトで同期されることになります。フィールド作成時: "update_time timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMPMYSQL のユーザー名を返しますmysql の宣言に使用されます。 のカーソルはストアド プロシージャで使用され、ポインタとして機能します。 使用法: "DECLARE カーソル名 CURSOR FRO クエリ結果セット は、ストアド プロシージャなどの複合ステートメントで変数を宣言するために使用されます。SET 変数名 = 値 は、遅延挿入操作を使用するために使用されます。DELAYED で宣言されたステートメントを実行すると、データベースは最初にステータス情報を返した後、挿入操作がキューに入れられ、キューのデータを操作しない命令を待った後、キューの実行が開始されます。 は、データ テーブル内のフィールドの詳細な設計を表示するために使用されます。2 つのタイプがあります。 使用法: 1.すべてのフィールドを表示します。2.DESCRIBE テーブル名フィールド名 は、フィールドを個別に表示するために使用されます。EXPLAIN SELECT * FROM userFULLTEXT(Field 1, Field 2) を追加することも、テーブルの作成後に ALTER を個別に追加することもできます。 TABLE テーブル名 ADD FULLTEXT INDEX インデックス名 ()CREATE USER 'testUser'@'host' IDENTIFIED BY '123456';ユーザーの作成に使用され、'testUser'@'host' の権限を表示;GROUP BY フィールド名 グループ化操作の後にクエリされるフィールドは、GROUP BY の後に追加する必要があります。それ以外の場合は、エラーが報告されます。より古典的な使用法は次のとおりです。 SELECT 友人名 , COUNT(友人名) FROM 無題 GROUP BY 友人名クエリは、friend_name が 1 より大きいデータ項目の数ですHIGH_PRIORITY#KEY はデータベースの物理構造であり、2 つのレベルの意味と機能があります: 1: 制約、2: 主キー KILL が自動的に追加されます。これは、mysql でスレッドを終了するために使用されます。#LABELステートメント ラベルLEAVELeave ステートメント指定されたラベルのフロー制御ステートメント ブロックを終了することを示します。通常、begin...end、loop、repeat、while ループ ステートメントで使用されます。プログラミングのブレークと同じように、使用方法は LEFTLEFT() 関数は、指定された長さの文字列の左側の部分を返す文字列関数です。例: SELECT LEFT(name,3) FROM user を返します。 #OPTIMIZE機能: テーブルのフラグメントとインデックスを最適化および整理します。データベースは、データベースのテーブル領域にデータを保存するときにデータを割り当て、データにインデックスを付けます。データが削除されると、データベースはこれらのリソースを再利用せず、新しいデータを待ちます。これらの空きを埋めるには、OPTIMIZE キーワードを使用して、これらの占有リソースを積極的にクリアします。使用法: RANGEPartition: Based指定された間隔範囲では、操作を実行するときに、指定された間隔のこのフィールドの値が連続している必要があります。それに応じてパーティション化する方法を知っておくと、効率が大幅に向上します。要件としては、テーブルに主キーがある場合、パーティション フィールドは次のとおりです。使用法: テーブル作成ステートメント PARTITION BY RANGE (xuehao) (PARTITION p0 VALUES LESS THAN (6 ),PARTITION p1 VALUES LESS THAN (11),PARTITION p2 VALUES LESS THAN (16), PARTITION p3 VALUES LESS THAN (21));REFERENCESテーブル作成ステートメントで外部キー関係を作成します: REGEXP正規表現。正規表現を使用できます。動作する条件では、## SEPARATOR は、クエリ結果を文字列を使用して 1 つの行に連結できます。SEPARATOR はコネクタを指定し、次のように GROUP BY とともに使用する必要があります: USINGIfフィールド名は接続クエリ中に同じであり、on の代わりに次のように使用して接続条件として使用できます。 WHILEストレージ内で使用されるループ ステートメントのキーワード プロセス中に、次のようなプロセス制御ステートメントと組み合わせて使用​​する必要があります。 # #XOR は排他的論理和を表し、いずれかのオペランドが NULL の場合、戻り値は NULL になります。 NULL 以外のオペランドの場合、2 つの論理 true と false の値が異なる場合、戻り結果は 1 です。そうでない場合は、次のように 0 になります。 ZEROFILLテーブル作成時数値型にこのキーワードを追加後、挿入する桁数が足りない場合、対応する桁が自動的に追加されます。 ##[関連する推奨事項: mysql ビデオ チュートリアル]
Analyze Table ステートメントを通じてインデックスは修復できます。 「」を使用して、テーブル内のインデックスのステータスを表示します。フィールド内の異なる値の数がテーブル内の CARDINALITY の数よりはるかに大きい場合、インデックスは基本的に効果はありません。この場合、「 ANALYZE TABLE テーブル名 」を使用するとインデックスを修復できます。もう一度「SHOW INDEX FROM テーブル名 」を使用すると、CARDINALITY インデックスが通常の状態に戻ることを確認できます
SELECT * FROM USER WHERE CREATE BETWEEN '2020-11-20' AND '2020」のように、WHERE の後に時間または数値範囲のクエリを使用します。 -11-30'DATETIME タイプで、クエリ範囲は「2020-11-20 00:00:00 ~ 2020-11-30 00:00:00」
CALL showUser()
CONSTRAINT 'ユーザー情報' FOREIGN KEY (USER_NAME) REFERENCES TASK.USER (NAME) ON DELETE CASCADE ON UPDATE) CASCADE
SELECT CURRENT_DATE
SELECT CURRENT_TIME ##DEFAULT CURRENT_TIMESTAMP
" ON UPDATE CURRENT_TIMESTAMP
CURRENT_USER
CURSOR
" DECLARE
を使用して値を再割り当てできます。この例では、結果 1 は「test」です。 result 1 ( 2) It is "Test 1" DELAYED
DESCRIBE テーブル名
DISTINCT 重複データを削除し、重複排除されたデータのみを返すことができます。これはクエリの最初のフィールドである必要があり、特定のフィールドに一意のデータがいくつあるかをクエリするためによく使用されます。たとえば、SELECT COUNT(DISTINCT name) FROM user
DISTINCTROW は、結合テーブル クエリの重複排除に使用され、関連付けをクエリできます。メインテーブル内 付録データには、SELECT DISTINCTROW user.id, untitled.friend_name FROM user INNER JOIN untitled ON user.id = untitled.friend_id WHERE user など、クエリされたメインテーブルに関連しないデータは含まれません。 .id = '1';関連付けられた無題テーブル内のユーザー ID と友人名をクエリできます。ただし、クエリされていないユーザーの友人は除外されます
DROP データベースの削除: DROP DATABASE データベース名、テーブルの削除: DROP TABLE テーブル名、フィールドの削除: ALTER TABLE テーブルなど、主に構造の削除に使用されます。 name DROP field name
DUAL 仮想テーブルは mysql5.1 以降で使用できますが、FROM テーブルは ORACLE でのみ役立つように感じます。 ORACLE.name でクエリを使用するには、これが必要ですが、mysql にテーブル名がない場合、エラーは報告されません。たとえば、mysql では、SELECT 1 1 は問題を引き起こしませんが、ORACLE では、 , エラーが報告されます。この場合、SELECT 1 1 FROM DUAL を使用してください。公式ステートメント: DUAL は、すべての SELECT ステートメントに FROM またはその他の句が必要な場合の利便性を目的としています。
#EXISTS WHERE 以降の判定演算に使用され、返される結果はブール値になります。使用方法は、内部行に既存の行を代入することです。検証用のクエリです。内部クエリで 1 行以上のデータが返された場合、その行のデータが出力されます。逆も同様です。クエリにデータが存在しない場合、この行のデータは出力されません。例: SELECT * FROM user u WHERE EXISTS(SELECT * FROM untitled n WHERE n.friend_id=u.id)返されるのは、untitled テーブルの friends フィールドです。ユーザー テーブルの場合、EXISTS キーワードの前に NOT を追加して、無関係なデータを返すこともできます。使用方法:
#FULLTEXTFull など、SELECT の前に追加します。 -text インデックスは、クエリ速度を最適化するために使用されます。テーブルの作成時に
フィールド名インデックスを追加するとき、テーブル エンジンは MyISAM を使用する必要があることに注意してください。そうでないとエラーが報告されます。使用されるテーブル タイプはFULLTEXT インデックスのサポート GRANT はユーザー権限の操作に使用され、ユーザー権限を付与したり、ユーザー権限を削除したりできます。 :
ユーザー権限とその他の操作を表示します GROUP はグループ化操作に使用されます。
特定のタイプのデータ項目の数をクエリします #HAVING集計で使用 次に、データをフィルターします。WHERE との違いは、WHERE は集計前にデータをフィルターし、COUNT、SUM などの集計関数を使用できないことです。HAVING は集計後にデータをフィルターします。例: SELECT friends_name , COUNT(friend_name) FROM untitled GROUP BY friends_name HAVING COUNT(friend_name) >1
この操作を高優先度の操作として宣言するために、SELECT および INSERT ステートメントに使用されます。データベースは、次のような操作を最初に実行します。 HIGH_PRIORITY * FROM user同時に複数の操作がある場合、このステートメントが優先されます。
IGNORE は、バッチで挿入するときにエラー データを無視するためによく使用されます。たとえば、 INSERT IGNORE INTO user (id,name,age) names(6,'pangqi', 25);主キー ID がすでに存在する場合、エラーは報告されませんが、次の挿入操作が実行されます。
INNER が使用されます。内部接続クエリの場合です。ON 条件を設定すると、条件を満たすすべてのデータが表示されます。左結合と右結合との違いは、INNER にはフォーカスがないことです。MySQL は条件を満たすすべてのデータを検索します。また、INNER は mysql のデフォルトの接続方法であるため、SELECT * FROM user JOIN untitled ON user.id = untitled のように INNER キーワードを省略できます。 friends_id
INTERVAL 主に次のような時間間隔に使用されます: SELECT * FROM USER where create_time < NOW()-INTERVAL 4 DAY は 4 日前に作成されたデータを返します。または、DAY は時間、分、年、月などに置き換えることができ、次のようなデータの比較にも使用できます: SELECT INTERVAL(6,1,2) ,3,4,7,8,9,10) は、比較するときに、mysql がインデックス 0 のデータを使用して次のデータを比較するため、4 を返します。次のデータがインデックス 0 のデータより大きい場合、mysql は前のデータのインデックスを返します
IS mysql のキーワードは IS NULL または IS でのみ使用されますNOT NULL 例: SELECT * FROM USER where update_time IS NULL
JOIN は、2 つのテーブルを接続するために使用されます。通常、メソッドは内部結合INNER JOINと右結合RIGHT JOIN、左接続LEFT JOIN
KEY##です。 PRIMARY KEY (id), の宣言などのインデックスこれには一意の制約があり、インデックス
SHOW PROCESSLIST を使用できます。現在のスレッドを表示し、スレッドを終了するには KILL thread id を使用します。修飾子は 2 つあります 1: CONNECTION デフォルト この修飾子は、スレッド ID に関連するすべての接続を終了できます 2: QUERY は、現在実行されているステートメントを終了しますただし、接続は終了しません
LEAVE ループです。 name;
LIKE はあいまい検索に使用され、% および _ とともに使用できます。 、% は 1 つ以上のワイルドカード文字のクエリを表し、_ は次のような文字を表します。 SELECT * FROM user WHERE name LIKE '%i'名前の i で終わるすべてのデータをクエリできます。% を置き換えます。 with _ その後、クエリ条件は名前が i で終わり、先頭に 1 文字だけあるデータをクエリすることになります。
LIMIT はページング クエリに使用され、例: SELECT * FROM user LIMIT 4,5 最初のパラメータは開始番号です。上の例のように、4 番目のデータから戻ります。2 番目のパラメータはオフセットです。上の例ではパラメータが5の場合は戻ることを意味しており、第4条の最後の5個のデータのうち、直前のオフセットを-1にしてクエリ開始回数以降のデータを全て表すこともできるが、この書き方はMySQL によって正式にエラーとして認識されるため、新しいバージョンの MySQL は使用できません。最良の方法は、比較的大きな数値
LOCALTIME 現地時間を指定することです。これは、クエリ結果フィールド、WHERE 条件、挿入時の現在時刻、更新時刻などとして使用できます。mysql にはさまざまな時間関数があり、必要に応じてさまざまな関数を選択できます。たとえば、SELECT LOCALTIME、 NOW()、sysdate()、localtimestamp、localtimestamp();
LOCK テーブルのロックと MySQL のロック解除により、クライアント セッションがテーブル ロックを明示的に取得できるようになります。他のセッションと連携してテーブルにアクセスしたり、セッションがテーブルを変更するときに他のセッションが相互排他的アクセスを要求するのを防ぎます。セッションは、それ自体のロックを取得または解放することしかできません。セッションは、別のセッションからロックを取得したり、別のセッションが保持しているロックを解放したりすることはできません。例: LOCK テーブル ユーザー読み取りローカルこの時点で、テーブル ロック操作が生成されます。テーブルを変更するすべての操作は拒否され、次のプロンプトが表示されます: テーブル 'ユーザー' は読み取りロックでロックされました更新できませんunlock tables;キーワードを使用してロックを解除できます
LOW_PRIORITY 低優先度、MySQL では許可されていますステートメント「スケジューリングの優先順位付け」を変更すると、複数のクライアントからのクエリがより適切に連携できるようになり、単一のクライアントがロックのために長時間待機することがなくなります。通常、DELETE、INSERT、LOAD DATA、REPLACE、および UPDATE ステートメントで使用されます。例: update LOW_PRIORITY user set username = 'zhangsan'この場合、ライターが待機している場合、2 番目のリーダーが到着すると、 2 番目のリーダーはライターの前に挿入できます。ライターは、他のリーダーが存在しない場合にのみ操作を開始できます。
MOD 剰余関数: select mod(12,5)剰余 2
NATURAL ナチュラル ジョインは JOIN の一種です。テーブル内の同じ名前のフィールドを自動的に照合するのが特徴です。同じ名前のフィールドの型は異なる場合があるため、テーブル内のフィールドは異なる場合があります。 は、INNER、LEFT、およびその他の JOIN に適用できます。例: select * from user NATURAL LEFT JOIN user2 ここでの user と user2 の違いは、 id、1 が user2 フィールドの後に追加され、その結果は次のようになります。ID は接続時に関連付けに自動的に使用され、結果は実際に同じになります。
最適化テーブル table Name
FOREIGN KEY(uid) REFERENCES users( id) は、フィールド uid がユーザー テーブルの主キー フィールド ID に接続されることを意味します。
SELECT * FROM user WHERE email NOT REGEXP'^[A-Z0-9._%-] @[A-Z0-9.-] .[A-Z]{2,4} を使用してください。$'
RENAME テーブル名を変更するには、次を使用します: rename table user2 to user3;
REPEAT 指定されたデータを文字列として指定された回数コピーします。たとえば、次のようになります。 select REPEAT(3,3)結果は「333」です
REPLACE 指定されたすべての文字列を置換します。例: select REPLACE('This is a string, or acharacter', 'one', 'two') ;
REVOKE MySQL ユーザーに付与されている権限を次のように取り消します。 revoke all on *.* from testUser@ host; 完了後に必ずユーザー権限テーブルを更新してくださいFLUSH PRIVILEGES;
RIGHT 文字列に対して切り捨て操作を実行します。 as:select RIGHT ('This is a string',5)、文字列内の指定された桁数を逆順にインターセプトします
RLIKE ファジー クエリ。 like When とは異なり、rlike の内容は規則的であり、次のように正確に一致しない場合があります。 select * from user where email RLIKE '^www.*$';
SELECT * 、GROUP_CONCAT(ユーザー名区切り文字「;」によるユーザー名順序) SCORE FROM ユーザー GROUP BY email RLIKE '^www.*$'
select * from user left join students USING(quanxian)
CREATE PROCEDURE fun() BEGIN SET @sum:=10; WHILE @sum > 0 DO SELECT @sum; SET @sum:=@sum-1; END WHILE; END CALL fun(); DROP PROCEDURE fun


select true XOR null;select true XOR true;select true XOR false;
CREATE TABLE Student3 (id int(11) unsigned zerofill not null, xuehao int(50) NOT NULL );insert intostudent3 value(1,2); select * fromstudent3;

以上がmysqlにキーワードはありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。