SQL CreateTableステートメント-構文例付き

SQLは、最も信頼性が高く簡単なクエリ言語の1つです。機能の意味をあまり抽象化せずに簡単に読み取れる明確な構文を提供します。

言語の歴史と興味深い事実が必要な場合は、SQLUpdateステートメントの記事の紹介部分を確認してください。  

この記事では、SQLでテーブルを作成する際の重要な部分について説明します。私が好むSQLの「フレーバー」はSQLServerですが、テーブルの作成に関する情報は、すべてのSQLバリエーションでかなり遍在しています。  

SQLを使用したことがない場合、またはテーブルが何であるかわからない場合でも、恐れることはありません。簡単に(そして広く)、テーブルはデータベースのその部分内のすべてのデータを保持または含むデータベースオブジェクトです。このデータは、スプレッドシートプログラムを使用したことがある場合に馴染みのない、名前付きの列と番号付きの行に格納されます。各行は、データベースレコード全体を表します。

データがボックス形式の場合、テーブルは、それらのボックスを保管する倉庫の棚のセクションになります。

説明を大幅に簡略化しており、SQLテーブルにはさらに多くのことがありますが、それはこの記事の範囲外です。テーブルに関するより詳細な説明が必要な場合は、Microsoftデータベース設計のドキュメントを参照することをお勧めします。

テーブルの作成方法を学習する前に、これらの列と行に格納できるデータの種類を学習することが重要です。

データ型

SQLテーブルには、テキスト、数字、テキストと数字の組み合わせ、および画像とリンクを保持できます。

テーブルを作成するときに、行と列が保持するデータのタイプを指定します。データの包括的な分類は次のとおりです。

  • おおよその数値
  • 文字列
  • 日付時刻
  • Unicode文字列
  • 正確な数値
  • その他

以下に、より一般的に使用されるデータ型のいくつかをリストしますが、すべてのデータ型について詳しく知りたい場合は、Microsoftの各型に関するこの徹底的な記事を確認することをお勧めします。

これが私の経験からより一般的に使用されるタイプのデータです。順不同です。

  • char(size)-文字、数字、特殊文字を含むことができる固定長の文字列
  • VARCHAR(サイズ) -変数の長さの文字列、文字、数字、および特殊文字を含めることができます
  • ブール値-ゼロ(または0に等しい値)はfalse、ゼロ以外はtrue
  • int(サイズはオプション)-長さが最大10文字の数値で、負の数と正の数を受け入れます
  • bigint(サイズはオプション)-長さが最大19文字の数値で、負の数と正の数を受け入れます
  • float(size、d)-合計数のサイズがサイズで表され、小数点以下の文字数がdで表される数値
  • 日付-YYYY-MM-DD形式の日付
  • datetime- YYY-MM-DD hh:mm:ssの形式の日時
  • 時間-hh:mm:ssの形式の時間

さて、行と列に含めることができるデータの種類がわかったので、楽しい部分に取り掛かりましょう!

テーブルの作成

始める前に、どのプログラムからも独立してすべての例を提供することに注意することが重要です。

ただし、クエリの作成を開始したいが、どこから始めればよいかわからない場合は、SQL Server ManagementStudioを確認してください。これは、コミュニティで広く使用およびサポートされている無料の堅牢なプログラムです。

または、DB Fiddleを含むいくつかのオプションがあり、ブラウザでスキーマを構築してクエリを直接記述できます。  

基本的なテーブルを作成するための簡単なステートメントから始めましょう。

CREATE TABLE table_name ( column1_name datatype, column2_name datatype, column3_name datatype, column4_name datatype, column5_name datatype,)

datatype列を拡張するためにの後に追加できる他のパラメーターがあります。

  • NOT NULL-このパラメータを渡すと、列がNULL値を保持できないようになります
  • UNIQUE -このパラメータを渡すと、列が同じ値を複数回保持するのを防ぐことができます
  • UNIQUE KEY-このパラメーターを渡すと、その列が一意の識別子として指定されます。これは基本的に、前の2つのパラメーターの組み合わせです。

