首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 基礎操作速查筆記:連線、建庫表、增刪改查、結構變更

     編輯:MySQL 資料庫相關知識

連線與基礎導航

# 進入安裝目錄 bin
cd /usr/local/mysql/bin
# 或 Windows
cd C:\Program Files\MySQL\MySQL Server 8.0\bin

# 連線
mysql -h localhost -u root -p
# 密碼可緊跟 -p 或交互輸入

# 顯示庫/表
SHOW DATABASES;
USE mydb;
SHOW TABLES;

DDL:庫與表結構

操作SQL
建庫(指定字符集)CREATE DATABASE mydb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
刪庫DROP DATABASE mydb;
建表CREATE TABLE users (id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
刪表DROP TABLE users;
查看結構DESCRIBE users; / SHOW CREATE TABLE users\G
修改表名RENAME TABLE users TO members;
新增欄位ALTER TABLE users ADD COLUMN phone VARCHAR(20) AFTER email;
修改欄位ALTER TABLE users MODIFY COLUMN name VARCHAR(100) NOT NULL;
刪除欄位ALTER TABLE users DROP COLUMN phone;
新增索引ALTER TABLE users ADD INDEX idx_email (email);
刪除索引ALTER TABLE users DROP INDEX idx_email;

DML:增刪改查

-- 插入(指定欄位)
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');

-- 批次插入
INSERT INTO users (name, email) VALUES 
  ('Bob', 'bob@example.com'),
  ('Carol', 'carol@example.com');

-- 查詢
SELECT * FROM users;
SELECT id, name FROM users WHERE email LIKE '%@example.com' LIMIT 10;
SELECT * FROM users ORDER BY created_at DESC;

-- 更新
UPDATE users SET name = 'Alice Smith' WHERE id = 1;

-- 刪除
DELETE FROM users WHERE id = 2;
-- 清空表(重置自增)
TRUNCATE TABLE users;

常用函數與運算子

類別範例
比較=, !=, <>, >, <, >=, <=, BETWEEN, IN, NOT IN, LIKE, REGEXP
邏輯AND, OR, NOT
字符串CONCAT, SUBSTRING, REPLACE, TRIM, UPPER, LOWER, LENGTH
數學+, -, *, /, DIV, MOD, ROUND, FLOOR, CEIL, ABS
日期NOW(), CURDATE(), CURTIME(), DATE_ADD, DATE_SUB, DATEDIFF, DATE_FORMAT
聚合COUNT, SUM, AVG, MAX, MIN, GROUP_CONCAT

連線模式對比

模式關鍵字結果集
內連接INNER JOIN / JOIN兩表匹配行
左連接LEFT JOIN左表所有 + 右表匹配
右連接RIGHT JOIN右表所有 + 左表匹配
全連接FULL JOIN(MySQL 不支援,用 UNION 模擬)兩表所有行

權限與用戶

CREATE USER 'app'@'%' IDENTIFIED BY 'Pass#2024';
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'app'@'%';
FLUSH PRIVILEGES;

備份與還原

# 邏輯備份
mysqldump -u root -p --single-transaction --master-data=2 mydb > mydb.sql

# 還原
mysql -u root -p mydb < mydb.sql
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved