【自学笔记】MySQL的重点知识点-持续更新

ops/2025/2/2 19:17:14/

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • MySQL重点知识点
      • MySQL知识点总结
        • 一、数据库基础
        • 二、MySQL的基本使用
        • 三、数据类型
        • 四、触发器(Trigger)
        • 五、存储引擎
        • 六、索引
        • 七、事务处理
        • 八、用户权限管理
  • 总结


MySQL重点知识点

MySQL知识点总结

一、数据库基础
  • 数据库定义数据库是一个有组织的集合,用于存储和管理数据的系统。它提供数据的快速访问和处理,并支持数据的增加、修改、删除和查询。
  • 数据库管理系统(DBMS)数据库管理系统是数据库的核心组成部分,用于管理数据库的创建、维护、访问和操作。常见的DBMS包括MySQL、Oracle、SQL Server等。
  • 数据模型:不同的DBMS可能支持不同的数据模型,如关系型、文档型、图形型等。MySQL主要支持关系型数据模型。
二、MySQL的基本使用
  • 连接服务器:使用mysql -h 主机名 -P 端口号 -u 用户名 -p命令连接MySQL服务器。
  • 服务器管理:可以通过服务管理器对MySQL服务器进行启动、停止、暂停和重启等操作。
  • 数据库和表操作
    • 创建数据库CREATE DATABASE 数据库名 charset utf8;
    • 查看数据库SHOW DATABASES;
    • 选择数据库USE 数据库名;
    • 删除数据库DROP DATABASE 数据库名;
    • 创建表:CREATE TABLE 表名 (字段名1 类型 [(宽度) 约束条件], 字段名2 类型 [(宽度) 约束条件], ...);
    • 查看表结构:DESC 表名;
    • 删除表:DROP TABLE 表名;
三、数据类型

MySQL支持多种数据类型,包括:

  • 整数类型:TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT
  • 浮点类型:FLOAT、DOUBLE
  • 定点数类型:DECIMAL
  • 位类型:BIT
  • 日期时间类型:YEAR、TIME、DATE、DATETIME、TIMESTAMP
  • 文本字符串类型:CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT
  • 枚举类型:ENUM
  • 集合类型:SET
  • 二进制字符串类型:BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB
  • JSON类型:JSON对象、JSON数组
四、触发器(Trigger)
  • 定义:触发器是一种特殊的存储过程,它在某个表上的数据发生变化时自动执行。
  • 语法CREATE TRIGGER triggerName BEFORE|AFTER INSERT|UPDATE|DELETE ON tableName
  • 执行语句块:触发器可以包含单条SQL语句或由BEGIN...END结构组成的复合语句块。
  • 示例:当创建的员工的工资大于其领导时,就报错。
DELIMITER $
CREATE TRIGGER salary_check_trigger
BEFORE INSERT ON employees
FOR EACH ROW
BEGINDECLARE mgr_sal DOUBLE;SELECT salary INTO mgr_sal FROM employees WHERE employee_id = NEW.manager_id;IF NEW.salary > mgr_sal THENSIGNAL SQLSTATE 'HY000' SET MESSAGE_TEXT = '错误,插入的薪资高于其领导';END IF;
END$
DELIMITER ;
  • 查看触发器:使用SHOW TRIGGERS\G查看数据库中定义的所有触发器,使用SHOW CREATE TRIGGER 触发器名\G查看某个触发器的定义。
  • 删除触发器:使用DROP TRIGGER IF EXISTS 触发器名;删除触发器。
五、存储引擎
  • InnoDB:MySQL的默认存储引擎,支持事务处理、行级锁定和外键。
  • MyISAM:不支持事务处理,但提供了较快的查询速度。
  • 其他存储引擎:如Memory、CSV、Archive等,各有不同的特点和适用场景。
