実験 1 データベース、テーブルの作成と保守

この記事では、クライアントインターフェースの操作方法やコマンドの操作方法など、データベースやテーブルの作成・保守に関する操作を記録します。

実験環境:MySQL 5.7、DataGrip

目次

この記事では、クライアントインターフェースの操作方法やコマンドの操作方法など、データベースやテーブルの作成・保守に関する操作を記録します。

実験環境:MySQL 5.7、DataGrip

1. 実験の目的

2. 実験内容(以下の操作を行ってください)

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 テーブルのデータをコピーし、最初のセルに貼り付けます。

 

 

おすすめ

転載: blog.csdn.net/qq_25887493/article/details/123936779