MySQL 简介
MySQL 是最流行的关系型数据库管理系统之一。
什么是 MySQL
MySQL 是最流行的关系型数据库管理系统(RDBMS)之一,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 使用 SQL(Structured Query Language)作为数据库查询和编程语言。
MySQL 的特点
MySQL 具有以下特点:开源免费、支持多种操作系统、性能高、可靠性好、易于使用、支持大型数据库、支持事务处理、强大的社区支持。
MySQL 安装
学习如何安装 MySQL。
Windows 安装
从 MySQL 官网下载安装包,按照安装向导进行安装。安装过程中需要设置 root 用户密码。
# 启动 MySQL 服务 net start mysql # 登录 MySQL mysql -u root -p
Linux 安装
在 Ubuntu/Debian 系统上使用 apt 安装。
# 更新软件包 sudo apt update # 安装 MySQL sudo apt install mysql-server # 启动服务 sudo service mysql start
MySQL 基础命令
学习 MySQL 的基本操作命令。
连接数据库
使用 mysql 命令连接数据库服务器。
# 连接本地 MySQL mysql -u root -p # 指定主机连接 mysql -h localhost -u root -p
查看数据库
显示所有数据库。
SHOW DATABASES;
选择数据库
使用 USE 命令选择数据库。
USE database_name;
数据库操作
创建、删除数据库。
创建数据库
使用 CREATE DATABASE 命令创建数据库。
CREATE DATABASE mydb; # 指定字符集创建 CREATE DATABASE mydb DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
删除数据库
使用 DROP DATABASE 命令删除数据库。
DROP DATABASE mydb;
表操作
创建、查看、修改、删除数据表。
创建表
使用 CREATE TABLE 命令创建数据表。
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);查看表结构
使用 DESCRIBE 或 SHOW COLUMNS 查看表结构。
DESCRIBE users; # 或者 SHOW COLUMNS FROM users;
删除表
使用 DROP TABLE 命令删除表。
DROP TABLE users;
数据查询
使用 SELECT 语句查询数据。
基本查询
使用 SELECT 语句查询数据。
-- 查询所有数据 SELECT * FROM users; -- 查询指定列 SELECT username, email FROM users;
条件查询
使用 WHERE 子句进行条件过滤。
-- 查询满足条件的数据 SELECT * FROM users WHERE id = 1; -- 多个条件 SELECT * FROM users WHERE age >= 18 AND city = "Beijing";
排序
使用 ORDER BY 子句排序结果。
-- 升序排序 SELECT * FROM users ORDER BY created_at ASC; -- 降序排序 SELECT * FROM users ORDER BY id DESC;
限制结果
使用 LIMIT 子句限制返回结果数量。
-- 查询前10条 SELECT * FROM users LIMIT 10; -- 跳过前5条,查询10条 SELECT * FROM users LIMIT 5, 10;
数据插入
使用 INSERT 语句插入数据。
插入单条数据
使用 INSERT INTO 语句插入数据。
-- 插入数据
INSERT INTO users (username, email, password)
VALUES ("tom", "tom@example.com", "password123");批量插入
一次插入多条数据。
INSERT INTO users (username, email, password)
VALUES
("tom", "tom@example.com", "password123"),
("jerry", "jerry@example.com", "password456"),
("alice", "alice@example.com", "password789");数据更新
使用 UPDATE 语句更新数据。
更新数据
使用 UPDATE 语句修改数据。
-- 更新单条数据 UPDATE users SET email = "newemail@example.com" WHERE id = 1; -- 更新多条数据 UPDATE users SET status = "active" WHERE age >= 18;
数据删除
使用 DELETE 语句删除数据。
删除数据
使用 DELETE 语句删除数据。
-- 删除指定数据 DELETE FROM users WHERE id = 1; -- 删除所有数据 DELETE FROM users;
MySQL 高级查询
学习更复杂的查询操作。
聚合函数
使用 COUNT、SUM、AVG、MAX、MIN 等聚合函数。
-- 统计数量 SELECT COUNT(*) FROM users; -- 求和 SELECT SUM(price) FROM orders; -- 平均值 SELECT AVG(age) FROM users; -- 最大值/最小值 SELECT MAX(price), MIN(price) FROM products;
分组查询
使用 GROUP BY 子句分组查询。
-- 按城市分组统计用户数量 SELECT city, COUNT(*) as user_count FROM users GROUP BY city;
连接查询
使用 JOIN 连接多个表。
-- 内连接 SELECT orders.id, users.username FROM orders INNER JOIN users ON orders.user_id = users.id; -- 左连接 SELECT users.username, orders.id FROM users LEFT JOIN orders ON users.id = orders.user_id;
索引
创建和使用索引提高查询性能。
创建索引
使用 CREATE INDEX 创建索引。
-- 创建普通索引 CREATE INDEX idx_username ON users(username); -- 创建唯一索引 CREATE UNIQUE INDEX idx_email ON users(email); -- 创建复合索引 CREATE INDEX idx_name_age ON users(name, age);
删除索引
使用 DROP INDEX 删除索引。
DROP INDEX idx_username ON users;