SQL
 Computer >> コンピューター >  >> プログラミング >> SQL

SQL CREATE TABLE:ハウツーガイド

SQL CREATE TABLEステートメントは、データベースにテーブルを追加します。このステートメントを使用して、新しいテーブルの列の名前と、各列に格納できるデータのタイプを指定できます。テーブルでのデータの表現方法に関連する制約を指定することもできます。

クエリを実行してデータベースにデータを保存する前に、データを保存するテーブルを作成する必要があります。テーブルは、データベース内のすべてのデータが格納される場所です。各テーブルには、テーブル内の1つのレコードに関するデータを含めることができます。

「CREATETABLE」ステートメントを使用して、データベースに新しいテーブルを作成します(データベースを作成するためのCREATE DATABASEステートメントと同様)。このチュートリアルでは、SQLサーバー上のテーブルの基本について説明し、データベースでテーブルを作成する方法を探ります。

SQL CREATE TABLE

SQL CREATE TABLEステートメントは、定義した構造に基づいてデータベースに新しいテーブルを追加します。データベース内の各列の名前、関連する制約、および各列のデータ型を指定する必要があります。テーブルの作成後にテーブルの構造を変更できます。

CREATETABLEステートメントの構文を見てみましょう。

CREATE TABLE table_name (
	column_name data_type constraints,
	column_name1 data_type1 constraints1
);

テーブルには必要な数の列を追加できます。複数の列を指定するには、列を定義する各行をコンマで終了する必要があります。上記の構文では、2つの列を作成しました。

少なくとも、データベース内の各列の名前と、その列に格納できるデータのタイプを指定する必要があります。テーブル名も必要です。内容はオプションです。 SQL制約は、データをテーブルに追加する前に満たす必要のある前提条件を指します。

CREATETABLESQLの例

人材育成部門から、従業員に関する情報を格納するデータベーステーブルを作成するように依頼されました。テーブルには、各従業員に関する次の情報が格納されている必要があります。

参加者の81%は、ブートキャンプに参加した後、自分たちの技術的な仕事の見通しについてより自信を持っていると述べました。今日のブートキャンプにマッチしましょう。

平均的なブートキャンプの卒業生は、ブートキャンプの開始から最初の仕事を見つけるまで、キャリアの移行に6か月も費やしませんでした。

  • 名前
  • メール
  • ブランチ
  • 住所
  • 役職
  • その月に何人の従業員が受賞したか

このテーブルを作成するには、CREATETABLEステートメントを使用する必要があります。

CREATE TABLE employees (
	name varchar(20),
	email varchar(50),
	branch varchar(30),
	address varchar(75),
	title varchar(75),
	employee_month_awards integer
);

6列のテーブルを作成しました。最初の5列はすべて、可変長の文字列であるデータ型「varchar」を持っています。これは、私たちの文字列は、私たちが述べた最大の文字列長まで、私たちが望む限り長くすることができることを意味します。

名前は20文字以内、住所は75文字以内にする必要があります。最後の列—employee_month_awards —は整数であり、各従業員が受け取った賞の数を格納します。主キー、外部キー、varchar、ブール値など、認識されている任意のデータ型をテーブルに含めることができます。

テーブルを作成したので、それを使用してクエリを実行し、データを挿入することができます。テーブルを作成すると、テーブルは空になり、SQLINSERTステートメントを使用してテーブルにデータをフィードする必要があることに注意してください。

別のテーブルを使用したSQL作成テーブル

別のテーブルの構造を使用してテーブルを作成する場合はどうなりますか?これは、CREATETABLEステートメントを使用してSQLでも実行できます。新しいテーブルには同じ列定義があります。一部またはすべての列を別のテーブルから新しいテーブルにコピーするかどうかを指定できます。

会社で働くすべての幹部に関する情報を含むテーブルを作成したいと思います。エグゼクティブレコードはすでに従業員データベースにあります。

従業員データベースのエグゼクティブに関するすべてのデータを含む新しいテーブルを作成するには、次のコマンドを使用できます。

CREATE TABLE executives AS
SELECT name, email, address
WHERE title = 'Executive*'
FROM employees;

私たちのデータベースは、既存のテーブルのコピーである「executives」と呼ばれるテーブルを作成しました。この新しいテーブルには、「employee」テーブルの「name」、「email」、「address」の列が含まれ、エグゼクティブである従業員からのデータのみが含まれます。

従業員テーブルが空の場合、名前、電子メール、およびアドレスの列の構造のみがコピーされます。ただし、employeeテーブルにデータが含まれている場合は、新しいデータベースにコピーされます。従業員が幹部であるレコードのみがコピーされます。

したがって、新しいテーブルには、タイトルが「Executive」で始まるすべての人の名前、電子メール、およびアドレスのリストが含まれています。



結論

SQL CREATE TABLEステートメントは、既存のデータベースに新しいテーブルを作成します。このステートメントを使用するには、新しいテーブルに表示される各列の構造を定義する必要があります。

SQLの使用方法についてもっと知りたいですか? SQLの学習方法ガイドをご覧ください。このガイドには、SQLの知識に基づいて構築するのに役立つ、トップブック、オンラインリソース、およびコースのリストが含まれています。


  1. SQLデータベースに「select」という名前のテーブルを作成しますか?

    「select」はMySQLで予約語であるため、それを使用してテーブル名を作成することはできません。ただし、それでもそのようなテーブルを作成する場合は、selectという単語を引用符で囲みます。 まずテーブルを作成しましょう- mysql> create table `select` -> ( -> Number int -> ); Query OK, 0 rows affected (0.79 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into `select` values(10); Quer

  2. SQLServerのCREATETABLEコマンド

    SQL Server(Transact-SQL)では、CREATETABLEステートメントを使用してテーブルを作成および定義します。 SQLServerの構文CREATETABLEコマンド CREATE TA BLE ten_bang ( cot1 kieu_du_lieu [ NULL | NOT NULL ], cot2 kieu_du_lieu [ NULL | NOT NULL ], … ); 変数名または変数値 ten_bang 作成するテーブルの名前。 cot1、cot2 テーブルに作成する列。各列には1つのデータ型があります。列はNULLまたはNO