#### **介绍**
MySQL数据库服务是一个完全托管的数据库服务,可使用世界上最受欢迎的开源数据库来部署云原生应用程序。 它是百分百由MySQL原厂开发,管理和提供支持。
#### **速查清单**
```sql
SELECT VERSION(); -- mysql版本
begin;rollback;commit; -- 事务:开始、回滚、提交
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d'); -- 格式化今日(2021-08-16)
SELECT DATE_FORMAT(NOW(),'%Y-%m-%d %H:%i:%s'); -- 格式化今日(2021-08-16 06:52:06)
SELECT DATE_SUB(NOW(),INTERVAL 1 DAY); -- 一天前
SELECT DATE_FORMAT(DATE_SUB(NOW(),INTERVAL 1 DAY),'%Y-%m-%d');-- 格式化一天前
SELECT STR_TO_DATE('2021-06-01 14:03:26','%Y-%m-%d %H:%i:%s'); -- 字符串转时间
SELECT SUBSTRING('abcdefghijk',5); -- 正向范围截取子串 result:efghijk
SELECT SUBSTRING('abcdefghijk',-4); -- 反向范围截取子串 result: hijk
SELECT CONCAT('My', 'S', 'QL'); -- 连接字符串
SELECT IF(1>2,2,3); -- 选择条件
SELECT IFNULL(1,2); -- 过滤null
SELECT CASE WHEN 1>0 THEN 'true' ELSE 'false' END column_name; -- 选择条件
SELECT CASE WHEN 1>0 THEN 'one' WHEN 2>0 THEN 'two' ELSE 'more' END column_name; --选择条件
SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL, 1 = NULL; -- 可比较NULL值操作符
```
#### **ORM 框架**
**xorm**
<https://xorm.io/zh/docs/chapter-01/1.engine/>
**xormplus增强版版文档**
> 更新较慢,推荐使用原版
<https://www.kancloud.cn/xormplus/xorm/167077>
- 伪删除问题
```golang
DeletedAt jsontime.JsonTime `json:"-" xorm:"'deleted_at' deleted comment('伪删除标记')"`
```
1. 使用查询(Find、Get)时回匹配`deleted_at is null) AND (deleted_at=$2 OR deleted_at IS NULL)`语句进行过滤
2. 使用Exist则不会匹配,避免踩坑
3. 为了使其匹配上过滤条件,建议使用Table(new(model.User)),不要使用Table("user")
- QueryInterface() 问题
1. 使用改方法,注意int、float等类型的转换问题(注意使用cast等字符串转int),有可能会出现base64转换返回到前端