この記事では、クライアントインターフェースの操作方法やコマンドの操作方法など、データベースやテーブルの作成・保守に関する操作を記録します。
実験環境:MySQL 5.7、DataGrip
目次
この記事では、クライアントインターフェースの操作方法やコマンドの操作方法など、データベースやテーブルの作成・保守に関する操作を記録します。
1. リレーショナル データベース S_T### を作成します。
2. S_T データベースで、student テーブル students を作成します。
3. S_T データベースで、教師テーブル Teachers を作成します。
4. S_T データベースで、カリキュラム テーブル Courses を作成します。
5. S_Tデータベースにコース選択テーブルSTCを作成します
6. 次のステートメントを使用して Students テーブルを変更します。
7. ステートメントを変更して、STC テーブルのスコアを smallint 型に変更します。
8. Course テーブルの Cno 属性をメイン コードとして設定します。
9. STC テーブルの cno の参照整合性制約を追加し、Courses テーブルの Cno 属性を参照します。
10. 作成した 4 つのテーブルに、次のテーブルのデータを入力します。
1. 実験の目的
1. データベースの作成と保守をマスターする
2. データテーブルの作成と保守に精通している
3. データ更新操作に精通している。
2. 実験内容(以下の操作を行ってください)
1. リレーショナル データベース S_T### を作成します。
データベースの文字セットは utf8 である必要があり、文字セットの照合規則はデフォルトです。
注: データベース名の ### は、私の学籍番号の下 3 桁を表します。たとえば、Zhang Hua さんの学生番号は 20160714121、データベース名は「S_T121」です。
具体操作:
MySQL を右クリックし、「新規スキーマ」を選択します。
2. S_T データベースで、student テーブル students を作成します。
このテーブルのストレージ エンジンは InnoDB で、データベースのデフォルトの文字セットを使用します。このテーブルには主に学籍番号 (sno)、名前 (sname)、生年月日 (sbirth)、学年 (grade) の 4 つの属性が含まれており、各属性のデータ型、長さ、制約要件は次のとおりです。
Sno: char(10)、メインコード;
Sname: char(4)、空にすることはできません
誕生:日付,
グレード:smallint。
具体操作:
データベースを右クリックし、「新規」→「テーブル」を選択します。
最初のステップ、カスタムテーブル名
2 番目のステップでは、新しい列を追加します
3 番目のステップ、カスタム列
最終表示
赤いボックス内の構文は、テーブルのストレージ エンジンが InnoDB であり、データベースのデフォルトの文字セットが使用されることを意味します。デフォルトは InnoDB ストレージ エンジンなので、書かなくても問題ありません。
注: 主キーを空にすることはできません
使用される構文:
CREATE TABLE `students` (
`Sno` char(10) NOT NULL,
`Sname` char(4) NOT NULL,
`sbirth` date DEFAULT NULL,
`Grade` smallint(6) DEFAULT NULL,
PRIMARY KEY (`Sno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
3. S_T データベースで、教師テーブル Teachers を作成します。
主に教師番号(Tno)、教師名(Tname)、性別(sex)、給与(salal)の4つの属性が含まれており、各属性のデータ型、長さ、制約条件は以下のとおりです。
Tno:CHAR(8) 、メインコード;
Tname: char(4) 非 null 制約、
性別: 複合タイプ、値は「男性」または「女性」です。
給与:浮動。
具体操作
学生テーブルの作成と同じ
性複合タイプの定義に注意してください。
使用される構文
CREATE TABLE `teachers` (
`Tno` char(8) NOT NULL,
`Tname` char(4) NOT NULL,
`sex` enum('男','女') DEFAULT NULL,
`Salary` float DEFAULT NULL,
PRIMARY KEY (`Tno`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4. S_T データベースで、カリキュラム テーブル Courses を作成します。
主にクラス番号(Cno)、クラス名(Cname)、クラス時間(Chour)の 3 つの属性で構成され、各属性のデータ型、長さ、制約条件は次のとおりです。
Cno: char(8) 非 null 制約、
cname: varchar(10) 非 null 制約、
時間:tinyint。
具体操作
使用される構文
create table Courses
(
Cno char(8) not null,
cname varchar(10) not null,
Chour tinyint null
);
タイプ | サイズ | 範囲 (符号付き) | 範囲 (符号なし) | 使用 |
---|---|---|---|---|
タイイント | 1バイト | (-128、127) | (0,255) | 小さな整数値 |
タイプ | サイズ | 使用 |
---|---|---|
チャー | 0~255バイト | 固定長の文字列 |
VARCHAR | 0~65535バイト | 可変長文字列 |
5. S_Tデータベースにコース選択テーブルSTCを作成します
これには、学生 ID (Sno)、教師 ID (Tno)、クラス ID (Cno)、および成績 (スコア) の 4 つの属性が含まれており、各属性のデータ型、長さ、および制約要件は次のとおりです。
スノ:char(10),
Cno:CHAR(8)、
Tno:CHAR(8)、
スコア:int。
(Sno, cno) をメインコードとして設定し、STC テーブルの Sno 属性を外部コードとして、students テーブルの学生番号 sno を参照します。
具体操作
2 つの属性を主キーに結合するように設定する場合、キーの操作に属性を追加する必要があります。
外部キーを設定する場合:外部キー操作を入力します。
1. 対象テーブルを選択します
2. 外部キー列の追加
6. 次のステートメントを使用して Students テーブルを変更します。
sname 属性の後に性別 Ssex 属性を追加します。これは列挙型であり、「男性」または「女性」のみを指定できます。
具体操作
Students テーブルを右クリックし、クエリ コンソールに入ります。
ALTER TABLE students
ADD Ssex enum('男','女') AFTER Sname;
実行後正常に表示されました
7. ステートメントを変更して、STC テーブルのスコアを smallint 型に変更します。
操作を参照
ALTER TABLE stc
MODIFY Score smallint;
既存のプロパティを変更する場合は、MODIFY キーワードを使用します。
8. Course テーブルの Cno 属性をメイン コードとして設定します。
操作を参照
ALTER TABLE courses
ADD PRIMARY KEY (Cno);
既存の属性に主キーを追加するには、ADD キーワードを使用します。
9. STC テーブルの cno の参照整合性制約を追加し、Courses テーブルの Cno 属性を参照します。
操作を参照
alter table stc
add foreign key (Cno)references courses(Cno);
文法説明: テーブル stc を変更し、主キー Cno を追加し、コース テーブルの Cno を参照します。
10. 作成した 4 つのテーブルに、次のテーブルのデータを入力します。
学生テーブル:
スノ |
脱ぐ |
セックス |
呼吸 |
学年 |
201615121 |
リー・リー |
女性 |
1999-1-1 |
2016年 |
201615122 |
王洋 |
男 |
1998-12-21 |
2016年 |
201615123 |
リュウ・チェン |
女性 |
1998-6-5 |
2016年 |
201715121 |
ワン・シャオチェン |
男 |
1999-4-16 |
2017年 |
201715122 |
チャン・ファン |
男 |
1997-6-1 |
2017年 |
201715123 |
喬雲平 |
女性 |
1999-8-12 |
2017年 |
Teachers表:
との |
名前 |
セックス |
給料 |
101 |
リ・ダウェイ |
男 |
6200 |
102 |
リウ・ユン |
女性 |
4500 |
103 |
ワン・ジュン |
男 |
3600 |
104 |
張紅霞 |
女性 |
4100 |
コーススケジュールCours
Cno |
名前 |
合唱団 |
B001 |
高度な数学 |
80 |
B002 |
コンピュータ入門 |
48 |
B003 |
Cプログラミング |
64 |
B004 |
データ構造 |
72 |
B005 |
データベースシステム |
56 |
B006 |
ファジー数学 |
56 |
授業スケジュールSTC
スノ |
Cno |
との |
スコア |
201615121 |
B001 |
101 |
78 |
201615121 |
B002 |
102 |
85 |
201615121 |
B003 |
103 |
69 |
201615121 |
B004 |
104 |
|
201615122 |
B002 |
102 |
98 |
201615122 |
B003 |
103 |
89 |
201615123 |
B001 |
101 |
65 |
201615123 |
B003 |
103 |
56 |
201615123 |
B004 |
104 |
|
201715121 |
B002 |
102 |
68 |
201715121 |
B004 |
104 |
78 |
201715123 |
B001 |
101 |
81 |
201715123 |
B002 |
102 |
60 |
具体操作
私が選択した方法は、データを Excel テーブルにコピーすることです
プラス記号、行を追加、最初のセルを選択
次に、Excel テーブルのデータをコピーし、最初のセルに貼り付けます。