近年、MongoDB、Firebase、Redis などの最新の NoSQL データベースが登場しているにもかかわらず、SQL データベースは依然として開発者の間で非常に人気があります。
SQL (構造化クエリ言語) は、MySQL、PostgreSQL、Oracle、MS SQL Server などの一般的なデータベースを含む、さまざまなデータベースのデータを操作するために使用される言語です。
この記事では、WordPress などのコンテンツ管理システム、Shopify などの電子商取引プラットフォーム、Twitter などのソーシャル メディア プラットフォームを強化するオープン ソース データベースである MySQL を使い始めるために知っておくべきことをすべて学びます。
MySQL の仕組み、リレーショナル データベースとその重要な概念の一部、コマンド ラインを使用して MySQL データベースをインストールして操作する方法、および MySQL でデータを作成、読み取り、更新、削除するための最新の SQL 構文を学びます。
リレーショナル データベースを扱うほとんどの開発者は、実際には生の SQL を作成しません。より一般的には、オブジェクト リレーショナル マッピング (ORM) を実行するライブラリを使用します。
これらのライブラリは基本的に、データベース テーブルをサイトのサーバー側のオブジェクトのように見せるため、任意のオブジェクト指向プログラミング言語を使用してデータを簡単に操作できます。
ORM の例には、Sequelize (JavaScript)、Eloquent (Laravel)、SQLAlchemy (Python)、Active Record (Ruby on Rails) などがあります。
ORM を使用すると、生の SQL コードを記述する必要がなくなります。代わりに、オブジェクト指向プログラミングの知識を利用して、SQL データベース上のデータの作成、読み取り、更新、削除を行うことができます。 ORM を使用すると、リレーショナル データベースをより簡単かつ直感的に使用できるようになります。
本質的に、リレーショナル データベース管理システムは、データベースとクエリ言語という 2 つの主要コンポーネントで構成されます。
データベース自体は単なるテーブルのコレクションです。各テーブルでは、実際のデータはスプレッドシートのように列と行に編成されています。リレーショナル データベース内のテーブルは、各テーブルに共通のデータに基づいてリンクまたは関連付けることができます。
クエリ言語は、データベース内のデータを操作および読み取るために使用されます。ほとんどのリレーショナル データベースでは、データの操作に使用されるクエリ言語は SQL の一種です。
MySQL の使用方法を学びたい場合は、次の SQL データベースの概念を視覚的に説明するために、まずいくつかの基本概念を理解する必要があります。ここでは DrawSQL と呼ばれるデータベース視覚化ツールを使用します。まず、スキーマとデータ型について学びます。
スキーマとデータ型たとえば、次の
user テーブル スキーマを考えてみましょう:
上の表の図では、各行がディクショナリであり、キーがデータベース内の列を表し、値がデータベースに保存できるデータのタイプを表していることがわかります。MySQL には複数のデータ型があり、SQL データベースのデータ型も異なります。
整数値を受け入れる
id キーの前にもキーがあることに注意してください。これは、
id が
主キー制約 を使用して定義されていることを示します。
id の値は空であってはならず、一意である必要があります。したがって、2 人以上のユーザーが同じ主キーを共有することはできず、各行は主キーによって識別できます。
users テーブルの構造を形成します。
MySQL データベースの制約を詳しく見てみましょう。制約
MySQL では、制約はテーブルに格納される値を許可または制限するルールです。これらは、テーブルに挿入されるデータの種類を制限し、テーブル内のデータの正確さと完全性を保証するのに役立ちます。
次の制約は MySQL でよく使用されます:
: 列に NULL 値を含めることはできません。
: 列内のすべての値が互いに異なることを確認してください
: NOT NULLとUNIQUEの組み合わせ - テーブル内の各行を一意に識別します
: 2 つのテーブルをリンクするために使用されます
: データベースを迅速に作成し、データベースからデータを取得するために使用されます
: 列の値が指定された条件を満たしていることを確認してください
: 値が指定されていない場合は、列のデフォルト値を設定します
Users テーブルが使用されていると仮定します。
通常、オンライン ショッピング Web サイトのデータベースには、product テーブルと ショッピング カート テーブルが必要です。 Products にはユーザーが利用できるすべての製品が含まれ、Shopping Cart には特定のユーザーが購入する予定の特定のアイテムと各アイテムの数量が含まれます。 p>
これまでに作成されたすべてのテーブルは次のとおりです:
これらのテーブルはすべて一意のエンティティです。これは、たとえば、carts テーブルにはユーザーに関する情報を格納する必要がないことを意味します。
技術的には、ショッピング カートのデータを Users テーブルにマージすることを妨げるものはありません。結局のところ、両方の情報セットは関連しています (ユーザーはショッピング カートを持っています)。ただし、このアプローチでは最終的にテーブルが混雑し、管理が非常に困難になります。
代わりに、より持続可能なアプローチを採用し、すべてのショッピング カート関連データを保存する別の ショッピング カート テーブルを作成しました。次に、外部キー user_id
と product_id
を carts テーブルに配置して、他のテーブルへの参照を作成します。
このようにして、ショッピング カートは、実際にはそのような情報は保存されませんが、カートを所有するユーザーとカート内にある製品に関するあらゆる情報にアクセスできます。
MySQL と MySQL Server についてより高度な理解が得られたので、システムに MySQL をインストールして練習してみましょう。
MySQL をシステムにインストールするには、MySQL コミュニティのダウンロード ページに移動し、MySQL インストーラーをダウンロードします。
ダウンロードが完了したら、インストーラーを実行し、インストール ウィザードを完了して MySQL をインストールします。
インストールの種類を選択するときは、必ず MySQL サーバー製品を含めてください。 開発者のデフォルトオプションを使用することをお勧めします。
インストールが成功すると、コマンド ラインから MySQL サーバー コマンドにアクセスできるようになります。
ただし、コマンド ラインから MySQL を使用するには、まず自分自身を認証する必要があります。次のコマンドを実行し、プレースホルダーにユーザー名を入力します:
リーリー管理者パスワードの入力を求められ、両方の詳細が正しければ、コマンド ラインから MySQL へのアクセスが許可されます。
MySQL のデフォルトのユーザー名は root で、デフォルトのパスワードは空白であることに注意してください。
MySQL でデータベースを作成するには、CREATE DATABASE
ステートメントに続いてデータベース名を使用します:
ステートメントは、システムに何かを行うように指示するコードです。 SQL ステートメントは常にセミコロンで終わります。大文字で始まる単語は SQL の予約キーワードであり、SQL はそれらを解釈して特定の操作を実行します。
上記のコマンドを実行すると、MySQL に shopping_site という名前の空のデータベースが作成されます。
MySQL インスタンスに存在するすべてのデータベースを表示するには、SHOW DATABASE
を実行します。
新しいデータベースにテーブルを作成するには、CREATE TABLE
ステートメントを使用し、その後にテーブル名と、このテーブルに含める列のリストを含む括弧を続けます。
リーリー
の各列について、列のデータ型を指定します。また、id 列と email 列に一連の制約を追加しました。 このコマンドを実行すると、データベースに
usersという名前の空の構造化テーブルが作成されます。 テーブルに新しいレコードを作成します
ステートメントを使用し、その後に値を挿入するテーブルを指定します。
リーリー
最初のかっこでは、値を挿入する列を指定します。次に、2 番目のかっこで、正しい順序で挿入される値を指定します。
users
テーブルの指定された列に挿入されます。
以上がMySQL の旅に乗り出しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。