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

mysql 常用知识点总结

MySQL 是一种广泛使用的关系型数据库管理系统(RDBMS),它基于结构化查询语言(SQL)。了解 MySQL 的语法对数据库管理和操作非常重要。以下是 MySQL 语法的详细完整解释,涵盖基本概念、创建表、查询、修改数据等内容。

1.基础概念

  • 数据库 (Database): 数据库是存储数据的容器,里面可以包含多个表。

  • 表 (Table): 表是数据库中的核心元素,包含行(记录)和列(字段)。

  • 行 (Row): 一行数据代表表中的一条记录。

  • 列 (Column): 列是数据的属性,每个列都有一个特定的数据类型。

  • 数据类型 (Data Types): 定义列中数据的类型,如整数、浮点数、字符串、日期等。

    数据类型描述
    INT整数
    FLOAT浮点数
    VARCHAR变长字符串
    CHAR固定长度字符串
    TEXT大文本
    DATE日期(格式:YYYY-MM-DD)
    DATETIME日期和时间(格式:YYYY-MM-DD HH:MM:SS)

2.数据库和表管理

  • 数据库

    • 连接数据库

      mysql-u 用户名-p
    • 创建数据库

      CREATEDATABASEdb_name;
    • 选择数据库

      USEdb_name;
    • 查看现有数据库

      SHOWDATABASES;
    • 删除数据库

      DROPDATABASEdb_name;
    • 创建表

      CREATETABLEtable_name(column_name1 data_type constraints,column_name2 data_type constraints,...);
      • constraints: 列的约束,如PRIMARY KEYNOT NULL等。
      CREATETABLEstudents(idINTPRIMARYKEY,nameVARCHAR(50)NOTNULL,ageINT,enrollment_dateDATE);
    • 查看表结构

      DESCRIBEtable_name;
    • 删除表

      DROPTABLEtable_name;
    • 修改表结构

      • 添加新列:
        ALTERTABLEtable_nameADDnew_column_name data_type;
      • 修改列类型:
        ALTERTABLEtable_nameMODIFYcolumn_name new_data_type;
      • 删除列:
        ALTERTABLEtable_nameDROPCOLUMNcolumn_name;

3.表 操作

3.1 基本操作
  • 查询
    SELECTcolumn1,column2,...FROMtable_name;# 条件过滤SELECTcolumn1,column2,...FROMtable_nameWHEREcondition;# 排序SELECT*FROMtable_nameORDERBYcolumn1[ASC|DESC];# 限制个数SELECT*FROMtable_nameLIMITnumber;
  • 插入数据
    INSERTINTOtable_name(column1,column2,...)VALUES(value1,value2,...);
3.2 聚合函数
  • COUNT():返回记录数
  • SUM():返回总和
  • AVG():返回平均值
  • MIN():返回最小值
  • MAX():返回最大值

示例:

SELECTCOUNT(*)FROMstudents;
3.3 更新数据
UPDATEtable_nameSETcolumn1=value1,column2=value2WHEREcondition;

示例:

UPDATEstudentsSETage=21WHEREid=1;
3.4 删除数据
DELETEFROMtable_nameWHEREcondition;

示例:

DELETEFROMstudentsWHEREid=1;

4.连接 (JOIN) 操作

  • 内连接 (INNER JOIN): 返回两个表中匹配的记录。

    SELECTcolumnsFROMtable1INNERJOINtable2ONtable1.column=table2.column;
  • 左连接 (LEFT JOIN): 返回左表中的所有记录,即使右表中没有匹配。

    SELECTcolumnsFROMtable1LEFTJOINtable2ONtable1.column=table2.column;
  • 右连接 (RIGHT JOIN): 返回右表中的所有记录,即使左表中没有匹配。

    SELECTcolumnsFROMtable1RIGHTJOINtable2ONtable1.column=table2.column;

