MySQL 是一种关系型数据库管理系统,由瑞典公司 MySQL AB 开发,目前属于 Oracle 公司。MySQL 是世界上最流行的开放源码数据库之一,广泛应用于各种应用场景中,尤其是 Web 应用。
brew install mysql
brew services start mysql
mysql_secure_installation
mysql -u root -p
sudo apt update
sudo apt install mysql-server
sudo systemctl start mysql
sudo mysql_secure_installation
mysql -u root -p
mysql -u 用户名 -p
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', '[email protected]');
SELECT 列名1, 列名2, ... FROM 表名 WHERE 条件;
示例:
SELECT * FROM users;
UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2, ... WHERE 条件;
示例:
UPDATE users SET email = '[email protected]' 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 数据库名 < 备份文件.sql
示例:
mysql -u root -p mydb < mydb_backup.sql
连接错误:Access denied for user ‘username’@‘host’ (using password: YES):
无法启动 MySQL 服务:
忘记 root 用户密码:
--skip-grant-tables
参数启动 MySQL 服务。以上即为 MySQL 的详细教程,希望对您有所帮助。如果您有任何问题,请随时与我联系。