MySQL数据类型与操作:日期时间函数,表字段操作
需积分: 1 138 浏览量
更新于2024-08-04
收藏 8KB TXT 举报
本文档是关于Python与MySQL交互的学习笔记,涵盖了数据类型、日期时间函数、表字段操作、SQL查询等内容。
在Day02的回顾中,主要涉及了以下知识点:
1. 数据类型:
- 数值类型:包括整型(int)和浮点型(float)等。
- 字符类型:如字符串(str),用于存储文本信息。
- 枚举类型:
- 单选:使用enum创建,例如`enum('值1')`。
- 多选:使用set创建,如`set('值1', '值2')`。示例中的`"MySQL,Python,Study"`是一个set的例子。
- 日期时间类型:
- date:仅存储日期,如'2022-04-01'。
- time:仅存储时间,如'12:00:00'。
- datetime:包含日期和时间,如'2022-04-01 12:00:00',未指定默认为NULL。
- timestamp:包含日期和时间,且不指定时默认为系统当前时间。
2. 日期时间函数:
- NOW():返回当前日期和时间。
- CURDATE():返回当前日期。
- CURTIME():返回当前时间。
- YEAR(字段名):提取日期字段中的年份。
- DATE(字段名):提取日期字段中的日期部分。
- TIME(字段名):提取日期字段中的时间部分。
- 日期时间运算:可以进行日期时间与整数相加减的操作,如`字段名 + INTERVAL n DAY`,表示在日期上增加或减少n天。
3. 表字段操作:
- 添加(add):使用`ALTER TABLE`语句添加新字段,如`ALTER TABLE 表名 ADD 字段名 数据类型 FIRST|AFTER 另一字段名`。
- 修改(modify):更新已存在的字段类型,如`ALTER TABLE 表名 MODIFY 字段名 新数据类型`。
- 删除(drop):移除表中的字段,如`ALTER TABLE 表名 DROP 字段名`。
- 重命名(rename):改变字段名称,如`ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名`。
- 更改(change):更改字段名称和数据类型,如`ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型`。
4. 数据操作:
- 删除(DELETE):从表中删除满足条件的行,如`DELETE FROM 表名 WHERE 条件`。
- 更新(UPDATE):修改满足条件的行,如`UPDATE 表名 SET 字段1=值1, 字段2=值2 WHERE 条件`。
5. 条件表达式:
- 逻辑运算符:如`AND`、`OR`,以及短路逻辑`&&`、`||`。
- 比较运算符:`=`, `!=`, `<`, `>`, `<=`, `>=`,以及对日期时间的比较。
- 范围检查:`BETWEEN 值1 AND 值2`,`IN (值1, 值2, ...)` 和 `NOT IN (值1, 值2, ...)`。
- NULL检查:`IS NULL` 和 `IS NOT NULL`。
- 正则表达式:使用`LIKE`进行模式匹配,`_`代表任意单个字符,`%`代表任意数量的字符。
6. SQL查询:
- 排序(order by):按字段升序(ASC)或降序(DESC)排序。
- 分页(limit):限制查询结果的数量,如`LIMIT n`取前n条,`LIMIT m, n`取第m到第(m+n-1)条。
- 分组(group by):对查询结果进行分组,常与聚合函数配合使用。
- 聚合函数:如`AVG()`计算平均值,`SUM()`求和,`MAX()`取最大值,`MIN()`取最小值,`COUNT(字段)`统计非NULL值的数量。
在Day03的学习中,主要探讨了更复杂的SQL查询技巧,如嵌套查询、分组后的过滤(HAVING子句)和多表联接操作。这些技巧在处理复杂的数据分析和报表生成时非常有用。
2023-04-27 上传
2023-04-27 上传
2023-04-27 上传
2023-04-27 上传
2024-04-07 上传
2024-04-07 上传
2024-04-11 上传
2024-04-09 上传
2024-04-09 上传
Java码库
- 粉丝: 2359
- 资源: 6186
最新资源
- JavaScript实现的高效pomodoro时钟教程
- CMake 3.25.3版本发布:程序员必备构建工具
- 直流无刷电机控制技术项目源码集合
- Ak Kamal电子安全客户端加载器-CRX插件介绍
- 揭露流氓软件:月息背后的秘密
- 京东自动抢购茅台脚本指南:如何设置eid与fp参数
- 动态格式化Matlab轴刻度标签 - ticklabelformat实用教程
- DSTUHack2021后端接口与Go语言实现解析
- CMake 3.25.2版本Linux软件包发布
- Node.js网络数据抓取技术深入解析
- QRSorteios-crx扩展:优化税务文件扫描流程
- 掌握JavaScript中的算法技巧
- Rails+React打造MF员工租房解决方案
- Utsanjan:自学成才的UI/UX设计师与技术博客作者
- CMake 3.25.2版本发布,支持Windows x86_64架构
- AR_RENTAL平台:HTML技术在增强现实领域的应用