5.视图和索引 (Index)

  • 索引

    • 创建索引

      CREATEINDEXindex_nameONtable_name(column_name);
    • 删除索引

      DROPINDEXindex_nameONtable_name;
  • 视图

    • 创建视图

      CREATEVIEWview_nameASSELECTcolumnsFROMtable_nameWHEREcondition;
    • 删除视图

      DROPVIEWview_name;

6.事务 (Transaction)

事务确保一组 SQL 操作要么全部执行,要么全部不执行。

  • 开始事务

    STARTTRANSACTION;
  • 提交事务

    COMMIT;
  • 回滚事务

    ROLLBACK;

7.触发器 (Trigger)

触发器在某个事件(如插入、更新或删除)发生时自动执行。

  • 创建触发器

    CREATETRIGGERtrigger_name BEFORE|AFTERINSERT|UPDATE|DELETEONtable_nameFOR EACH ROWBEGINSQL_statements;END;
  • 删除触发器

    DROPTRIGGERtrigger_name;

这是 MySQL 的完整语法概述,适用于基本数据库操作、数据查询、表结构管理、索引、事务、存储过程等内容。通过学习和使用这些语法,能够有效管理和查询数据库。

http://www.jsqmd.com/news/868888/

相关文章:

  • Spring Security OAuth高危漏洞修复指南:状态校验与JWT scope越权防护
  • UE5 GAS中FGameplayEffectContext的深度应用与定制
  • 探索Pandas groupby的各种技巧和应用实例
  • STM32F103用CubeMX测按键时长:从原理到代码,手把手教你实现高精度脉宽测量
  • 技术人创业失败复盘:我们烧完500万学到的教训
  • 基于Netty的TCP客户端实现与优化:封装断线重连、连接保持、处理线程池重连TCP之后获取Chanel失败问题
  • LVGL与GUI Guider嵌入式GUI开发实战:从环境搭建到性能优化
  • 运算放大器核心参数解析与电路设计实战指南
  • adb 常用指令
  • 微软转型:从Windows依赖到云与AI双引擎驱动的技术架构解耦
  • 鱼类检测 - 目标检测数据集(2026 新增草鱼 + 鲢鱼标注|VOC+YOLO 双格式)
  • SAP变式被锁死怎么办?手把手教你用RSVARENT程序绕过DB278权限错误
  • peerstream像素流多服务器部署(多流实现原理)
  • 硬件工程师的PSpice效率手册:如何快速为复杂封装器件(如7引脚MOS管)创建自定义仿真符号
  • 2026年评价高的特种线缆/电力线缆/新疆低压电力电缆/新疆电力电缆推荐品牌厂家 - 品牌宣传支持者
  • 昇腾CANN cann-samples:从示例代码到生产力工具的全路径
  • 年产2万吨山楂酒工厂的设计-发酵工段及车间的设计(lunwen+任务书+cad图纸)
  • Elm Native UI开发环境配置:完整的环境搭建与依赖管理教程
  • 3步解决AlphaFold 3输出文件格式兼容问题:MMCIF到PDB快速转换指南
  • 7步搞定MASA全家桶汉化包:让你的Minecraft模组说中文
  • 从PFM到CCM:手把手教你用示波器看懂MP2332的SW波形,理解DC-DC的“呼吸”与“心跳”
  • Java读取Word图片坐标位置的方法
  • 超过2000款手柄支持!SDL_GameControllerDB覆盖平台与设备清单
  • 量子误差缓解与PEC技术:NISQ时代的噪声应对方案
  • 如何为 publiccode.asia 项目贡献代码:开发者入门指南
  • 介观尺度下的量子纠缠:从EPR佯谬到原子团贝尔测试
  • 原子制造核心技术:物质间相互作用原理与工程实践解析
  • k8s之基本环境准备
  • Open Generative AI科研应用:科学可视化与数据呈现的AI工具
  • Elm Native UI社区资源汇总:如何获取帮助和贡献代码的完整指南