Mysql キーワードの詳細な説明

1. インポートとエクスポートの区切り記号で終了

テーブルをエクスポートします。フィールドは | で区切り、" で囲みます。

select * from comment into outfile 'D:/working/ttt.txt' fields terminated by '|' enclosed by '"';
select * from p_policy into outfile 'c:/a.txt' fields terminated by '|';
导入一份数据倒表中
load data infile "D:/working/ttt.txt" into table p_policy fields terminated by "|";

2.CALL は、ストアド プロシージャを呼び出すために使用されます。

如:CALL showUser()

3. CURRENT_DATE は、現在の日付を取得するために使用されます

如“SELECT CURRENT_DATE”返回的就是当天的日期

4. CURSOR は、ストアド プロシージャで使用され、ポインターとして機能する mysql でカーソルを宣言するために使用されます。

用法:“DECLARE 游标名称 CURSOR FRO 查询出的结果集”

5.重複データを削除するDISTINCT

Only deduplicated data can be returned, which must be the first field in the query. 多くの場合、特定のフィールドに一意のデータがいくつあるかを照会するために使用されます。

SELECT COUNT(DISTINCT name) FROM user

EXPLAIN は、SQL の実行、インデックスが追加されたかどうか、テーブル全体のスキャンが行われたかどうかなどをチェックするために使用されます。

使用方式:在SELECT前加上,如EXPLAIN SELECT * FROM user

6. クエリ速度を最適化するための FULLTEXT フルテキスト インデックス

可以在创建表时加入FULLTEXT(字段1, 字段2),也可以在创建表之后单独加入ALTER TABLE 表名 ADD FULLTEXT INDEX 索引名 (字段名)需要注意的是添加索引是,表引擎要使用MyISAM不然会报错The used table type doesn't support FULLTEXT indexes

7.MOD剰余機能

如:select mod(12,5)返回余数2

8. RLIKE ファジー クエリ

like と異なる場合、rlike の内容は規則的であり、完全に一致することはできません。

如:select * from user where email RLIKE '^www.*$';

9. XOR は Logical Exclusive Or の略です

、いずれかのオペランドが NULL の場合、戻り値は NULL です。非 NULL オペランドの場合、2 つの論理真と偽の値が異なる場合、戻り値は 1 であり、そうでない場合は 0 です。

如:select true XOR null;select true XOR true;select true XOR false;

10. USING接続

クエリを実行するとき、フィールド名が同じであれば接続条件として使用でき、 on の代わりに using を使用できます。

如:select * from user left join students USING(quanxian)

11. WHILE ループ文のキーワード

ストアド プロシージャで使用されます。フロー制御ステートメントと組み合わせて使用​​する必要があります。

如: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

12. SEPARATOR は、クエリ結果を文字列で 1 行に連結できます

SEPARATOR は、GROUP BY で使用する必要があるコネクタを指定します。

如:SELECT *, GROUP_CONCAT(username order by username separator ';') SCORE FROM user GROUP BY email RLIKE '^www.*$'

13. RIGHT は文字列を切り捨てます

如:select RIGHT('这是一个字符串',5),会倒序截取指定位数的字符串

14.REPEAT は、指定されたデータを文字列として指定された回数だけコピーします。

如:select REPEAT(3,3)得出的结果为“333

15.RENAME テーブル名の変更

使用:rename table user2 to user3;

16.NATURAL 自然なつながり

テーブル内の同じ名前のフィールドを持つレコードを自動的に照合することを特徴とする JOIN の一種であり、これらの同じ名前のフィールドの型が異なる可能性があるため、テーブル内のフィールドの型が異なる可能性があります。 INNER、LEFTなどで適用できます。JOIN

例:select * from user NATURAL LEFT JOIN user2 在这里user与user2的区别是除了id之外user2字段后会加上1,这将导致连接时自动使用id进行关联,结果也确实如此	

17. OPTIMIZE の役割: テーブルのデフラグとインデックス作成を最適化する

データベースにデータが格納されると、データベースはデータにテーブル スペースとインデックスを割り当てます。データが削除されると、データベースはこれらのリソースを取り戻さず、新しいデータがこれらの空き領域を埋めるのを待ちます。これらをアクティブに消去するには、OPTIMIZE キーワードを使用します。リソースを占有しました。

用法:optimize table 表名称	

18. RANGE パーティション

指定された間隔範囲に基づいて、指定された間隔内のこのフィールドの値は連続している必要があり、操作を実行するときに対応するパーティションが使用されるため、効率が大幅に向上します。キー、パーティションフィールドとしても使用されます主キーのランクにある必要があります

用法:建表语句+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));

19.LEAVE Leave ステートメントは、指定されたラベルのフロー制御ステートメント ブロックを終了することを示します。

これは通常、begin...end、loop、repeat、while ループ ステートメントで使用され、プログラミングの break と同様に、LEAVE ループ名を使用します; ここに画像の説明を挿入します LEFT LEFT() 関数は文字列関数であり、左を返し
ます指定された長さの文字列の一部。

如:SELECT LEFT(name,3) FROM user	

20.あいまい検索のLIKE

% および _ と一緒に使用できます。% は 1 つ以上のワイルドカードを表し、_ は文字を表します。

如:SELECT * FROM user WHERE name LIKE '%i'可以查询到所有name中以i结尾的数据,将%换成_之后,查询条件就变成了查询name中以i结尾并且前面只有一个字符的数据

21. LIMIT はページネーション クエリに使用されます

如:SELECT * FROM user LIMIT 4,5 其中第一个参数为起始条数 如上例就是从第4条数据开始返回,第二个参数为偏移量如上例所示参数为5则表示返回从第4条的后5条数据,之前偏移量可以为-1代表查询起始条数后的所有数据,但是这个写法被mysql官方认定为一种错误,所以较新版的mysql都不能用了,最好的办法就是给一个比较大的数字

おすすめ

転載: blog.csdn.net/shugyin/article/details/124710115