首頁 >資料庫 >mysql教程 >基本 MySQL 查詢:綜合指南

基本 MySQL 查詢:綜合指南

PHPz
PHPz原創
2024-08-24 06:35:101281瀏覽

Basic MySQL Queries: A Comprehensive Guide

作者:Nirmalya Mondal

介紹

MySQL 是最受歡迎的關聯式資料庫管理系統 (RDBMS) 之一,用於 Web 應用程式和其他資料驅動應用程式。無論您是初學者還是想要提高 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 組合多個條件:

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 或 NOT NULL 值的記錄:

SELECT * FROM users WHERE email IS NULL;

5.聚合函數

COUNT

計算行數:

SELECT COUNT(*) FROM users;

總和

計算列的總和:

SELECT SUM(age) FROM users;

AVG

求一列的平均值:

SELECT AVG(age) FROM users;

最大和最小

找出列的最大值或最小值:

SELECT MAX(age) FROM users;
SELECT MIN(age) FROM users;

6. 分組和排序

分組依據

依照一列或多列將資料分組:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn