ROUND 函数的使用
https://blog.csdn.net/weixin_36836847/article/details/96287935
创建唯一索引
create unique (index) 索引名 on 表名(列名)
https://blog.csdn.net/qq_31868149/article/details/91960336
利用强制索引查询
select * from 表名 indexed BY 强制列名 where 条件
MySQL:
select * from 表名 force indexed BY 强制列名 where 条件
https://blog.csdn.net/hmyqwe/article/details/108939231
表新增列
#基本套路
ALTER ... ADD COLUMN ....
#默认添加到最后一列
ALTER TABLE `tbname`
ADD COLUMN `state` TINYINT(2) NOT NULL DEFAULT '0' COMMENT '0为添加1为编辑' ;
#指定位置添加
ALTER TABLE `tbname`
ADD COLUMN `state` TINYINT(2) NOT NULL DEFAULT '0' COMMENT '0为添加1为编辑' AFTER `column_name`;
#添加到第一列
ALTER TABLE `tbname`
ADD COLUMN `state` TINYINT(2) NOT NULL DEFAULT '0' COMMENT '0为添加1为编辑' FIRST;
创建trigger触发器
https://blog.csdn.net/lvshuocool/article/details/84646774
触发器的含义:监视某种情况,并触发某种操作;一般用于多个表之间增删改操作
基本元素:
1.监视地点(table)
2.监视事件(insert/update/delete)
3.触发时间(after/before)
4.触发事件(insert/update/delete)
基本语句:
DROP TRIGGER IF EXISTS `触发器名`;
CREATE TRIGGER 触发器名
AFTER/BEFORE INSERT/UPDATE/DELETE ON 表名
for each row #这句话在mysql是固定的
BEGIN
SQL语句;#;必须添加,否则报错
END;
SQL语句中需要注意的点:
(1)插入
BEGIN
INSERT INTO 表名(后) (列名1,列名2)
VALUES (表名(前)列名1,表名(前)列名2);
END;
条件判断
DROP TRIGGER IF EXISTS `触发器名`;
CREATE TRIGGER 触发器名
AFTER/BEFORE INSERT/UPDATE/DELETE ON 表名
for each row #这句话在mysql是固定的
BEGIN
IF 判断条件 THEN
SQL语句;#;必须添加,否则报错
END;
(2)更新
BEGIN
UPDATE 表名(后) SET(列名1,列名2)=
(表名(前)列名1,表名(前)列名2);
END;
``
提取元素中特定位置的字符
https://blog.csdn.net/qq_34579060/article/details/80283575
(1)SUBSRTING(string,position,length)
SUBSRTING(string FROM position FOR length)
注意:sqlite中是SUBSTR
序号可正可负
https://www.cnblogs.com/heyonggang/p/8117754.html
(2)可以考虑使用RIGHT、LEFT函数(MySQL有这两个函数
LEFT(str,length)
RIGHT(str,length)
全连接
https://blog.csdn.net/zjt980452483/article/details/82945663
group_concat 、concat、concat_ws用法
https://baijiahao.baidu.com/s?id=1595349117525189591&wfr=spider&for=pc
group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator ‘分隔符’] )