mysql表
創建 users 表(用戶信息表)
假設我們要記錄用戶的基本信息,如用戶 ID、姓名、電子郵件、聯系電話、注冊日期等。
sql-- 在數據庫 'weather' 中創建一個名為 'users' 的表
USE weather;
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY, -- 用戶ID,主鍵,自增
first_name VARCHAR(100) NOT NULL, -- 名字
last_name VARCHAR(100) NOT NULL, -- 姓氏
email VARCHAR(255) NOT NULL UNIQUE, -- 電子郵件,唯一約束
phone VARCHAR(20), -- 電話號碼
registration_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 注冊日期,默認當前時間
status ENUM('active', 'inactive') DEFAULT 'active' -- 賬戶狀態,'active' 或 'inactive'
);
解釋
id:自動增長的主鍵,用于唯一標識每個用戶。first_name和last_name:分別表示用戶的名字和姓氏,不能為空。email:用戶的電子郵件地址,添加了唯一約束,確保每個用戶的電子郵件地址唯一。phone:用戶的電話號碼,允許為空。registration_date:注冊日期,默認當前時間(使用CURRENT_TIMESTAMP)。status:賬戶狀態,使用枚舉類型(ENUM),限定值為active或inactive,默認值為active。
增:插入數據(INSERT INTO)
插入一條新的用戶記錄。
sql-- 插入一條用戶記錄
INSERT INTO users (first_name, last_name, email, phone, status)
VALUES ('John', 'Doe', 'john.doe@example.com', '123-456-7890', 'active');
查:查詢數據(SELECT)
查詢所有用戶信息:
sql-- 查詢所有用戶
SELECT * FROM users;
查詢特定用戶信息(根據郵箱):
sql-- 查詢特定郵箱的用戶
SELECT * FROM users WHERE email = 'john.doe@example.com';
查詢所有處于活動狀態的用戶:
sql-- 查詢所有活動狀態的用戶
SELECT * FROM users WHERE status = 'active';
查詢注冊時間在某個范圍內的用戶:
sql-- 查詢2024年1月1日到2024年11月28日注冊的用戶
SELECT * FROM users WHERE registration_date BETWEEN '2024-01-01' AND '2024-11-28';
改:更新數據(UPDATE)
更新某個用戶的信息。例如,修改用戶的電話號碼和狀態:
sql-- 更新John Doe的電話號碼和狀態
UPDATE users
SET phone = '987-654-3210', status = 'inactive'
WHERE email = 'john.doe@example.com';
刪:刪除數據(DELETE)
刪除某個用戶記錄,例如根據郵箱刪除用戶:
sql-- 刪除特定郵箱的用戶記錄
DELETE FROM users WHERE email = 'john.doe@example.com';
查詢:按狀態分組并統計(例如統計活動用戶和非活動用戶的數量)
-- 按狀態分組統計用戶數量
SELECT status, COUNT(*) AS user_count
FROM users
GROUP BY status;

浙公網安備 33010602011771號