六、索引
  • 定义:索引是数据库表中一列或多列的值进行排序的一种结构,可以加快查询速度。
  • 类型:包括聚簇索引、非聚簇索引(二级索引、辅助索引)、联合索引等。
  • 创建索引:使用CREATE INDEX语句创建索引。
  • 查看索引:使用SHOW INDEX FROM 表名;查看表中的索引。
  • 删除索引:使用DROP INDEX语句删除索引。
七、事务处理
  • 定义:事务是一组要么全部执行成功,要么全部不执行的SQL语句。
  • 特性:ACID特性,即原子性、一致性、隔离性和持久性。
  • 控制语句
    • 开始事务:START TRANSACTION;
    • 提交事务:COMMIT;
    • 回滚事务:ROLLBACK;
八、用户权限管理
  • 创建用户:使用CREATE USER语句创建新用户。
  • 授权:使用GRANT语句为用户授权。
  • 查看权限:使用SHOW GRANTS FOR语句查看用户的权限。
  • 撤销权限:使用REVOKE语句撤销用户的权限。
  • 删除用户:使用DROP USER语句删除用户。

以上是MySQL的一些主要知识点,涵盖了数据库基础、MySQL的基本使用、数据类型、触发器、存储引擎、索引、事务处理以及用户权限管理等方面。

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,自学记录MySQL的重点知识点。


http://www.ppmy.cn/ops/155106.html

相关文章

C# OpenCV机器视觉:图像去雾

在一座常年被雾霾笼罩的城市里,生活着一位名叫阿强的摄影爱好者。阿强对摄影痴迷到骨子里,他总梦想着能捕捉到城市最真实、最美的瞬间,然后把这些美好装进他的镜头,分享给全世界。可这雾霾就像个甩不掉的大反派,总是在…

深度研究新范式:通过Ollama和DeepSeek R1实现自动化研究

引言 在信息时代,海量数据的产生与传播速度前所未有地加快,这既为研究者提供了丰富的资源,也带来了信息筛选与处理的巨大挑战。 传统研究方法往往依赖于研究者的个人知识库、文献检索技能以及时间投入,但面对指数级增长的数据量…

Effective Objective-C 2.0 读书笔记—— objc_msgSend

Effective Objective-C 2.0 读书笔记—— objc_msgSend 文章目录 Effective Objective-C 2.0 读书笔记—— objc_msgSend引入——静态绑定和动态绑定OC之中动态绑定的实现方法签名方法列表 其他方法objc_msgSend_stretobjc_msgSend_fpretobjc_msgSendSuper 尾调用优化总结参考文…

讯飞星火大模型API使用Python调用

本文仅仅为简单API调用,更多复杂使用方法请参见接口文档 先在科大讯飞开放平台注册账号,点击控制台,在我的应用中创建新应用,新应用的名称可以自定义,这里我写的是ai对话: 在这里我们使用的模型为Speak Ul…

PHP htmlspecialchars()函数详解

PHP htmlspecialchars()函数详解 htmlspecialchars函数多常用于防止xss攻击,htmlspecialchars函数要转义单引号需要设置第二个参数为ENT_QUOTES,转义双引号需要设置第二个参数为ENT_NOQUOTES 一、定义和用法 htmlspecialchars() 函数把一些预定义的字…

Java 分布式与微服务架构:现代企业应用开发的新范式

Java学习资料 Java学习资料 Java学习资料 一、引言 在当今数字化时代,企业应用面临着越来越高的性能、可扩展性和灵活性要求。传统的单体架构在应对大规模用户访问、复杂业务逻辑和频繁的功能迭代时,逐渐暴露出诸多问题。Java 分布式与微服务架构应运…

国产编辑器EverEdit - 目录树

1 目录树 1.1 应用场景 在编辑文档时,一些关联文档可能都存放在相同的目录或者相近的目录,如果可以显示当前文件的目录树,则可以快速的在这些关联文件中切换。 1.2 使用方法 选择菜单查看 -> 停靠窗格 -> 目录树,在目录树…

STM32 TIM输入捕获 测量频率

输入捕获简介: IC(Input Capture)输入捕获 输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数 每个高级定时器…