データ定義関数は次のとおりです。
- テーブル定義
- インデックスの定義
- 定義を表示
索引
1.インデックスの作成と削除
インデックスを作成するステートメントの形式は次のとおりです。
CREATE [UNIQUE] INDEXインデックス名
ONテーブル名(列名[、列名]……)
[例2-49] emp_cテーブルは、従業員の名前(ename)によってインデックスが付けられ、インデックス名はemp_ename_idxです。
CREATE INDEX emp_ename_idx ON emp_c(ename);
[例2-50] emp_cテーブルは、仕事と給与によってインデックスが付けられ、インデックス名はemp_job_sal_idx です。
CREATE INDEX emp_job_sal_idx ON emp_c(job,sal);
次に、インデックスを表示します
SHOW INDEX FROM <表名>;
[例2-51] emp_cテーブルのインデックス情報を表示します。
SHOW INDEX FROM emp_c;
第三に、インデックスを削除します
DROP INDEXインデックス名ONテーブル名。
[例2-52] emp_cテーブル内の確立されたインデックスemp_ename_idxを削除します
DROP INDEX emp_ename_idx ON emp_c;
注:インデックスを設定すると、システムの検索時間が短くなります。
テスト:
SET profiling=1;#设置系统监控
SELECT * FROM emp_c WHERE empno=1002;
SHOW PROFILES;#查看监控信息
CREATE INDEX emp_idx ON emp_c(empno);
SELECT * FROM emp_c WHERE empno=1002;
SHOW PROFILES;#查看建立索引后的监控信息
見る
まず、見解を確立した理由
- さまざまなデータ表現フォームを提供して、データの論理的な複雑さを隠し、クエリステートメントを簡素化する
- 特定のセキュリティ保証を提供し、ユーザー権利の管理を簡素化し、データベースを再構築します
- 論理的な独立性を提供します
次に、ビューを作成します
ステートメントの形式は次のとおりです。
CREATE [OR REPLACE] VIEW <view name> [(<alias> [、<alias>]…)]
なので
<SELECTステートメント>
[チェックオプション付き]
[例2-53] WITH CHECK OPTIONオプションを指定してビューを作成します。
CREATE VIEW v_dept_chk
AS
SELECT empno,ename,job,deptno FROM emp
WHERE deptno=10
WITH CHECK OPTION;
3番目に、ビューを変更します
ALTER VIEWビュー名[(エイリアス[、エイリアス]…)]
なので
SELECTステートメント
[チェックオプション付き];
またはC REATE [OR REPLACE] VIEW(構文は作成と同じ)
CREATE OR REPLACE VIEW vdk AS
SELECT empno,ename,job,deptno FROM emp
WHERE deptno=10
WITH CHECK OPTION;
SELECT * FROM vdk;
ALTER VIEW vdk AS
SELECT empno,ename,job FROM emp
WHERE deptno=10
WITH CHECK OPTION;
SELECT * FROM vdk;
4番目に、ビューを削除します
DROP VIEWビュー名[、ビュー名、…];
【例2-56】作成したビューv_dept_chkを削除します。
DROP VIEW v_dept_chk;
5、ビューの使用、TABLEと同じ
既知:既存のビューvdk
SELECT * FROM vdk;
SHOW TABLES;
DESC vdk;//查看表的结构
注:テーブルを参照する物理メモリは仮想テーブルです。