T-SQL-テーブルの作成
基本テーブルの作成には、テーブルに名前を付け、その列と各列のデータ型を定義することが含まれます。
SQLServer CREATE TABLE ステートメントは、新しいテーブルを作成するために使用されます。
構文
以下は、CREATETABLEステートメントの基本的な構文です。
CREATE TABLE table_name(
column1 datatype,
column2 datatype,
column3 datatype,
.....
columnN datatype,
PRIMARY KEY( one or more columns ));
CREATE TABLEは、データベースシステムに何をしたいかを伝えるキーワードです。この場合、新しいテーブルを作成する必要があります。テーブルの一意の名前または識別子は、CREATETABLEステートメントの後に続きます。次に、括弧内に、テーブルの各列とそれがどのような種類のデータ型であるかを定義するリストがあります。次の例を使用すると、構文がより明確になります。
既存のテーブルのコピーは、CREATETABLEステートメントとSELECTステートメントの組み合わせを使用して作成できます。詳細については、別のテーブルを使用したテーブルの作成で確認できます。
例
この例では、IDを主キーとしてCUSTOMERSテーブルを作成します。NOTNULLは、このテーブルにレコードを作成するときにこれらのフィールドをNULLにできないことを示す制約です。
CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID));
SQLサーバーによって表示されるメッセージを確認することで、テーブルが正常に作成されたかどうかを確認できます。それ以外の場合は、次のコマンドを使用できます。
exec sp_columns CUSTOMERS
上記のコマンドは、次の出力を生成します。
TABLE_QUALIFIER TABLE_OWNER TABLE_NAME COLUMN_NAME DATA_TYPE TYPE_NAME
PRECISION LENGTH SCALE RADIX NULLABLE REMARKS COLUMN_DEF SQL_DATA_TYPE
SQL_DATETIME_SUB CHAR_OCTET_LENGTH ORDINAL_POSITION IS_NULLABLE SS_DATA_TYPE
TestDB dbo CUSTOMERS ID 4 int 10 4 0 10 0
NULL NULL 4 NULL NULL 1 NO 56
TestDB dbo CUSTOMERS NAME 12 varchar 20 20 NULL NULL 0
NULL NULL 12 NULL 20 2 NO 39
TestDB dbo CUSTOMERS AGE 4 int 10 4 0 10 0
NULL NULL 4 NULL NULL 3 NO 56
TestDB dbo CUSTOMERS ADDRESS 1 char 25 25 NULL NULL 1
NULL NULL 1 NULL 25 4 YES 39
TestDB dbo CUSTOMERS SALARY 3 decimal 18 20 2 10 1
NULL NULL 3 NULL NULL 5 YES 106
これで、顧客に関連する必要な情報を格納するために使用できるCUSTOMERSテーブルがデータベースで使用可能であることがわかります。