次に、私が考えた架空の犬のデイケアであるWoof Woof Retreatの居住者に関する情報を保持するテーブル(データベースの識別子標準に準拠する必要があるdoggo_infoという名前)を作成します:)

CREATE TABLE doggo_info ( ID int UNIQUE KEY, Name varchar(50) NOT NULL, Color varchar(50), Breed varchar(50), Age int, Weight int, Height int, Fav_Food varchar(100), Fav_Toy varchar(100), Dislikes varchar(500), Allergies varchar(500) NOT NULL )

そして、これが私たちが作成したばかりの真新しいテーブルです:

名前繁殖年齢重量高さFav_FoodFav_Toy嫌いアレルギー

テーブルが完全に空であることに気付くでしょう。これは、まだデータを追加していないためです。そうすることはこの記事の範囲を超えていますが、私はあなたにその一口を知ってもらいたいと思いました。

既存のテーブルからテーブルを作成する

既存のテーブルに基づいて新しいテーブルを作成することもできます。

それは非常に簡単で、それほど多くの構文を必要としません。「コピー」するテーブルと列を選択する必要があります。

CREATE TABLE new_table_name AS SELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table) FROM current_table_name WHERE conditions_exist

便宜上、doggo_infoテーブルにいくつかのデータを追加しました。これで、次の例のようになります。

名前繁殖年齢重量高さFav_FoodFav_Toy嫌いアレルギー
デイジー標準のダックスフント1146サーモン風味のキブルきしむボール庭の上を飛んでいる鳥猫、お風呂、清潔さ
チーフ黒/黄褐色ロットワイラー34117文字通り何でもロープタグソファから離れて聞いて、振る舞って、すべてをだましているのではない
サミー軽い蜂蜜ゴールデンレトリバー94619ビーフ風味のキブル彼女のベッド乱暴な子犬知られていない

これで、doggo_info以下のクエリを実行して、テーブルにあるデータに基づいて別のテーブルを作成できます。

CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4

テーブルのすべての列を含む新しいテーブルを作成しdoggo_infoますが、Ageが4未満の場合のみです。このクエリを実行すると、新しいテーブルは次のようになります。

名前繁殖年齢重量高さFav_FoodFav_Toy嫌いアレルギー
デイジー標準のダックスフント1146サーモン風味のキブルきしむボール庭の上を飛んでいる鳥猫、お風呂、清潔さ
チーフ黒/黄褐色ロットワイラー34117文字通り何でもロープタグソファから離れて聞いて、振る舞って、すべてをだましているのではない

この声明がいかに強力であるかをご覧いただければ幸いです。クエリの数行で、基本的に1つのテーブルから別のテーブルにデータをコピーしましたが、必要な行のみをコピーしました。  

これは、開発者ツールベルトにある便利なツールであるだけでなく、テーブル間でデータを移動する必要があるときに、莫大な時間を節約できます。

まとめ

提示された状況に関係なく、SQLでテーブルを作成(またはコピー)する方法がわかったので、格納するデータを列と行に入力し始めることができます。

このCREATE TABLEステートメントは非常に便利で強力です。あなたはそれをうまく利用し始める準備ができています。

この記事が役に立ったと思ったら、私のブログをチェックしてください。ここでは、Web開発、生活、学習に関する記事を頻繁に投稿しています。

あなたがそこにいる間に、私のニュースレターにサインアップしてみませんか?あなたはメインのブログページの右上でそれをすることができます。私は時々、開発者向けに興味深い記事(私のものなど)、リソース、ツールを送信するのが好きです。

この記事について質問がある場合、または一般的に私に知らせてください– Twitterまたは他のソーシャルメディアアカウントで挨拶してください。ニュースレターの下にあります。ブログのメインページまたはプロフィールでサインアップしてください。 fCC :)

素晴らしい一日を過ごします!幸せな学習と幸せなコーディング、友達!