ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
#### **介绍** 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转换返回到前端