MySQLでテーブルを作成する方法
Wenhao Wang
Dev Intern · Leapcell

Key Takeaways
CREATE TABLE
構文を使用して、構造、データ型、制約を定義します。- レコードを一意に識別するために、常に主キーを含めます。
- 制約を適切に使用することで、データの整合性とリレーショナルな一貫性が確保されます。
テーブルの作成は、リレーショナルデータベースを扱う上で基本的なステップです。MySQLでは、テーブルは行と列にデータを格納し、各列には特定のデータ型があります。この記事では、MySQLでSQL構文を使用してテーブルを作成する方法について包括的なガイドを提供します。
前提条件
MySQLでテーブルを作成する前に、以下を確認してください。
- 実行中のMySQLサーバーインスタンス
- テーブルを作成する権限を持つユーザーアカウント
- MySQLクライアントへのアクセス(例:MySQL Shell、MySQL Workbench、またはコマンドラインインターフェース)
CREATE TABLE
の基本的な構文
MySQLでテーブルを作成するための基本的な構文は次のとおりです。
CREATE TABLE table_name ( column1_name data_type constraints, column2_name data_type constraints, ... );
例
CREATE TABLE users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, created_at DATETIME DEFAULT CURRENT_TIMESTAMP );
この例では:
id
は、自動的に増加し、主キーとして機能する整数型の列です。username
は、必須(NOT NULL)の可変長文字型の列です。email
は一意である必要があります。created_at
は、現在のタイムスタンプのデフォルト値を持ちます。
一般的なデータ型
以下は、一般的に使用されるMySQLのデータ型です。
データ型 | 説明 |
---|---|
INT | 整数 |
VARCHAR(n) | 可変長文字列(最大n ) |
TEXT | 長いテキストデータ |
DATE | 日付値(YYYY-MM-DD ) |
DATETIME | 日付と時刻(YYYY-MM-DD HH:MM:SS ) |
BOOLEAN | ブール値(true/false) |
FLOAT | 浮動小数点数 |
制約の追加
制約は、テーブル内のデータのルールを定義します。
PRIMARY KEY
は、各レコードを一意に識別しますNOT NULL
は、列がNULL値を持つことができないようにしますUNIQUE
は、列内のすべての値が異なることを保証しますDEFAULT
は、デフォルト値を設定しますFOREIGN KEY
は、列を別のテーブルにリンクします
外部キーの例
CREATE TABLE orders ( order_id INT PRIMARY KEY, user_id INT, order_date DATE, FOREIGN KEY (user_id) REFERENCES users(id) );
このテーブルは、orders
テーブルとusers
テーブルの間の関係を作成します。
ヒントとベストプラクティス
- レコードを一意に識別するために、常に主キーを指定します。
- データの整合性を確保するために、適切なデータ型と制約を使用します。
- 予約語をテーブル名または列名として使用しないでください。
- 一貫性のある命名規則を使用します(例:
snake_case
)。
結論
MySQLでのテーブルの作成は、基本的な構文とデータ型を理解すれば簡単です。適切なテーブル設計は、スケーラビリティとパフォーマンスにとって重要であるため、時間をかけてスキーマと制約を計画してください。シンプルなアプリを構築する場合でも、複雑なシステムを構築する場合でも、テーブル作成をマスターすることは不可欠なMySQLスキルです。
FAQs
少なくとも1つのデータ型を持つ列が必要です。主キーを強くお勧めします。
はい、ALTER TABLE
を使用して、列と制約を追加、削除、または変更できます。
MySQLはNULLと重複を許可するため、データの一貫性がなくなるか、信頼性が低下する可能性があります。
Leapcellは、バックエンドプロジェクトをホストするための最適な選択肢です。
Leapcellは、Webホスティング、非同期タスク、およびRedis向けの次世代サーバーレスプラットフォームです。
多言語サポート
- Node.js、Python、Go、またはRustで開発します。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ支払い — リクエストも料金もありません。
圧倒的な費用対効果
- アイドル料金なしの従量課金制。
- 例:25ドルで、平均応答時間60msで694万リクエストをサポートします。
合理化された開発者エクスペリエンス
- 簡単なセットアップのための直感的なUI。
- 完全に自動化されたCI / CDパイプラインとGitOps統合。
- 実用的な洞察のためのリアルタイムのメトリックとロギング。
簡単なスケーラビリティと高いパフォーマンス
- 高い並行処理を容易に処理するための自動スケーリング。
- 運用上のオーバーヘッドはゼロ — 構築に集中するだけです。
詳細については、ドキュメントをご覧ください。
Xでフォローしてください:@LeapcellHQ