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

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

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

文章目录

  • 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的重点知识点。

相关文章:

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

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 MySQL重点知识点MySQL知识点总结一、数据库基础二、MySQL的基本使用三、数据类型四、触发器(Trigger)五、存储引擎六、索引七、事务处理八、…...

X86路由搭配rtl8367s交换机

x86软路由,买双网口就好。或者单网口主板,外加一个pcie千兆。 华硕h81主板戴尔i350-T2双千兆,做bridge下载,速度忽高忽低。 今天交换机到货,poe供电,还是网管,支持Qvlan及IGMP Snooping&#xf…...

Linux环境基础开发工具的使用(apt, vim, gcc, g++, gbd, make/Makefile)

目录 什么是软件包 Linux 软件包管理器 apt 认识apt 查找软件包 安装软件 如何实现本地机器和云服务器之间的文件互传 卸载软件 Linux编辑器 - vim vim的基本概念 vim下各模式的切换 vim命令模式下各指令汇总 vim底行模式个指令汇总 Linux编译器 - gcc/g gcc/g的作…...

多模态论文笔记——ViViT

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细解读多模态论文《ViViT: A Video Vision Transformer》,2021由google 提出用于视频处理的视觉 Transformer 模型,在视频多模态领域有…...

搜索与图论复习1

1深度优先遍历DFS 2宽度优先遍历BFS 3树与图的存储 4树与图的深度优先遍历 5树与图的宽度优先遍历 6拓扑排序 1DFS&#xff1a; #include<bits/stdc.h> using namespace std; const int N10; int n; int path[N]; bool st[N]; void dfs(int u){if(nu){for(int i0;…...

【数据结构】初识链表

顺序表的优缺点 缺点&#xff1a; 中间/头部的插入删除&#xff0c;时间复杂度效率较低&#xff0c;为O(N) 空间不够的时候需要扩容。 如果是异地扩容&#xff0c;增容需要申请新空间&#xff0c;拷贝数据&#xff0c;释放旧空间&#xff0c;会有不小的消耗。 扩容可能会存在…...

第11章:根据 ShuffleNet V2 迁移学习医学图像分类任务:甲状腺结节检测

目录 1. Shufflenet V2 2. 甲状腺结节检测 2.1 数据集 2.2 训练参数 2.3 训练结果 2.4 可视化网页推理 3. 下载 1. Shufflenet V2 shufflenet v2 论文中提出衡量轻量级网络的性能不能仅仅依靠FLOPs计算量&#xff0c;还应该多方面的考虑&#xff0c;例如MAC(memory acc…...

deepseek+vscode自动化测试脚本生成

近几日Deepseek大火,我这里也尝试了一下,确实很强。而目前vscode的AI toolkit插件也已经集成了deepseek R1,这里就介绍下在vscode中利用deepseek帮助我们完成自动化测试脚本的实践分享 安装AI ToolKit并启用Deepseek 微软官方提供了一个针对AI辅助的插件,也就是 AI Toolk…...

深入理解Flexbox:弹性盒子布局详解

深入理解Flexbox&#xff1a;弹性盒子布局详解 一、Flexbox 的基本概念二、Flexbox 的核心属性1. display: flex2. flex-direction3. flex-wrap4. justify-content5. align-items6. flex 三、Flexbox 的实际应用1. 创建响应式三列布局2. 实现垂直居中3. 复杂布局的嵌套使用 四、…...

android Camera 的进化

引言 Android 的camera 发展经历了3个阶段 &#xff1a; camera1 -》camera2 -》cameraX。 正文 Camera1 Camera1 的开发中&#xff0c;打开相机&#xff0c;设置参数的过程是同步的&#xff0c;就跟用户实际使用camera的操作步骤一样。但是如果有耗时情况发生时&#xff0c;会…...

仿真设计|基于51单片机的氨气及温湿度检测报警

目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现&#xff08;protues8.7&#xff09; 程序&#xff08;Keil5&#xff09; 全部内容 资料获取 具体实现功能 &#xff08;1&#xff09;LCD1602液晶第一行显示当前的氨气值&#xff0c;第二行显示当前的温度…...

