MySQL入门:高频操作命令大全
主题与背景
文本是一篇关于MySQL基本操作命令的博客,旨在提供一个全面而详细的指南,涵盖数据库管理、数据表管理、数据操作、高级功能等内容。
数据库管理
- 创建数据库:使用`CREATE DATABASE`语句创建新数据库,并可指定字符集和排序规则。
-- 基础创建(默认字符集)
例如
CREATE DATABASE ecommerce_db;
- 修改数据库密码:可以通过`ALTER USER`命令或`mysqladmin`工具修改密码,并注意权限问题。
例如:
-- 修改root用户密码(MySQL 5.7+)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewP@ssw0rd!';
-- 使用mysqladmin工具(命令行)
mysqladmin -u root -p old_password new_password
- 删除数据库:使用`DROP DATABASE`语句删除数据库,建议在执行前备份数据。
例如:
-- 强制删除(生产环境慎用)
DROP DATABASE IF EXISTS test_db;
数据表管理
- 创建表:使用`CREATE TABLE`语句创建数据表,包括字段类型、主键、外键、索引等。
- 修改表结构:可以添加、修改或删除列。
例如:
-- 添加新列
ALTER TABLE products
ADD stock_alert_level SMALLINT UNSIGNED DEFAULT 10;
-- 修改列类型
ALTER TABLE employees
MODIFY COLUMN phone VARCHAR(20) NOT NULL;
-- 删除索引
ALTER TABLE logs
DROP INDEX idx_created_at;
- 删除表:使用`DROP TABLE`语句删除表。
数据操作
- 插入数据:使用`INSERT INTO`语句插入数据。
- 更新数据:使用`UPDATE`语句更新数据。
- 删除数据:使用`DELETE`语句删除数据。
数据查询
- 基本查询:使用`SELECT`语句查询数据。
- 条件查询:使用`WHERE`子句添加条件。
- 排序:使用`ORDER BY`子句对结果排序。
- 分组统计:使用`GROUP BY`和聚合函数进行分组统计。
- 分页查询:使用`LIMIT`子句实现分页。
表关联
- 内连接:根据匹配的条件返回两个表中都存在的记录。
- 左连接:返回左表的所有记录,右表没有匹配的记录则显示为NULL。
- 右连接:返回右表的所有记录,左表没有匹配的记录则显示为NULL。
创建视图
- 创建视图:使用`CREATE VIEW`语句创建视图,简化复杂的查询逻辑。
- 查询视图:使用`SELECT`语句查询视图。
- 修改视图:使用`ALTER VIEW`语句修改视图。
- 删除视图:使用`DROP VIEW`语句删除视图。
例如:
创建视图:
CREATE VIEW customer_finance AS
查询视图:
SELECT
customer_id,
SUM(amount) AS total_spent,
AVG(amount) AS avg_transaction
FROM payment_transactions
WHERE transaction_status = 'completed'
WITH CHECK OPTION;
-- 视图权限管理
GRANT SELECT ON customer_finance TO finance_role;
REVOKE DELETE ON *.sensitive_table FROM 'audit_user'@'localhost';
其他常用操作
- 备份数据库:使用`mysqldump`工具备份数据库。
- 恢复数据库:使用`mysql`命令恢复数据库。
- 查看数据库状态:使用`SHOW PROCESSLIST`和`SHOW STATUS`查看数据库状态。
例如:
# 备份数据库(含压缩)
mysqldump -u root -p --single-transaction inventory_db | gzip > inventory_backup.sql.gz
# 恢复数据库
mysql -u root -p restored_db < backup_file.sql
下图是常见的SQL
总结
文章详细介绍了MySQL的基本操作命令,从数据库和表的管理、数据操作、查询优化、表关联到视图的使用等,提供了丰富的示例代码和实用技巧。强调了在实际应用中需要注意的安全性、性能优化等问题,帮助读者更高效地完成数据库管理和开发任务。