MySql の一般的なコマンドのまとめ

ユーザー管理:

1. 新しいユーザーの作成:
    >CREATE USER name IDENTIFIED BY 'ssapdrow';
  2. パスワードの変更:
    >SET PASSWORD FOR name=PASSWORD('fdddfd');
  3. 権限管理
    >SHOW GRANTS FOR name; //名前の表示user right
    > GRANT SELECT ON db_name.* TO name; //名前 user db_name にすべての権限を与えます database
    >REVOKE SELECT ON db_name.* TO name; //GRANT の逆の操作、権限を削除します。

1. データベースの操作:

1. データベースの表示:
    >SHOW DATABASES;
  2. データベースの作成:
    >CREATE DATABASE db_name; //db_name はデータベース名です
  3. データベースの使用:
    >USE db_name;
  4. データベースの削除:
    >DROP DATABASE db_name;

次に、テーブルを作成します。

1. テーブルを作成します。
    >CREATE TABLE table_name(
    >id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, //id value、unsigned、non-null、incremental—unique、主キーとして使用できます。 > name VARCHAR(60) NOT
    NULL
    >score TINYINT UNSIGNED NOT NULL DEFAULT 0, //デフォルトのカラム値を設定します
    >PRIMARY KEY(id)
    >)ENGINE=InnoDB //テーブルのストレージ エンジンを設定します。一般に InnoDB と MyISAM がよく使用されます。InnoDB は信頼性が高く、サポートされています。 transactions; MyISAM は効率的で、全文検索をサポートしていません
    > DEFAULT charset=utf8; //データベース内の中国語の文字化けを防ぐためにデフォルトのエンコーディングを設定します。
    条件が許せば、>CREATE TABLE IF NOT EXISTS tb_name( ...
  2. テーブルをコピーします:
    >CREATE TABLE tb_name2 SELECT * FROM tb_name;
    または部分コピー:
    >CREATE TABLE tb_name2 SELECT id,name FROM tb_name;
  3. 一時テーブルを作成します:
    >CREATE TEMPORARY TABLE tb_name (ここでは通常のテーブルの作成と同じです);
  4. データベース内の使用可能なテーブルを表示します:
    >SHOW TABLES;
  5. テーブルの構造を表示します:
    >DESCRIBE tb_name;
    も使用できます:
    >SHOW COLUMNS in tb_name; //from も使用できます
  6. テーブルを削除します:
    >DROP [ TEMPORARY ] TABLE [ IF EXISTS ] tb_name[ , tb_name2…];
    例:
    >DROP TABLE IF EXISTS tb_name;
  7. テーブルの名前変更:
    >RENAME TABLE name_old TO name_new;
    次のコマンドも使用できます:
    >ALTER TABLE name_old RENAME name_new;

3. テーブルを変更します。

1. テーブル構造を変更します:
    >ALTER TABLE tb_name ADD[CHANGE,RENAME,DROP] ...変更する内容...
    例:
    >ALTER TABLE tb_name ADD COLUMN address varchar(80) NOT NULL;
    >ALTER TABLE tb_name DROPアドレス;
    >ALTER TABLE tb_name CHANGE スコア スコア SMALLINT(4) NOT NULL;

4. データを挿入します。

1. データの挿入:
    >INSERT INTO tb_name(id,name,score)VALUES(NULL,'Zhang 3',140),(NULL,'Zhang 4',178),(NULL,'Zhang 5',134);
    ここに複数のデータを挿入するには、後ろにカンマを追加して、挿入したデータを直接書き込みます。主キー ID は自己インクリメント列であるため、書き込む必要はありません。
  2. 取得したデータを挿入します。
    >INSERT INTO tb_name(name,score) SELECT name,score FROM tb_name2;

5. データを更新します。

1. 更新データを指定します:
    >UPDATE tb_name SET スコア=189 WHERE id=2;
    >UPDATE テーブル名 SET 列名=NewValue [ WHERE 条件 ]

6. データを削除します。

1. データを削除します:
    >DELETE FROM tb_name WHERE id=3;

7. 状態管理:

1. WHERE ステートメント:
    >SELECT * FROM tb_name WHERE id=3;
  2. HAVING ステートメント:
    >SELECT * FROM tb_name GROUP BY スコア HAVING count(*)>2
  3. 関連する条件制御記号:
    =、>、<、<> 、IN(1,2,3…)、BETWEEN a AND b、NOT
    AND、OR
    Linke() % 使用法で任意に一致、_ 文字 (漢字も可) に一致
    IS NULL Null 値検出

8、MySQL 正規表現:

1. Mysql は REGEXP の正規表現をサポートします。
    >SELECT * FROM tb_name WHERE name REGEXP ' 1 ' // AD で始まる名前を検索します
  。 2. 特殊文字はエスケープする必要があります。

9、MySQL のいくつかの機能:

1. 文字列リンク - CONCAT()
    >SELECT CONCAT(name,'=>',score) FROM tb_name
  2. 数学関数:
    AVG、SUM、MAX、MIN、COUNT;
  3. テキスト処理関数:
    TRIM、LOCATE、UPPER、 LOWER、SUBSTRING
  4. 演算子:
    +、-、*、
  5. 時間関数:
    DATE()、CURTIME()、DAY()、YEAR()、NOW()…

10. グループクエリ:

1. グループ クエリは、指定した列に従ってグループ化できます:
    >SELECT COUNT( ) FROM tb_name GROUP BY スコア HAVING COUNT( )>1;
  2. 条件は Hasting を使用します;
  3. ORDER BY 並べ替え:
    ORDER BY DESC|ASC =>データの降順と昇順で

11. UNION ルール - 2 つのステートメントを実行可能 (重複行は削除可能)

12. 全文検索 - MATCH と AGAINST

1. SELECT MATCH(note_text)AGAINST('PICASO') FROM tb_name;
  2. InnoDB エンジンは全文検索をサポートしていませんが、MyISAM は全文検索をサポートしています。

13. 見る

1. ビューの作成
    >CREATE VIEW name AS SELECT * FROM tb_name WHERE ~~ ORDER BY ~~;
  2. ビューの特別な機能:
      a. テーブル間の接続を簡略化します (接続を select に書き込みます);
      b. 取得したデータを再フォーマットして出力します(TRIM、CONCAT、およびその他の機能);
      c. 不要なデータをフィルタリングします (一部を選択)
      d. ビューを使用して、集計値などのフィールド値を計算します。

14. ストアド プロシージャを使用します。

私の理解では、ストアド プロシージャはローカル変数パラメータを持つカスタム関数であり、パラメータを渡すことができ、値を返すことができますが、この構文は遅いです~~~ 1. ストアド プロシージャを作成します: >CREATE PROCEDURE pro( >IN
  num
    INT
    , OUT total INT)
    >BEGIN
    >SELECT SUM(score) INTO total FROM tb_name WHERE id=num;
    >END;
   *** Here IN (ストアド プロシージャに値を渡す)、OUT (ストアド プロシージャに値を渡す)ストアド プロシージャ)、INOUT (ストアド プロシージャの出入り)、INTO (変数の保存)
  2. ストアド プロシージャを呼び出します。
    >CALL pro(13,@total) //ここには 2 つのストアド プロシージャ変数があります。1 つはIN、もう一方が OUT、ここで OUT も書く必要があります、書かないとエラーになります
    >SELECT @total //結果はここで確認できます;
  3.ストアドプロシージャのその他の操作:
    >SHOW PROCEDURE STATUS; //現在のストアド プロシージャを表示
    >DROP PROCEDURE pro ; //指定されたストアド プロシージャを削除

