MySQL

MySQL里为什么强烈建议在明确的事务边界内进行数据操作?

什么是事务?记住一句话就行了:”要不不做,要不全做!”举个例子:银行转账就能很清晰地描述这个概念。A给B转账,首先系统先扣除A账号里的钱,然后再增加B账号里的钱,此时并不会直接修改数据,而是检查转账人与收账人的钱是否相同,然后再进行数据修改。其中一支一收,增减平衡,只有实现这个平衡,转账这个过程才能够实现。事务也是如此。如何使用事务,现在通过MySQL模拟一下:先创建个表格bank来记录用户数据:

MySQL 创建索引

创建索引主要有三种时机:1) 建表时同时创建;2) 修改已存在的表结构时添加;3) 使用专门的 `CREATE INDEX` 语句为已存在的表添加。一、三种创建索引的方法方法 1: 使用 `CREATE INDEX` 语句 (最常用)专门用于在已存在的表上创建索引(不能创建主键)。语法:CREATE [UNIQUE|FULLTEXT|SPATIAL] INDEX <索

小白数据库入门

一、学习MySQL需要多长时间? 学习MySQL的时间取决于目标深度和实践强度,大致可分为以下几个阶段: 阶段时间核心能力可担任工作基础入门1~2周掌握SQL语法(增删改查)、简单表设计数据查询、基础报表开发进阶实战1~2个月索引优化、事务控制、复杂查询(JOIN/子查询)业务系统数据库开发、CRUD优化高级优化3~6个月执行计划分析、锁机制、分库分

MySQL json_object() 函数:创建JSON对象

在MySQL中,json_object(key1, value1, key2, value2, ...) 函数用于创建JSON对象,即根据键值对参数返回对应的JSON对象。其语法格式如下:json_object(key1,value1,key2,value2,...)--返回JSON对象json_object()函数是一个JSON函数,用

MySQL8.0+ ntile() 函数:行分桶

在MySQL中,ntile(n) 函数用于将结果集分桶,即返回每行在分区内的分桶编号。其语法格式如下:ntile(n)over(partitionbyexprorderbyexpr)--返回行的分桶编号ntile()函数是一个窗口函数,用于将结果集中的行分成指定数量的桶,并为每行分配对应的桶编号。值得注

MySQL from_unixtime() 函数:将UNIX时间戳转换为日期时间

在MySQL中,from_unixtime(unix_timestamp) 函数用于将UNIX时间戳转换为日期时间,即返回UNIX时间戳对应的日期时间值。其语法格式如下:from_unixtime(unix_timestamp)--返回UNIX时间戳对应的日期时间from_unixtime()函数根据UNIX时间戳参数将其转换为对应的日期时间值(格式:YYYY-MM-DD HH:MM:

MySQL DELETE 语句

DELETE 语句是 MySQL 中用于删除表中数据的关键命令,下面我将全面介绍其使用方法及最佳实践。基本语法DELETE FROM <表名> [WHERE 条件] [ORDER BY 字段] [LIMIT 行数];关键组成部分1. WHERE 子句:确定哪些行将被删除(强烈建议使用)2. ORDER BY 子句:控制删除顺序(可选)3. LIMIT 子句:限制

MySQL lower() 函数:字符串转小写

在MySQL中,lower(str) 函数用于将字符串 str 转换为小写形式,即返回字符串的小写版本。其语法格式如下:lower(str)--返回字符串的小写形式lower()函数根据参数字符串将其中的所有大写字母转换为小写字母。值得注意的是,lower(NULL) 的返回值是NULL。下面,我们将对不同的字符串和数值进行小写转换:selectlower('DOT

默认值约束详解

默认值约束是数据库设计中一个重要的概念,它允许为表中的列指定一个默认值,当插入新记录时如果没有为该列提供值,系统会自动使用这个默认值。主要特点1. 自动填充:当插入操作未指定列值时自动使用默认值2. 数据完整性:特别适用于已设置非空约束的列,确保数据有效性3. 灵活性:可以在创建表时或之后添加、修改和删除使用方法创建表时设置默认值CREATETABL

MySQL 数据类型总结

MySQL 数据类型是定义列中可以存储什么数据以及如何存储的规则,对数据库设计和优化至关重要。以下是主要数据类型的分类和要点:数值类型整数类型:TINYINT、SMALLINT、MEDIUMINT、INT(INTEGER)、BIGINT浮点数类型:FLOAT、DOUBLE定点数类型:DECIMAL(精度更高,适合财务数据)日期/时间类型YEAR、TIME、DAT