mysql

MYSQL

一、MySQL基础核心

数据类型
  • 整型:tinyint、smallint、mediumint、int、bigint(支持unsigned/AUTO_INCREMENT)
  • 小数类型:float(4字节)、double(8字节)、decimal(精确型,M+2字节)
  • 字符串类型:char(固定长)、varchar(可变长)、text系列、BLOB系列
  • 日期时间类型:DATE(日期)、DATETIME(日期时间)、TIMESTAMP、TIME、YEAR
  • 其他类型:ENUM、SET、BINARY、VARBINARY、Geometry等
运算符
  • 算术运算符:+、-、*、/、%(求余)
  • 比较运算符:=、<=>、<>/!=、BETWEEN...AND、IN、NOT IN、LIKE、IS NULL等
  • 逻辑运算符:AND/&&、OR/||、NOT/!、XOR(异或)
  • 位运算符:|、&、^、<<、>>、~
  • 优先级:位运算>算术运算>比较运算>逻辑运算(可通过()调整)
存储引擎
  • 查看方法:show engines;
  • 常见引擎:InnoDB(默认,支持事务/外键/行锁)、MyISAM(省空间、查询快)、CSV(中转导入)、Memory(内存存储,临时数据)
  • 数据表文件:InnoDB(.frm + ibdata1)、MyISAM( .frm表结构、.MYD数据、.MYI索引)

二、单表核心操作

插入操作(INSERT)
  • 语法:INSERT INTO 表名(字段1,...) VALUES(值1,...)、(值2,...)
  • 特点:字段与值一一对应;可省略字段(按表定义顺序);支持单行/多行插入;可结合NOW()等函数
更新操作(UPDATE)
  • 整体字段更新:UPDATE 表名 SET 字段1=值1,... WHERE 条件
  • 内容追加:文本(CONCAT(字段, "追加内容"))、数值(字段=字段+追加值)
删除操作(DELETE/TRUNCATE)
  • DELETE:DELETE FROM 表名 [WHERE 条件](支持ORDER BY/LIMIT)
  • TRUNCATE:TRUNCATE TABLE 表名(清空全表,重置AUTO_INCREMENT)
查询操作(SELECT)
  • 基础查询:查询所有(*)、指定字段、字段别名(AS)
  • 条件查询:WHERE + 关系/逻辑/范围/空值判断
  • 四则运算查询:字段运算(如score+1),支持别名显示
  • 排序查询:ORDER BY 字段 [ASC/DESC](多字段排序)
  • 限制条数:LIMIT [offset,] row_count(分页常用)
  • 统计查询:COUNT(计数)、AVG(平均)、SUM(求和)、MAX(最大)、MIN(最小)
  • 分组查询:GROUP BY 字段(结合聚合函数),HAVING过滤分组结果(支持聚合函数)
  • 正则查询:REGEXP(支持^、$、*、+、[]等通配符)

三、常用函数

日期时间函数
  • 基础函数:CURDATE()(当前日期)、NOW()(当前日期时间)、CURRENT_TIME()(当前时间)
  • 时间差函数:TIMESTAMPDIFF(单位, 时间1, 时间2)(单位:YEAR/MONTH/DAY/HOUR等)
字符串函数
  • 拼接:CONCAT(字段, 字符串)
  • 转换:UPPER(转大写)、LOWER(转小写)、TRIM(去空格)、SUBSTRING(截取)
  • 加密:MD5(字符串)(插入/更新时加密)
其他函数
  • 聚合函数:COUNT(*)(统计所有记录)、COUNT(字段)(忽略NULL)
  • 通用函数:ABS(绝对值)、ROUND(四舍五入)、LOCALTIME()(日期时间)

四、查询关键规则

关键字顺序:

SELECT → FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT

特殊注意:
  • NULL参与运算结果为NULL,需用IS NULL判断
  • WHERE过滤原始数据(不支持聚合函数),HAVING过滤分组结果(支持聚合函数/别名)
  • LIKE通配符:%(任意长度字符串)、_(单个字符)
  • DISTINCT:去重查询(如SELECT DISTINCT 字段 FROM 表名)
相关推荐
czlczl2002092517 分钟前
MAX()和MIN()优化
数据库·mysql·性能优化
Aurorar0rua1 小时前
CS50 x 2024 Notes C - 09
c语言·开发语言·学习方法
消失的旧时光-19431 小时前
SQL 第一篇:CRUD 实战,从 user 表开始写接口
数据库·sql·mysql
小江的记录本2 小时前
【Kafka核心】Kafka高性能的四大核心支柱:零拷贝、批量发送、页缓存、压缩
java·数据库·分布式·后端·缓存·kafka·rabbitmq
.小小陈.2 小时前
MySQL 核心基础:数据类型与表约束全解析
数据库·mysql
KmSH8umpK2 小时前
Redis分布式锁进阶第十二篇
数据库·redis·分布式
相醉为友2 小时前
040 Linux/裸机/RTOS 项目开发的跨平台兼容性——C语言静态接口抽象底层原理分析
linux·c语言·mcu
hERS EOUS2 小时前
MySQL 函数
数据库·mysql
gQ85v10Db2 小时前
Redis分布式锁进阶第十六篇:番外高阶避坑篇 + 隐性埋点锁故障深挖 + 疑难杂症终极兜底方案
数据库·redis·分布式
S1998_1997111609•X2 小时前
论恶意注入污染蜜罐进程函数值取仺⺋以集团犯罪获取数据爬虫的轮系依据
网络·数据库·爬虫·网络协议·百度