ホームページ  >  記事  >  バックエンド開発  >  MySQL の旅に乗り出しましょう

MySQL の旅に乗り出しましょう

WBOY
WBOYオリジナル
2023-09-02 14:09:071371ブラウズ

近年、MongoDB、Firebase、Redis などの最新の NoSQL データベースが登場しているにもかかわらず、SQL データベースは依然として開発者の間で非常に人気があります。

SQL (構造化クエリ言語) は、MySQL、PostgreSQL、Oracle、MS SQL Server などの一般的なデータベースを含む、さまざまなデータベースのデータを操作するために使用される言語です。

この記事では、WordPress などのコンテンツ管理システム、Shopify などの電子商取引プラットフォーム、Twitter などのソーシャル メディア プラットフォームを強化するオープン ソース データベースである MySQL を使い始めるために知っておくべきことをすべて学びます。

MySQL の仕組み、リレーショナル データベースとその重要な概念の一部、コマンド ラインを使用して MySQL データベースをインストールして操作する方法、および MySQL でデータを作成、読み取り、更新、削除するための最新の SQL 構文を学びます。

オブジェクト リレーショナル マッパー (ORM) について理解する

リレーショナル データベースを扱うほとんどの開発者は、実際には生の SQL を作成しません。より一般的には、オブジェクト リレーショナル マッピング (ORM) を実行するライブラリを使用します。

これらのライブラリは基本的に、データベース テーブルをサイトのサーバー側のオブジェクトのように見せるため、任意のオブジェクト指向プログラミング言語を使用してデータを簡単に操作できます。

ORM の例には、Sequelize (JavaScript)、Eloquent (Laravel)、SQLAlchemy (Python)、Active Record (Ruby on Rails) などがあります。

ORM を使用すると、生の SQL コードを記述する必要がなくなります。代わりに、オブジェクト指向プログラミングの知識を利用して、SQL データベース上のデータの作成、読み取り、更新、削除を行うことができます。 ORM を使用すると、リレーショナル データベースをより簡単かつ直感的に使用できるようになります。

リレーショナル データベース管理システム (RDMS)

本質的に、リレーショナル データベース管理システムは、データベースとクエリ言語という 2 つの主要コンポーネントで構成されます。

データベース自体は単なるテーブルのコレクションです。各テーブルでは、実際のデータはスプレッドシートのように列と行に編成されています。リレーショナル データベース内のテーブルは、各テーブルに共通のデータに基づいてリンクまたは関連付けることができます。

クエリ言語は、データベース内のデータを操作および読み取るために使用されます。ほとんどのリレーショナル データベースでは、データの操作に使用されるクエリ言語は SQL の一種です。

SQL データベースのいくつかの重要な概念

MySQL の使用方法を学びたい場合は、次の SQL データベースの概念を視覚的に説明するために、まずいくつかの基本概念を理解する必要があります。ここでは DrawSQL と呼ばれるデータベース視覚化ツールを使用します。まず、スキーマとデータ型について学びます。

スキーマとデータ型

スキーマは、テーブルの全体的な構造と他のテーブルとの関係を定義する青写真と考えることができます。

たとえば、次の

user テーブル スキーマを考えてみましょう:

踏上您的 MySQL 之旅ユーザーテーブル
上の表の図では、各行がディクショナリであり、キーがデータベース内の列を表し、値がデータベースに保存できるデータのタイプを表していることがわかります。

MySQL には複数のデータ型があり、SQL データベースのデータ型も異なります。

整数値を受け入れる

id キーの前にもキーがあることに注意してください。これは、id主キー制約 を使用して定義されていることを示します。

したがって、各列の

id の値は空であってはならず、一意である必要があります。したがって、2 人以上のユーザーが同じ主キーを共有することはできず、各行は主キーによって識別できます。

これらのルールは一緒になって、

users テーブルの構造を形成します。

MySQL データベースの制約を詳しく見てみましょう。

制約

主キー制約については前に説明しました。これは、指定されたキーの値がテーブル内のすべての列で一意であることを保証します。

MySQL では、制約はテーブルに格納される値を許可または制限するルールです。これらは、テーブルに挿入されるデータの種類を制限し、テーブル内のデータの正確さと完全性を保証するのに役立ちます。

次の制約は MySQL でよく使用されます:

  • NOT NULL: 列に NULL 値を含めることはできません。
  • UNIQUE: 列内のすべての値が互いに異なることを確認してください
  • 主キー: NOT NULLとUNIQUEの組み合わせ - テーブル内の各行を一意に識別します
  • 外部キー: 2 つのテーブルをリンクするために使用されます
  • CREATE INDEX: データベースを迅速に作成し、データベースからデータを取得するために使用されます
  • CHECK: 列の値が指定された条件を満たしていることを確認してください
  • DEFAULT: 値が指定されていない場合は、列のデフォルト値を設定します
データベースの正規化

コンテキストをさらに追加するために、オンライン ショッピング Web サイトの登録ユーザーを保存するために

Users テーブルが使用されていると仮定します。

通常、オンライン ショッピング Web サイトのデータベースには、product テーブルと ショッピング カート テーブルが必要です。 Products にはユーザーが利用できるすべての製品が含まれ、Shopping Cart には特定のユーザーが購入する予定の特定のアイテムと各アイテムの数量が含まれます。 p>

これまでに作成されたすべてのテーブルは次のとおりです:

