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;
上一篇PHP 教程
下一篇返回首页