SQLステートメントの概要-テーブルの作成(PostgreSQL)

SQL-CREATE TABLE

この記事では、データベーステーブル構造の確立に関するCREATEステートメントについて説明します。postgreSQLを使用して実現します。他のステートメントも同様で、主にSQLステートメントを理解する必要があります。

文法

CREATETABLEの構文形式は次のとおりです。

CREATE TABLE table_name(
	column1 datatype,
	column2 datatype,
	column3 datatype,
	...
);

CREATE TABLEはキーワード、table_nameはテーブル名であり、同じスキーマ内の他のテーブル、シーケンス、インデックス、ビュー、または外部テーブル名の中で一意である必要があることを示します。

例と説明

ここでは、その時点でデータベースの仕事を直接引き受けて、テーブル構造の確立に関するいくつかの内容を詳細に説明します。
要件は次のとおりです。
ここに写真の説明を挿入
ここに写真の説明を挿入
ここで、実装コードは次のとおりです。

CREATE TABLE student(
	sno varchar(8) primary key not null,
	sname varchar(8) not null,
	ssex varchar(2) check((ssex = 'M') or (ssex='F')),
	sbirthday date,
	classno varchar(6) references class(classno),
	Totalcredit smallint default 0
);

CREATE TABLE class(
	classno varchar(6) primary key,
	classname varchar(20) not null,
	classmajor varchar(20),
	classdept varchar(20),
	studentnumber smallint check((studentnumber >=20) and (studentnumber <=40))
);

CREATE TABLE course(
	cno varchar(6) primary key,
	cname varchar(30) not null,
	ccredit smallint check((ccredit>=0) and (ccredit<=100))
);

CREATE TABLE sc(
	sno varchar(8) references student(sno),
	cno varchar(6) references course(cno),
	grade integer check((grade>=0) and (grade <= 100))
);

CREATE TABLE teacher(
	tno numeric(6) primary key,
	tname varchar(8) not null,
	tsex varchar(2) check ((tsex = 'M') or (tsex='F')),
	tbirthday date,
	ttitle varchar(20)
);

CREATE TABLE teaching(
	tno numeric(6) references teacher(tno),
	cno varchar(6) references course(cno),
	language varchar(10) check((language = 'Chinese') or (language = 'Bilingual') or (language = 'English'))
);

ここで\ dを使用して、テーブルが正常に作成されたかどうかを確認します。
ここに写真の説明を挿入

説明する
CREATETABLE学生を選択します。CREATETABLE学生最初の行は、「student」という名前のテーブルを作成することです。変数は次のとおりです。

  • sno(varcharタイプ、長さ8ビット、プライマリキーとして)
  • sname(varcharタイプ、長さ8ビット、空ではない)
  • ssex(varcharタイプ、長さは2桁、「M」または「F」のみ)
  • sbirthday(日付タイプ)
  • classno(varcharタイプ、長さは6桁、このキーは外部キーです。クラステーブルのclassnoの値を参照してください)
  • TotalCredit(smallintタイプ、デフォルト値は0)

\ d tablenameを使用して、テーブルの情報を表示できます。
ここに写真の説明を挿入
ここでは、最初の行のインデックスで何が起こっているかを説明します。ここでのインデックスは自動的に作成されます。postgreSQLによって作成されるデフォルトのインデックスはbtreeインデックスです。snoによると、これは私のテーブルのインデックスです。主な鍵が確立されています。インデックスとは何かについては、かつてブログを書いたことがあります。興味のある友達はチェックしてみてください↓
BPTreeインデックス
以下の行は一目でわかります。説明する必要はないと思います。みなさん、ようこそ。

おすすめ

転載: blog.csdn.net/RaynorFTD/article/details/109310320