15. カーソルを使用します。

よくわからないので、アドバイスお願いします~~~
   1. カーソル操作
    >CREATE PROCEDURE pro()
    >BEGIN
    >DECLARE ordername CURSOR FOR
    >SELECT order_num FROMorders;
    >END;
    
    >OPEN ordername; //Openカーソル

>CLOSE ordername; //カーソルを閉じる

16. トリガー:

トリガーとは、指定された操作が実行されるときに、トリガー内で指定された操作をトリガーすることを指します。1. トリガーをサポートする
  ステートメントには、DELETE、INSERT、および UPDATE が含まれますが、その他はサポートされていません。2.
  トリガーを作成します:
    >CREATE TRIGGER trig AFTER INSERT ON ORDERS FOR EACH ROW SELECT NEW.orser_name;
    >INSERT ステートメント、トリガー ステートメント、値を返す
  3. トリガーの削除
    >DROP TRIGGER trig;

十七、文法整理:

1. ALTER TABLE (テーブルの変更)
    ALTER TABLE table_name
    ( ADD 列のデータ型 [ NULL | NOT NULL ] [ CONSTRAINTS ]
       CHANGE 列のデータ型 COLUMNS [ NULL | NOT NULL ] [ CONSTRAINTS ]
       DROP 列,
       ...
    )
  2, COMMIT (トランザクションの処理) )
    >COMMIT;
  3. CREATE INDEX (1 つ以上の列にインデックスを作成します)
    CREATE INDEX Index_name ON tb_name (column [ ASC | DESC ] , …);
  4. CREATE PROCEDURE (ストアド プロシージャを作成します)
    CREATE PROCEDURE pro([ パラメータ])
    BEGIN
    ...
    END
  5. CREATE TABLE (テーブルの作成)
    CREATE TABLE tb_name(
    column_name datetype [ NULL | NOT NULL ] [ condtraints] ,
    column_name datepe [null | not null] [condtraints],
    ...
    主キー (colorn_name)
    ) Engine = [Innodb | MyISAM] default charset = UTF8 Auto_increment = 1;
  6. ユーザーの作成 (作成ユーザー)
    ユーザーの作成 User_name [@Hostname ] [ IDENTIFIED BY [ PASSWORD ] 'pass_word' ];
  7. CREATE VIEW (1 つ以上のテーブルにビューを作成)
    CREATE [ OR REPLACE ] VIEW view_name AS SELECT。
  8. DELETE (テーブルから 1 つ以上の行を削除します)
    DELETE FROM table_name [WHERE ...]
  9. DROP (ビュー、インデックスなどのデータベースとオブジェクトを永久に削除します)
    DROP DATEBASE | INDEX | PROCEDURE | TABLE | TRIGGER | USER | VIEW 名
  10. INSERT (テーブルに行を追加)
    INSERT INTO tb_name [ ( columns,… ) ] VALUES(value1,…);
    SELECT 値を使用して挿入します。
    INSERT INTO tb_name [ ( columns,… ) ]
    SELECT columns , … FROM tb_name [ WHERE … ] ;
   11. ROLLBACK (トランザクション処理ブロックを元に戻す)
    ROLLBACK [ TO savapointname ];
   12. SAVEPOINT (ROLLBACK の予約ポイントを設定する)
    SAVEPOINT sp1 ;
   13. SELECT (データの取得、情報の表示)
    SELECT 列名,...FROM tb_name [ WHERE ] [ UNION ] [ RROUP BY ] [ HAVING ] [ ORDER BY ]
  14. START TRANSACTION (新しいトランザクション処理ブロックの開始)
    START TRANSACTION
   15 、UPDATE (テーブル内の 1 つ以上の行を更新)
    UPDATE tb_name SET column=value,...[ where ]


  1. 広告↩︎

おすすめ

転載: blog.csdn.net/Czhenya/article/details/118855772