踏上您的 MySQL 之旅

これらのテーブルはすべて一意のエンティティです。これは、たとえば、carts テーブルにはユーザーに関する情報を格納する必要がないことを意味します。

技術的には、ショッピング カートのデータを Users テーブルにマージすることを妨げるものはありません。結局のところ、両方の情報セットは関連しています (ユーザーはショッピング カートを持っています)。ただし、このアプローチでは最終的にテーブルが混雑し、管理が非常に困難になります。

代わりに、より持続可能なアプローチを採用し、すべてのショッピング カート関連データを保存する別の ショッピング カート テーブルを作成しました。次に、外部キー user_idproduct_idcarts テーブルに配置して、他のテーブルへの参照を作成します。

このようにして、ショッピング カートは、実際にはそのような情報は保存されませんが、カートを所有するユーザーとカート内にある製品に関するあらゆる情報にアクセスできます。

リレーショナル データベース内のテーブルを結合およびリンクするこの方法は、正規化と呼ばれます。この記事では正規化の基本についてのみ触れました。Web アプリケーション用のデータベース スキーマを設計している場合は、正規化についてさらに読む価値があります。

MySQL をインストールして使用方法を学ぶ

MySQL と MySQL Server についてより高度な理解が得られたので、システムに MySQL をインストールして練習してみましょう。

MySQL をシステムにインストールするには、MySQL コミュニティのダウンロード ページに移動し、MySQL インストーラーをダウンロードします。

ダウンロードが完了したら、インストーラーを実行し、インストール ウィザードを完了して MySQL をインストールします。

インストールの種類を選択するときは、必ず MySQL サーバー製品を含めてください。 開発者のデフォルトオプションを使用することをお勧めします。

MySQL を使い始めるためのセットアップ プロセス中に、ユーザー名とパスワードを作成するように求められます。これらは後でデータベースに接続するときに必要になるため、必ず覚えておいてください。

インストールが成功すると、コマンド ラインから MySQL サーバー コマンドにアクセスできるようになります。

ただし、コマンド ラインから MySQL を使用するには、まず自分自身を認証する必要があります。次のコマンドを実行し、プレースホルダーにユーザー名を入力します:

リーリー

管理者パスワードの入力を求められ、両方の詳細が正しければ、コマンド ラインから MySQL へのアクセスが許可されます。

MySQL のデフォルトのユーザー名は root で、デフォルトのパスワードは空白であることに注意してください。

MySQL は一般的な SQL 操作をどのように処理しますか?

MySQL サーバーとデータベースを作成する

MySQL でデータベースを作成するには、CREATE DATABASE ステートメントに続いてデータベース名を使用します:

リーリー

ステートメントは、システムに何かを行うように指示するコードです。 SQL ステートメントは常にセミコロンで終わります。大文字で始まる単語は SQL の予約キーワードであり、SQL はそれらを解釈して特定の操作を実行します。

上記のコマンドを実行すると、MySQL に shopping_site という名前の空のデータベースが作成されます。

MySQL インスタンスに存在するすべてのデータベースを表示するには、SHOW DATABASE を実行します。

データベースにテーブルを作成します

新しいデータベースにテーブルを作成するには、CREATE TABLE ステートメントを使用し、その後にテーブル名と、このテーブルに含める列のリストを含む括弧を続けます。 リーリー

User

の各列について、列のデータ型を指定します。また、id 列と email 列に一連の制約を追加しました。 このコマンドを実行すると、データベースに

users

という名前の空の構造化テーブルが作成されます。 テーブルに新しいレコードを作成します

テーブルに新しいレコードを作成するには、

INSERT INTO

ステートメントを使用し、その後に値を挿入するテーブルを指定します。 リーリー 最初のかっこでは、値を挿入する列を指定します。次に、2 番目のかっこで、正しい順序で挿入される値を指定します。

このコマンドを実行すると、これらの値が

users

テーブルの指定された列に挿入されます。

id フィールドを自動インクリメントに設定しているため、この値は自動的に追加されます。さらに、タイムスタンプは MySQL によって自動的に生成されるため、自分で指定する必要はありません。

从表中读取

要从数据库查询数据,请使用 SELECT 语句。

例如,如果我们想从 users 表中选择所有内容,我们可以使用以下语句:

SELECT * FROM users;

星号 (*) 代表我们数据库中的所有内容。该语句将返回整个表以及每一列。

如果我们只需要列的子集,例如 idemail,我们可以指定列来代替星号:

SELECT id, email FROM users;

在选择数据方面,我们的能力是无限的。

删除表格

要从 MySQL 中完全删除表,请使用 DROP 语句,后跟表名称:

DROP TABLE users;

现在,使用此命令时需要小心!它将永久删除users表中的所有数据。另外,不要将其与 DROP DATABASE 语句混淆,该语句会删除整个数据库。

就是这样!现在您知道如何使用 MySQL!

MySQL 是一个开源关系数据库管理系统,即使在今天,它仍然为网络的重要部分提供支持。结构化查询语言或 SQL 用于在 MySQL 数据库中操作和存储数据。

在这篇文章中,我们回顾了 SQL 的一些关键概念,包括 ORM、模式、约束和数据库规范化。我们还回顾了 MySQL 的安装和设置过程。

最后,我们介绍了一些负责在 MySQL 中操作数据的 SQL 语句。

以上がMySQL の旅に乗り出しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。