ホームページ > データベース > mysql チュートリアル > 基本的な MySQL クエリ: 包括的なガイド

基本的な MySQL クエリ: 包括的なガイド

PHPz
リリース: 2024-08-24 06:35:10
オリジナル
1296 人が閲覧しました

Basic MySQL Queries: A Comprehensive Guide

著者: ニルマルヤ モンダル

導入

MySQL は、Web アプリケーションやその他のデータ駆動型アプリケーションに使用される最も人気のあるリレーショナル データベース管理システム (RDBMS) の 1 つです。初心者であっても、MySQL スキルを磨きたいと考えている人であっても、基本的なクエリを理解することは不可欠です。このブログでは、データベース操作、テーブル操作、データ管理に使用できるいくつかの基本的な MySQL クエリについて説明します。

1. データベースの操作

データベースの作成

まず、テーブルとデータを保存するデータベースが必要です。データベースの作成は簡単です:

CREATE DATABASE my_database;
ログイン後にコピー

データベースを選択

データベースを作成したら、次のクエリを使用してデータベースを選択します。

USE my_database;
ログイン後にコピー

データベースを削除

データベースを削除する必要がある場合は、次のコマンドを使用します:

DROP DATABASE my_database;
ログイン後にコピー

2. テーブルの操作

テーブルの作成

テーブルはデータが保存される場所です。次のように、特定の列を含むテーブルを作成できます:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    email VARCHAR(100),
    age INT
);
ログイン後にコピー

テーブルを表示

選択したデータベース内のすべてのテーブルを表示するには:

SHOW TABLES;
ログイン後にコピー

テーブル構造の説明

テーブルの構造を知りたい場合は、次のように記述できます。

DESCRIBE users;
ログイン後にコピー

テーブルを変更

列を追加または変更してテーブルを変更する必要がある場合:

  • 列を追加
  ALTER TABLE users ADD phone VARCHAR(15);
ログイン後にコピー
  • 列を変更する
  ALTER TABLE users MODIFY age TINYINT;
ログイン後にコピー

ドロップテーブル

テーブルを削除するには:

DROP TABLE users;
ログイン後にコピー

3. データ操作

データの挿入

テーブルにデータを追加するには:

INSERT INTO users (name, email, age) VALUES ('John Doe', 'john@example.com', 25);
ログイン後にコピー

データを選択

テーブルからデータを取得します:

SELECT name, email FROM users WHERE age > 20;
ログイン後にコピー

すべてのデータを選択

テーブルからすべてのデータを取得するには:

SELECT * FROM users;
ログイン後にコピー

データを更新

テーブル内のデータを更新するには:

UPDATE users SET age = 26 WHERE name = 'John Doe';
ログイン後にコピー

データを削除

テーブルからデータを削除するには:

DELETE FROM users WHERE name = 'John Doe';
ログイン後にコピー

4. 条件付きクエリ

WHERE 句

特定の条件に基づいてレコードをフィルターするには、WHERE 句を使用します。

SELECT * FROM users WHERE age > 20;
ログイン後にコピー

AND/OR 条件

AND または OR を使用して複数の条件を結合します:

SELECT * FROM users WHERE age > 20 AND name = 'John Doe';
ログイン後にコピー

IN 句

値のリストに基づいてデータを選択します:

SELECT * FROM users WHERE age IN (20, 25, 30);
ログイン後にコピー

BETWEEN 句

範囲内のデータをフィルタリングします:

SELECT * FROM users WHERE age BETWEEN 20 AND 30;
ログイン後にコピー

LIKE 句

LIKE 句を使用してパターンを検索します:

SELECT * FROM users WHERE name LIKE 'J%';
ログイン後にコピー

は NULL / は NULL ではありません

NULL または NOT NULL 値を含むレコードをフィルターします:

SELECT * FROM users WHERE email IS NULL;
ログイン後にコピー

5. 集計関数

カウント

行数を数える:

SELECT COUNT(*) FROM users;
ログイン後にコピー

合計

列の合計を計算します:

SELECT SUM(age) FROM users;
ログイン後にコピー

平均

列の平均値を検索します:

SELECT AVG(age) FROM users;
ログイン後にコピー

最大値と最小値

列の最大値または最小値を検索します:

SELECT MAX(age) FROM users;
ログイン後にコピー
SELECT MIN(age) FROM users;
ログイン後にコピー

6. グループ化と並べ替え

グループ化

1 つ以上の列に基づいてデータをグループ化します:

SELECT age, COUNT(*) FROM users GROUP BY age;
ログイン後にコピー

持っています

グループ化されたデータのフィルター:

SELECT age, COUNT(*) FROM users GROUP BY age HAVING COUNT(*) > 1;
ログイン後にコピー

注文方法

データを昇順または降順に並べ替えます:

SELECT * FROM users ORDER BY age DESC;
ログイン後にコピー

7. 結合操作

内部結合

条件が両方とも満たされる複数のテーブルからデータをフェッチします:

SELECT users.name, orders.order_date FROM users
INNER JOIN orders ON users.id = orders.user_id;
ログイン後にコピー

結合を解除

左側のテーブルからデータをフェッチし、右側のテーブルから一致する行をフェッチします:

SELECT users.name, orders.order_date FROM users
LEFT JOIN orders ON users.id = orders.user_id;
ログイン後にコピー

右結合

右のテーブルからデータをフェッチし、左のテーブルから一致する行をフェッチします:

SELECT users.name, orders.order_date FROM users
RIGHT JOIN orders ON users.id = orders.user_id;
ログイン後にコピー

8. サブクエリ

WHERE のサブクエリ

サブクエリを使用して結果をフィルタリングします:

SELECT name FROM users WHERE id = (SELECT user_id FROM orders WHERE order_id = 1);
ログイン後にコピー

SELECT のサブクエリ

サブクエリを使用して値を計算します:

SELECT name, (SELECT COUNT(*) FROM orders WHERE users.id = orders.user_id) AS order_count
FROM users;
ログイン後にコピー

9. ビュー

ビューの作成

クエリに基づいて仮想テーブルを作成します:

CREATE VIEW user_orders AS
SELECT users.name, orders.order_date FROM users
INNER JOIN orders ON users.id = orders.user_id;
ログイン後にコピー

Drop View

Delete a view:

DROP VIEW user_orders;
ログイン後にコピー

10. Indexing

Create Index

Improve query performance by creating an index:

CREATE INDEX idx_name ON users (name);
ログイン後にコピー

Drop Index

Remove an index:

DROP INDEX idx_name ON users;
ログイン後にコピー

Conclusion

Understanding these basic MySQL queries is essential for anyone working with relational databases. Whether you are managing data, optimizing queries, or ensuring data integrity, these commands form the foundation of your MySQL skills. By mastering them, you'll be well-equipped to handle most database-related tasks with ease.

以上が基本的な MySQL クエリ: 包括的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート