基本 MySQL 查詢:綜合指南

PHPz
發布: 2024-08-24 06:35:10
原創
1035 人瀏覽過

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

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!