一般的な 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 ]
広告↩︎