关于EDGE IMPULSE的使用与适配,包含如何学习部署在对应的板子

创建好账号后&#xff0c;可以打开主页新建一个工程 跳出这个选no就可以不用标label直接整张图训练&#xff0c;要更改可以去dashboard》labeling method改 然后在这个工程中选择添加自己的照片等数据&#xff0c;他支持这些格式的数据我们现在一般是用在openmv opencv yolo 等…...

【Python蓝桥杯备赛宝典】

文章目录 一、基础数据结构1.1 链表1.2 队列1.3 栈1.4 二叉树1.5 堆二、基本算法2.1 算法复杂度2.2 尺取法2.3 二分法2.4 三分法2.5 倍增法和ST算法2.6 前缀和与差分2.7 离散化2.8 排序与排列2.9 分治法2.10贪心法1.接水时间最短问题2.糖果数量有限问题3.分发时间最短问题4.采摘…...

数据结构 前缀中缀后缀

目录 前言 一&#xff0c;前缀中缀后缀的基本概念 二&#xff0c;前缀与后缀表达式 三&#xff0c;使用栈实现后缀 四&#xff0c;由中缀到后缀 总结 前言 这里学习前缀中缀后缀为我们学习树和图做准备&#xff0c;这个主题主要是对于算术和逻辑表达式求值&#xff0c;这…...

【cocos官方案例改】跳跃牢猫

自制游戏【跳跃牢烟】 案例解析 案例需求&#xff0c;点击鼠标控制白块左右。 资源管理器部分 在body创建一个2d精灵用作玩家。 在地下在创建一个2d精灵用来代表地面。 在body下挂在脚本。 全部脚本如下 &#xff08;在二次进行复刻时候&#xff0c;发现把代码复制上去无法…...

基于Python的药物相互作用预测模型AI构建与优化(上.文字部分)

一、引言 1.1 研究背景与意义 在临床用药过程中,药物相互作用(Drug - Drug Interaction, DDI)是一个不可忽视的重要问题。当患者同时服用两种或两种以上药物时,药物之间可能会发生相互作用,从而改变药物的疗效、增加不良反应的发生风险,甚至危及患者的生命安全。例如,…...

Day51:type()函数

在 Python 中&#xff0c;type() 是一个内置函数&#xff0c;用于返回对象的类型。它可以用于检查变量的类型&#xff0c;也可以用于动态创建新的类型。今天&#xff0c;我们将深入了解 type() 函数的使用方法。 1. 使用 type() 获取变量的类型 最常见的使用方式是将一个对象…...

因果推断与机器学习—用机器学习解决因果推断问题

Judea Pearl 将当前备受瞩目的机器学习研究戏谑地称为“仅限于曲线拟合”,然而,曲线拟合的实现绝非易事。机器学习模型在图像识别、语音识别、自然语言处理、蛋白质分子结构预测以及搜索推荐等多个领域均展现出显著的应用效果。 在因果推断任务中,在完成因果效应识别之后,需…...

计算机网络一点事(21)

第四章 网络层 功能&#xff1a;服务传输层&#xff0c;封装ip数据报&#xff08;主机到主机&#xff09; IP地址以32b表示&#xff0c;以8b为一组记十进制数 异构网络互连&#xff1a;网络结构&#xff0c;主机类型不同 路由器相互配合出IP数据报生成表&#xff0c;根据表…...

springboot使用rabbitmq

使用springboot创建rabbitMQ的链接。 整个项目结构如下&#xff1a; 1.maven依赖 <dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>3.4.1</version> </dependency>application.y…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

ES6从入门到精通:前言

ES6简介 ES6&#xff08;ECMAScript 2015&#xff09;是JavaScript语言的重大更新&#xff0c;引入了许多新特性&#xff0c;包括语法糖、新数据类型、模块化支持等&#xff0c;显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var&#xf…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)

题目 做法 启动靶机&#xff0c;点进去 点进去 查看URL&#xff0c;有 ?fileflag.php说明存在文件包含&#xff0c;原理是php://filter 协议 当它与包含函数结合时&#xff0c;php://filter流会被当作php文件执行。 用php://filter加编码&#xff0c;能让PHP把文件内容…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...