データベース操作Mysql

PHP中文网
リリース: 2016-06-23 14:13:46
オリジナル
1019 人が閲覧しました

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 の使いやすさとエンタープライズ サービスの開発に重要な要素を加えます。

データベースの基盤は非常に小さいですが、データベースのパフォーマンスの最適化が最も重要であるため、さらなる最適化は間違いなく有益です。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート