1. 新しいユーザーの作成:
>CREATE USER name IDENTIFIED BY 'ssapdrow';
2. パスワードの変更:
SET PASSWORD FOR name=PASSWORD('fdddfd');
3. 権限管理
> ;SHOW GRANTS FOR name; //名前のユーザー権限を表示します
>GRANT SELECT ON db_name.* TO name; /GRANT 逆操作、権限を削除します。
3. データベースを使用する:
4. データベースを削除する:
gt;CREATE TABLE table_name(
>id TINYINT UNSIGNED NOT NULL AUTO_INCREMENT, //id value、unsigned、non-empty、increting - unique、can be主キーとして使用されます
>name VARCHAR(60) NOT NULL
>score TINYINT UNSIGNED NOT NULL DEFAULT 0, //デフォルトの列値を設定します
>PRIMARY KEY(id)
>) ENGINE=InnoDB //テーブルのストレージエンジンを設定します。InnoDB と MyISAM が一般的に使用されます。InnoDB は信頼性が高く、トランザクションをサポートしています
>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名前(と同じ)ここで通常のテーブルを作成します);
4. データベースで利用可能なテーブルを表示します:
>SHOW TABLES;
5. テーブルの構造を表示します:
> DESCRIBE tb_name;
を使用することもできます。 :
>SHOW COLUMNS in tb_name; name2... ....];
例:
>DROP TABLE IF EXISTS tb_name;
7. テーブルの名前変更:
>RENAME TABLE name_old TO name_new ;
以下も使用できます:
&g t;ALTER TABLE name_old RENAME name_new;
3. テーブルを変更します:
1. テーブル構造を変更します:
>ALTER TABLE tb_name ADD COLUMN address varchar(80) NOT NULL;
1. データの挿入: ,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;
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 '^[A-D]' //A-D で始まる名前を検索します
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.Havingの条件付き使用;
3.ORDER BY sort:
ORDER BY DESC|ASC =>データの降順、昇順に並べる
11、UNIONルール ——2ステートメントを実行可能(重複行は削除可能)
12. 全文検索 - MATCH と AGAINST
1. SELECT MATCH(note_text)AGAINST('PICASO') FROM tb_name;
2. InnoDB エンジンはサポートしていません全文検索、MyISAM は可能です。 13. ビュー
を作成します。 a. テーブル間の接続を簡素化します (select に接続を書き込みます)。 b. 取得したデータを再フォーマットして出力します。 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;
***ここで IN (ストアド プロシージャに値を渡す)、OUT (ストアド プロシージャから値を渡す)、INOUT (ストアド プロシージャに出入りする)、INTO (変数を保存する)
2 、ストアドプロシージャを呼び出します:
>CALL pro(13,@total) //ここのストアドプロシージャには 2 つの変数があり、1 つは IN、もう 1 つは OUT です。ここでも OUT を記述する必要があります。そうでないとエラーが発生します
> ;SELECT @total //結果はここで確認できます
3. ストアドプロシージャのその他の操作:
>SHOW PROCEDURE STATUS; ストアドプロシージャを指定します
15. カーソルを使用します。
よくわからないのでアドバイスお願いします~~~
1. カーソル操作
>CREATE PROCEDURE pro()
>DECLARE ordername CURSOR FOR
>SELECT order_num FROMorders ;
>END;
>OPEN ordername; t;CLOSE ordername; // トリガー:
トリガーとは、指定された操作を実行するときに、トリガーで指定された操作をトリガーすることを指します。 ;
1. トリガーをサポートするステートメントには DELETE、INSERT、UPDATE が含まれますが、その他はサポートされていません
2、トリガーの作成:
>CREATE TRIGGER trig AFTER INSERT ON ORDERS FOR EACH ROW SELECT NEW.orser_name;
INSERT文、トリガー文、値を返す
3.削除トリガー
>DROP TRIGGER trig;
Seventeen、構文整理:
1.ALTER TABLE(テーブル変更)
ALTER TABLEテーブル名
(ADD columnデータ型 [ NULL | NOT NULL ] [ CONSTRAINTS ]
CHANGE カラム COLUMNS [ NULL | NOT NULL ] [ CONSTRAINTS ]
DROP カラム、
。 。 。 。
)
2. COMMIT (トランザクションの処理)
COMMIT .......);
4. CREATE PROCEDURE (ストアドプロシージャの作成)
CREATE PROCEDURE pro([parameters])
BEGIN
CREATE TABLE(テーブル作成)
CREATE TABLE tb_name(
column_name datetype [ NULL | NOT NULL ] [ condtraints ] ,
column_name datetype [ NULL | NOT NULL ] in in through in in us in me in in on in on in on in on 例 [ condtraints ] PRIMARY KEY( column_name )
MENT=1 ;
6 , 作成USER (ユーザーの作成)
CREATE USER user_name [ @hostname ] [ IDENTIFIED BY [ PASSWORD ] 'pass_word' ];
7. CREATE VIEW (1つ以上のテーブルにビューを作成)
CREATE [ OR REPLACE ] VIEW view_name選択として。 。 。 。 。 。
8. DELETE (テーブルから 1 つ以上の行を削除します)
INDEX ........);
SELECT 値を使用して挿入:
INSERT INTO tb_name [ ( columns,... ... ) ]
SELECT columns , ....... FROM tb_name [ WHERE ......]; r 11. ロールバック(データ取得、情報表示)
SELECT columns_name,.... FROM tb_name [ WHERE ] [ UNION ] [ RROUP BY ] [ HAVING ] [ ORDER BY ]
14. START TRANSACTION (新しいトランザクション処理ブロックの開始)
START TRANSACTION
15. UPDATE (トランザクション内の 1 つ以上の行を更新) table)
UPDATE tb_name SET column=value,...[ where ]
【追記】MySQLデータベースは、OracleやMS-などの大規模なデータベース管理システムと比較すると、非常に軽量なデータベース管理システムです。 SQL、MySQL は軽量、柔軟性、開発速度が高く、中小規模のデータのストレージとアーキテクチャにより適しています。これが、MySQL が何万もの Web サイトで使用できる理由です。
私はこれまでデータベースについてあまり勉強していませんでしたが、今日いくつかの指導を受けて、オープンソースの軽量データベースにも多くのコンテンツがあると感じました。バージョン 5 以降、カーソル、トリガー、トランザクションなどの高度なアプリケーションが次々とサポートされています。 、およびストアド プロシージャも、MySQL の使いやすさとエンタープライズ サービスの開発に重要な要素を加えます。
データベースの基盤は非常に小さいですが、データベースのパフォーマンスの最適化が最も重要であるため、さらなる最適化は間違いなく有益です。