MySQL企业开发中高频使用语句

以下是企业级MySQL开发中高频使用的语句分类及示例,结合典型业务场景说明:


一、数据定义(DDL)

  1. 表结构管理

    -- 创建用户表(含索引优化)
    CREATE TABLE user (
      id INT PRIMARY KEY AUTO_INCREMENT,
      name VARCHAR(50) NOT NULL COMMENT '用户名',
      email VARCHAR(100) UNIQUE COMMENT '邮箱',
      created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
    

    用途:定义核心业务表结构,包含主键、约束和存储引擎选择

  2. 动态修改表结构

    -- 添加索引与字段扩展 
    ALTER TABLE user 
      ADD INDEX idx_name (name),
      ADD COLUMN phone VARCHAR(20) AFTER email;
    

    场景:应对业务需求变更时的快速表结构调整


二、数据操作(DML)

  1. 批量插入与更新

    -- 从临时表导入数据 
    INSERT INTO order_detail (product_id, quantity)
    SELECT product_id, SUM(qty) FROM temp_order GROUP BY product_id;
    
    -- 关联更新用户状态 
    UPDATE user u 
    JOIN user_status s ON u.id = s.user_id 
    SET u.is_active = 1 
    WHERE s.last_login > '2025-01-01';
    

    用途:数据迁移与批量业务状态更新

  2. 条件删除

    -- 清理无效数据 
    DELETE FROM log 
    WHERE created_at < '2024-01-01' 
    LIMIT 1000;
    

    优化点:限制删除条数防止事务锁表


三、数据查询(DQL)

  1. 多表关联与聚合

    -- 统计部门销售额 
    SELECT d.dept_name, SUM(o.amount) AS total_sales 
    FROM department d 
    LEFT JOIN orders o ON d.id = o.dept_id 
    GROUP BY d.dept_name 
    HAVING total_sales > 100000;
    

    场景:生成业务报表

  2. 分页优化查询

    -- 使用覆盖索引加速分页 
    SELECT id, name 
    FROM user 
    WHERE created_at > '2025-01-01'
    ORDER BY id DESC 
    LIMIT 100000, 20;
    

    技巧:避免OFFSET过大导致性能问题


四、权限与安全管理

  1. 用户权限控制

    -- 创建只读账户 
    CREATE USER 'report_user'@'%' IDENTIFIED BY 'SecurePass123!';
    GRANT SELECT ON sales_db.* TO 'report_user'@'%';
    FLUSH PRIVILEGES;
    

    安全实践:最小权限原则

  2. 密码策略更新

    -- 修改用户密码并设置过期 
    ALTER USER 'admin'@'localhost' 
      IDENTIFIED BY 'NewPass!2025' 
      PASSWORD EXPIRE INTERVAL 90 DAY;
    

    合规要求:满足企业安全审计标准


五、高级处理

  1. 数据聚合与格式转换

    -- 将多行合并为字符串(如标签系统)
    SELECT product_id, 
      GROUP_CONCAT(category_name SEPARATOR '|') AS categories 
    FROM product_category 
    GROUP BY product_id;
    

    应用场景:前端展示或数据导出

  2. 事务控制

    START TRANSACTION;
    UPDATE account SET balance = balance - 500 WHERE user_id = 1001;
    UPDATE account SET balance = balance + 500 WHERE user_id = 1002;
    COMMIT;
    

    关键点:保证金融类业务原子性


高频优化技巧

  • 索引分析:EXPLAIN SELECT ... 查看执行计划
  • 慢查询日志:SET GLOBAL slow_query_log = ON;
  • 连接池配置:SHOW STATUS LIKE 'Threads_connected';

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/978460.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

每日Attention学习24——Strip Convolution Block

模块出处 [TIP 21] [link] CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery 模块名称 Strip Convolution Block (SCB) 模块作用 多方向条形特征提取 模块结构 模块特点 类PSP设计&#xff0c;采用四个并行分支提取不同维度的信息相比于…

ctfshow——版本控制泄露源码

题目提示&#xff1a;版本控制很重要&#xff0c;但不要部署到生产环境更重要。 题目内容如下图所示 本题结合题目和提示可以知道&#xff0c;我们要通过查看生产环境来查找flag。 所以我们可以在URL上进行操作&#xff0c;这时候就需要目录扫描来查看了。 发现存在一个.git的…

关于网络端口探测:TCP端口和UDP端口探测区别

网络端口探测是网络安全领域中的一项基础技术&#xff0c;它用于识别目标主机上开放的端口以及运行在这些端口上的服务。这项技术对于网络管理和安全评估至关重要。在网络端口探测中&#xff0c;最常用的两种协议是TCP&#xff08;传输控制协议&#xff09;和UDP&#xff08;用…

某住宅小区地下车库安科瑞的新能源汽车充电桩的配电设计与应用方案 安科瑞 耿笠

摘要&#xff1a;纯电动商用车的工作环境存在路况复杂、工况恶劣等情况&#xff0c;导致整车电气设备的磨损速率加快&#xff0c;造成电气设备绝缘电阻持续下降&#xff0c;如不及时处理&#xff0c;可能存在安全隐患或引发重大安全事故。文章从绝缘故障检测原理出发&#xff0…

LeetCode详解之如何一步步优化到最佳解法:14. 最长公共前缀

LeetCode详解系列的总目录&#xff08;持续更新中&#xff09;&#xff1a;LeetCode详解之如何一步步优化到最佳解法&#xff1a;前100题目录&#xff08;更新中...&#xff09;-CSDN博客 LeetCode详解系列的上一题链接&#xff1a;LeetCode详解之如何一步步优化到最佳解法&am…

使用VS Code远程开发OpenAI API

由于OpenAI的API在国内不可用&#xff0c;我们要针对API进行开发困难比较大。 如果你有一个能使用OpenAI API的Linux服务器&#xff0c;我们可以方便地使用VS Code的远程开发功能来解决这个问题。 如果没有&#xff0c;你也可以试试获得一个免费的国外服务器&#xff0c;网上有…

代码审计入门学习

简介 HadSky轻论坛程序为个人原创PHP系统&#xff0c;作者为蒲乐天&#xff0c;后端基于puyuetianPHP框架驱动&#xff0c;前端基于 puyuetianUI框架驱动&#xff0c;默认编辑器为puyuetianEditor富文本编辑器&#xff0c;其他非原创框架及驱动JQuery.js 及Font-Awesome字体库…

Java线程池入门03

1. 这3种创建线程池的方式有风险 FixedThreadPool : 固定大小的线程池SingleThreadExecutor : 单个线程的线程池CachedThreadPool : 可缓存的线程池 FixedThreadPool内部其实也是使用ThreadPoolExecutor来创建的 等价于 : new ThreadPoolExecutor(nThreads, nThreads, 0L, Tim…

C#连接sql server

连接时&#xff0c;出现如下提示&#xff1a; ERROR [IM014] [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中&#xff0c;驱动程序和应用程序之间的体系结构不匹配 原因是odbc的驱动和应用程序的架构不一致。我的odbc如下所示&#xff1a; 显示为64位&#xff0c;而c#程序显…

【实战 ES】实战 Elasticsearch:快速上手与深度实践-1.1.2典型应用场景:日志分析、实时搜索、推荐系统

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 为什么选择Elasticsearch&#xff1f;——典型应用场景深度解析1. 引言2. 日志分析&#xff1a;海量数据的实时洞察2.1 行业痛点2.2 ES解决方案关键技术实现&#xff1a; 2.…

SQLite 安装教程以及可视化工具介绍

目录 简述 1. Windows 系统安装 1.1 下载预编译的二进制文件 1.2 解压文件 1.3 配置环境变量 1.4 验证安装 2. GUI 可视化工具 2.1 免费工具 2.1.1 DB Browser for SQLite 2.1.2 SQLiteStudio 2.1.3 SQLite Expert 2.1.4 SQLiteGUI 2.1.5 Antares SQL 2.1.6 DbGa…

C#快速调用DeepSeek接口,winform接入DeepSeek查询资料 C#零门槛接入DeepSeek C#接入DeepSeek源代码下载

下载地址<------完整源码 在数字化转型加速的背景下&#xff0c;企业应用系统对智能服务的需求日益增长。DeepSeek作为先进的人工智能服务平台&#xff0c;其自然语言处理、图像识别等核心能力可显著提升业务系统的智能化水平。传统开发模式下&#xff0c;C#开发者需要耗费大…

IP------PPP协议

这只是IP的其中一块内容PPP&#xff0c;IP还有更多内容可以查看IP专栏&#xff0c;前一章内容为网络类型&#xff0c;可通过以下路径查看IP---网络类型-CSDN博客&#xff0c;欢迎指正 3.PPP协议 1.PPP优点 网络类型&#xff1a;p2p PPP---点到点协议 兼容性会更强凡是接口或…

山东大学软件学院ai导论实验之生成对抗网络

目录 实验目的 实验代码 实验内容 实验结果 实验目的 基于Pytorch搭建一个生成对抗网络&#xff0c;使用MNIST数据集。 实验代码 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data…

【Java 面试 八股文】JVM 虚拟机篇

JVM 虚拟机篇 1. JVM组成1.1 JVM由那些部分组成&#xff0c;运行流程是什么&#xff1f;1.2 什么是程序计数器&#xff1f;1.3 你能给我详细的介绍Java堆吗?1.4 Java 虚拟机栈1.4.1 Java Virtual machine Stacks (java 虚拟机栈)1.4.2 栈和堆的区别1.4.3 垃圾回收是否涉及栈内…

钉钉MAKE AI生态大会思考

1. 核心特性 1.1 底层模型开放 除原有模型通义千问外,新接入猎户星空、智普、MinMax、月之暗面、百川智能、零一万物。 1.2 AI搜索 AI搜索贯通企业和个人散落在各地的知识(聊天记录、文档、会议、日程、知识库、项目等),通过大模型对知识逻辑化,直接生成搜索的答案,并…

flex布局自定义一行几栏,靠左对齐===grid布局

模板 <div class"content"><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"item">1222</div><div class"…

当下弹幕互动游戏源码开发教程及功能逻辑分析

当下很多游戏开发者或者想学习游戏开发的人&#xff0c;想要了解如何制作弹幕互动游戏&#xff0c;比如直播平台上常见的那种&#xff0c;观众通过发送弹幕来影响游戏进程。需要涵盖教程的步骤和功能逻辑的分析。 首先&#xff0c;弹幕互动游戏源码开发教程部分应该分步骤&…

jdk21下载、安装(Windows、Linux、macOS)

Windows 系统 1. 下载安装 访问 Oracle 官方 JDK 下载页面 或 OpenJDK 下载页面&#xff0c;根据自己的系统选择合适的 Windows 版本进行下载&#xff08;通常选择 .msi 安装包&#xff09;。 2. 配置环境变量 右键点击 “此电脑”&#xff0c;选择 “属性”。 在左侧导航栏…

2.部署kafka:9092

官方文档&#xff1a;http://kafka.apache.org/documentation.html (虽然kafka中集成了zookeeper,但还是建议使用独立的zk集群) Kafka3台集群搭建环境&#xff1a; 操作系统: centos7 防火墙&#xff1a;全关 3台zookeeper集群内的机器&#xff0c;1台logstash 软件版本: …