INDEX
- 1.インデックス
次の文
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);
注:
テーブル名:基本的なテーブル名構築するためのインデックス
インデックスは:テーブルの1つまたは複数の列、カンマで列名間の分離に基づくことができる
配列順序指定されたインデックス値:オーダー。
ASC:ASC
降順:DESCの
デフォルト:ASC
UNIQUE:このインデックスに対応する各インデックス値は、単一のデータレコードCLUSTERがされていますクラスタ化インデックスを構築するためのインデックスを示し
学生のための[例3.13] - 学生のコースデータベースは、コース、SCの3つの表は、インデックス化。一意のインデックスを構築するために、学生番号とコース番号の降順で昇順で一意のインデックス番号、SCテーブルを構築するために、もちろんに従って昇順で一意のインデックス、コースのテーブルを構築するために、学生番号で昇順で学生テーブル
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course(Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);
第3のインデックス、スノーCNO 2回の衝突が起こる場合、昇順および降順?
もちろん、私たちは同じような状況で、学生数、学生数を昇順にソートされた第1〜第3のインデックスを確立した後、コース数の多い順に配置され、そのため競合しないいます。
- 2. [変更インデックス
次の文
ALTER INDEX <旧索引名> RENAME TO <新索引名>
[実施例3.14] SCSnoにSC SCno名テーブルインデックス
ALTER INDEX SCno RENAME TO SCSno;
SQLエラーで実行した場合でも表示されます:「RENAME」エラーの近くに不適切な構文を。
その「構文を近く」RENAME「間違った
アプリケーションのEXEC sp_renameを『SCnoが』、 『SCSnoことを確認 』、 『インデックスは』; 修正しますインデックス名。
- 3. [削除]インデックス
次の文
DROP INDEX <索引名>;
注:インデックスを削除すると、システムはデータ・ディクショナリからのインデックスの記述を削除します。
[例3.15] StusnameインデックスStudentテーブルを削除するには
DROP INDEX Stusname;
あなたがテーブルのインデックスの目的を示す必要があり、削除目的にヒットしたい場合は、削除目的に当たらないこのステートメントの直接の実行は、エラーを継続するSQL。
DROP INDEX Stusname on Student;或DROP INDEX Student.Stusname;
インサート
- タプルを挿入1
次のように声明では、次のとおりです。
INSERTINTO <表名> [(<属性列1>[,<属性列2 >…)]VALUES (<常量1> [,<常量2>]… );
注:
INTO句が指定する属性テーブルおよび列に挿入されるデータの
ための属性は、テーブル内の列の順序と一致しないことが定義は、
挿入される完全な組で表され、列属性テーブル定義の属性:属性列が指定されていません同じ順序は、
タプル属性カラムNULL値で静止するように挿入されている:属性指定部列
句に供給値VALUES句は、一致しなければならない
の値の数
値の種類を
[例3.69]新しい学生のタプルになります(学生ID:201215128;名:陳ドン;性別:男性;ここで、行は:IS;年齢:18歳)は、Studentテーブルに挿入されています。
INSERT
INTO Student (Sno,Sname,Ssex,Sdept,Sage)
VALUES ('201215128','陈冬','男','IS',18);
[実施例3.70] Zhangcheng最小学生情報学生テーブルに挿入されます。
(INTO句は、属性名の大文字と小文字を書き込みません)
INSERT
INTO Student
VALUES ('201215126','张成民','男’,18,'CS');
[実施例3.71]科目レコードインサート( '200215128'、 '1')。
INSERT INTO SC(Sno,Cno)
VALUES ('201215128 ',' 1 ');
or
INSERT INTO SC
VALUES (' 201215128 ',' 1 ',NULL);
選択する
次の文
SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>] …
FROM <表名或视图名>[,<表名或视图名> ]…|(SELECT 语句) [AS]<别名>
[ WHERE <条件表达式> ]
[ GROUP BY <列名1> [ HAVING <条件表达式> ] ]
[ ORDER BY <列名2> [ ASC|DESC ] ];
注:
SELECT句:ディスプレイに属性列を指定する
指定クエリオブジェクト(ベーステーブルまたはビュー):FROM句
節:基クエリ指定
BY節:カラムで指定されたパケットの問合せ結果値、属性欄設定値のタプルに等しいです。各ロールでの通常の集計関数。
フレーズ:を有する指定された列の値によって昇順または降順にクエリ結果表:のみ句BY出力順序前に設定するために、指定された基準を満たします
[例3.16]クエリすべての学生は、番号と名前を学びます。
SELECT Sno,Sname
FROM Student;
[例3.17]クエリのすべての学生の名前、学生番号、ホストシステム。
SELECT Sname,Sno,Sdept
FROM Student;
- すべてのクエリの列
記載されているすべてのプロパティを選択:
SELECTは、すべての列名は、キーワードの後にリスト
されます。<ターゲット列式>として指定されています*
[例3.18]は、すべての生徒の詳細な記録を読みます
SELECT Sno,Sname,Ssex,Sage,Sdept
FROM Student;
or
SELECT * //用*代指全部学生
FROM Student;
[3.19]は、すべての場合、生徒の名前と誕生年を検索します。
SELECT Sname,2020-Sage
FROM Student;
[3.20]クエリすべてのケースが誕生し、学部の学生の名前、年が置かれている、要件が小文字に部門名を表明しました。
SELECT Sname,'Year of Birth:',2020-Sage,LOWER(Sdept)
FROM Student;
[3.21]例クエリー選択科目の学生は数字を学びます。
SELECT Sno FROM SC; 或者为 SELECT ALL Sno FROM SC;
コンピュータサイエンス学科のすべての学生の[3.22]例のクエリリスト。
SELECT Sname
FROM Student
WHERE Sdept = 'CS';
[3.23]すべての場合、生徒の氏名や年齢、20歳の年齢を照会します。
SELECT Sname,Sage
FROM Student
WHERE Sage < 20;
[3.24]学生の例のクエリテストの点数は、数字を学ぶことができませんでした。
SELECT DISTINCT Sno
FROM SC
WHERE Grage < 60;
DISTINCT効果は同じ学校に相当し、これが表示されます
[3.25]例(20歳と23歳を含む)20〜23歳の学生の名前で、クエリ、および年齢のラインにはありません
DELECT Sname,Sdept,Sage
FROM Student
WHERE Sage BETWEEN 20 AND 23;
BETWEEN範囲を決定し、//包括
[3.26]クエリの例は、20〜23歳の生徒の名前の年齢ではなく、年齢ラインにはありません
DELECT Sname,Sdept,Sage
FROM Student
WHERE Sage NOT BETWEEN 20 AND 23;
[例3.27]コンピュータサイエンス、クエリ(CS)、数学の学科(MA)と情報システム(IS)学生の名前と性別の部門。
SELECT Sname, Ssex
FROM Student
WHERE Sdept IN ('CS','MA’,'IS' );
[例3.28]問い合わせコンピュータサイエンス、数学の学科でもない、また学生の名前と性別の情報システムです。
SELECT Sname, Ssex
FROM Student
WHERE Sdept NOT IN ('IS','MA’,'CS' );
- SQLの練習は私のためにやや困難な作業であることを言わなければならないが、教師のペースは徐々にSQL文のプロセスを理解して時折、壁に喜んYuecuoyueyongを実行した場合でも、間違いなく非常に興味深いものです。