当前位置: 首页 > news >正文

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的基本操作命令,从数据库和表的管理、数据操作、查询优化、表关联到视图的使用等,提供了丰富的示例代码和实用技巧。强调了在实际应用中需要注意的安全性、性能优化等问题,帮助读者更高效地完成数据库管理和开发任务。

相关文章:

  • Java 实现快速排序算法:一条快速通道,分而治之
  • 超详细介绍map(multimap)的使用
  • JVM生产环境问题定位与解决实战(二):JConsole、VisualVM到MAT的高级应用
  • 【原创】Windows11安装WSL“无法解析服务器的名称或地址”问题解决方法
  • rust 前端npm依赖工具rsup升级日志
  • 独立开发者之Google Analytics使用教程
  • 文字语音相互转换
  • 玩机日记 11 解决fnOS识别不了虚拟核显的问题
  • 01-03基于vs2022的c语言笔记——软件安装,写程序前的准备,初识c语言
  • pyecharts介绍
  • 从基础到模块化:深度解析RAG技术演进如何重塑AI知识边界
  • 系统升级过程中如何实现数据的平滑迁移
  • MySQL 主从同步延迟:原因剖析与解决之道
  • 图片爬取案例
  • Spring Boot 项目启动命令大全:参数详解与高阶用法
  • Android之APP更新(通过接口更新)
  • Unity 协程
  • SpringBoot五:Web开发
  • ubuntu20.04音频aplay调试
  • BUUCTF--[极客大挑战 2019]RCE ME
  • 联合国:欢迎俄乌伊斯坦布尔会谈,希望实现全面停火
  • 官方通报汕头违建豪宅“英之园”将强拆:对有关人员严肃追责问责
  • 俄媒:俄乌代表团抵达谈判会场
  • 中国首艘海洋级智能科考船“同济”号试航成功,可搭载水下遥控机器人
  • 基金经理调仓引发大金融板块拉升?公募新规落地究竟利好哪些板块
  • 蚊媒传染病、手足口病……上海疾控发布近期防病提示