MySQL 教程
MySQL 教程
目录
- 简介
- 安装 MySQL
- Windows
- macOS
- Linux
- 连接 MySQL
- 命令行客户端
- 图形化工具
- 基础操作
- 创建数据库
- 删除数据库
- 选择数据库
- 表的操作
- 创建表
- 删除表
- 插入数据
- 查询数据
- 更新数据
- 删除数据
- 高级操作
- 索引
- 视图
- 存储过程
- 触发器
- 用户管理
- 创建用户
- 授权
- 删除用户
- 备份与恢复
- 备份
- 恢复
- 常见问题
简介
MySQL 是一种关系型数据库管理系统,由瑞典公司 MySQL AB 开发,目前属于 Oracle 公司。MySQL 是世界上最流行的开放源码数据库之一,广泛应用于各种应用场景中,尤其是 Web 应用。
(图片来源网络,侵删)
安装 MySQL
Windows
- 下载 MySQL 安装包:MySQL 下载页面
- 运行安装包,选择“Custom”安装类型。
- 选择需要安装的 MySQL 产品,通常包括 MySQL Server 和 MySQL Workbench。
- 按照安装向导完成安装,设置 root 用户密码。
- 安装完成后,启动 MySQL Server,并使用 MySQL Workbench 或命令行客户端连接。
macOS
- 使用 Homebrew 安装 MySQL:
brew install mysql
- 安装完成后,启动 MySQL 服务:
brew services start mysql
- 设置 root 用户密码:
mysql_secure_installation
- 使用命令行客户端连接 MySQL:
mysql -u root -p
Linux
- 使用包管理器安装 MySQL(以 Ubuntu 为例):
sudo apt update sudo apt install mysql-server
- 安装完成后,启动 MySQL 服务:
sudo systemctl start mysql
- 设置 root 用户密码:
sudo mysql_secure_installation
- 使用命令行客户端连接 MySQL:
mysql -u root -p
连接 MySQL
命令行客户端
- 打开终端或命令提示符。
- 运行以下命令连接 MySQL:
mysql -u 用户名 -p
- 输入密码后,即可进入 MySQL 命令行模式。
图形化工具
- MySQL Workbench:MySQL 官方提供的图形化管理工具。
- phpMyAdmin:基于 Web 的 MySQL 管理工具。
- Navicat:流行的第三方数据库管理工具,支持多种数据库类型。
基础操作
创建数据库
CREATE DATABASE 数据库名;
删除数据库
DROP DATABASE 数据库名;
选择数据库
USE 数据库名;
表的操作
创建表
CREATE TABLE 表名 (
列名1 数据类型1,
列名2 数据类型2,
...
主键约束 (列名)
);
示例:
CREATE TABLE users (
id INT AUTO_INCREMENT,
name VARCHAR(100),
email VARCHAR(100),
PRIMARY KEY (id)
);
删除表
DROP TABLE 表名;
插入数据
INSERT INTO 表名 (列名1, 列名2, ...) VALUES (值1, 值2, ...);
示例:
INSERT INTO users (name, email) VALUES ('Alice', 'alice@example.com');
查询数据
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;
示例:
SELECT * FROM users;
更新数据
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;
示例:
UPDATE users SET email = 'newemail@example.com' WHERE name = 'Alice';
删除数据
DELETE FROM 表名 WHERE 条件;
示例:
DELETE FROM users WHERE name = 'Alice';
高级操作
索引
索引可以提高查询效率。
CREATE INDEX 索引名 ON 表名 (列名);
示例:
CREATE INDEX idx_name ON users (name);
视图
视图是虚拟表,可以简化复杂查询。
CREATE VIEW 视图名 AS SELECT 语句;
示例:
CREATE VIEW user_emails AS SELECT name, email FROM users;
存储过程
存储过程是预编译的 SQL 代码块,提高了执行效率。
CREATE PROCEDURE 存储过程名 (参数列表)
BEGIN
SQL 语句;
END;
示例:
CREATE PROCEDURE GetUserEmail (IN userName VARCHAR(100), OUT userEmail VARCHAR(100))
BEGIN
SELECT email INTO userEmail FROM users WHERE name = userName;
END;
触发器
触发器是在特定事件发生时自动执行的 SQL 代码块。
CREATE TRIGGER 触发器名 触发时间 触发事件 ON 表名
FOR EACH ROW
BEGIN
SQL 语句;
END;
示例:
CREATE TRIGGER before_insert_user
BEFORE INSERT ON users
FOR EACH ROW
BEGIN
SET NEW.created_at = NOW();
END;
用户管理
创建用户
CREATE USER '用户名'@'主机' IDENTIFIED BY '密码';
示例:
CREATE USER 'bob'@'localhost' IDENTIFIED BY 'password123';
授权
GRANT 权限 ON 数据库.* TO '用户名'@'主机';
示例:
GRANT ALL PRIVILEGES ON mydb.* TO 'bob'@'localhost';
删除用户
DROP USER '用户名'@'主机';
示例:
DROP USER 'bob'@'localhost';
备份与恢复
备份
使用 mysqldump 工具备份数据库。
mysqldump -u 用户名 -p 数据库名 > 备份文件.sql
示例:
mysqldump -u root -p mydb > mydb_backup.sql
恢复
使用 mysql 工具恢复数据库。
mysql -u 用户名 -p 数据库名示例:
mysql -u root -p mydb常见问题
连接错误:Access denied for user ‘username’@‘host’ (using password: YES):
- 检查用户名和密码是否正确。
- 检查用户是否有连接权限。
- 检查 MySQL 服务是否运行。
无法启动 MySQL 服务:
- 检查 MySQL 配置文件是否正确。
- 检查系统日志文件获取更多信息。
忘记 root 用户密码:
- 停止 MySQL 服务。
- 使用 --skip-grant-tables 参数启动 MySQL 服务。
- 连接 MySQL 并重置 root 用户密码。
- 重新启动 MySQL 服务。
以上即为 MySQL 的详细教程,希望对您有所帮助。如果您有任何问题,请随时与我联系。
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
