📝 262 字 · ☕ 1 分钟阅读
MySQL 简介
MySQL 是世界上最流行的开源关系型数据库。无论是个人博客还是大型电商平台,MySQL 都能胜任。本文从零开始,带你掌握 MySQL 的安装、建表、增删改查和索引优化。
安装 MySQL
# Ubuntu / Debian
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql
# 安全配置
sudo mysql_secure_installation
# 验证安装
mysql --version
连接 MySQL
# 本地连接
sudo mysql -u root -p
# 或使用 root 免密登录(刚安装时)
sudo mysql
数据库和表的操作
-- 创建数据库
CREATE DATABASE myblog CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- 使用数据库
USE myblog;
-- 创建表
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(200) NOT NULL,
content TEXT,
author VARCHAR(50),
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- 查看表结构
DESCRIBE posts;
增删改查(CRUD)
-- 插入数据
INSERT INTO posts (title, content, author) VALUES
('Docker 入门教程', 'Docker 是一个容器化平台...', 'Leo'),
('Python 爬虫实战', '使用 requests 抓取网页...', 'Leo');
-- 查询数据
SELECT * FROM posts;
SELECT title, created_at FROM posts WHERE author = 'Leo' ORDER BY created_at DESC;
-- 更新数据
UPDATE posts SET content = '更新后的内容' WHERE id = 1;
-- 删除数据
DELETE FROM posts WHERE id = 2;
索引优化
-- 创建索引(加速查询)
CREATE INDEX idx_author ON posts(author);
-- 查看查询是否使用索引
EXPLAIN SELECT * FROM posts WHERE author = 'Leo';
-- 复合索引(多列)
CREATE INDEX idx_author_date ON posts(author, created_at);
常用函数
-- 聚合函数
SELECT COUNT(*) FROM posts;
SELECT author, COUNT(*) as post_count FROM posts GROUP BY author;
-- 字符串函数
SELECT UPPER(title) FROM posts;
SELECT CONCAT(title, ' - ', author) FROM posts;
-- 日期函数
SELECT DATE(created_at) FROM posts;
SELECT * FROM posts WHERE created_at > NOW() - INTERVAL 7 DAY;
备份与恢复
# 导出(备份)
mysqldump -u root -p myblog > myblog_backup.sql
# 导入(恢复)
mysql -u root -p myblog < myblog_backup.sql
Python 连接 MySQL
import mysql.connector
conn = mysql.connector.connect(
host='localhost',
user='root',
password='your_password',
database='myblog'
)
cursor = conn.cursor()
cursor.execute('SELECT * FROM posts')
for row in cursor.fetchall():
print(row)
总结
MySQL 入门只需要掌握:安装 → 建库建表 → CRUD → 索引优化。配合 Python/PHP 等语言,就能搭建完整的数据库应用。