mysql里面灰色_MySQL实用技巧

自增Id重新计数       TRUNCATE TABLE 表名

获取最后插入数据的ID   SELECT LAST_INSERT_ID();

使用"id1,id2,id3"当参数  FIND_IN_SET(id,"id1,id2,id3,")

返回受影响行数      FOUND_ROWS() : select

ROW_COUNT() : update delete insert.

大小写敏感   在查询敏感字段前加 BINARY

查询结果去重  DISTINCT

模糊查询    Like CONCAT('%',keyword,'%')

随机查询数据  ORDER BY rand() LIMIT 5

查询上一个

SELECT MAX(id) INTO count FROM sys_notepad WHERE id<_id>

SELECT * FROM sys_notepad WHERE id=count;

查询下一个

SELECT * FROM sys_notepad WHERE id>_id LIMIT 1;

从别的表查询数据|给定值 插入到当前表

INSERT INTO (collection1,collection2,addTime) (SELECT value,collection2,NOW() FROM 表 WHERE id=_id );

从老表赋值新表的相关字段 update set select

UPDATE tb1 new INNER JOIN tb1=2 old ON new.Name=old.Name SET new.Key1=old.Key1,new.Key2=old.Key2,new.Key3=old.Key3

定义变量  DECLARE 变量名 类型 DEFAULT 默认值;

日期计算

返回天数 SELECT DATEDIFF('2015-01-01 19:00:00','1991-01-01 00:00:00');

返回秒数 SELECT UNIX_TIMESTAMP('2015-01-01 19:00:01')-UNIX_TIMESTAMP('1991-01-01 00:00:00')

复制表结构

1。获取语句

SHOW CREATE TABLE 表名

2。C#取语句

MySqlDataReader reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

while (reader.Read())

{

GetSQL = reader[1].ToString().Replace("\n", "");

}

慢:WHERE name like "MySQL%"

快:WHERE name>="MySQL"and name

慢:WHERE Amount/7<24;

快:WHERE Amount<24*7;

//分组排序

select *,ROW_NUMBER() over(partition by convert(varchar(10),SessionTime, 120) order by ID) as new_index from WC_MessageRelation

//有更新时间和添加时间的,添加记录时必须插入更新时间

//拼接SQL语句

BEGIN

SET @sel = 'DELETE FROM us_projectpipeline where Id in (';

SET @sentence = concat(@sel,_id,')'); -- 连接字符串生成要执行的SQL语句

prepare stmt from @sentence; -- 预编释一下。 “stmt”预编释变量的名称,

execute stmt; -- 执行SQL语句

deallocate prepare stmt;-- 释放资源

SET @sel1= 'select count(Id) from us_projectpipeline where Id IN (';

SET @sentence1 = concat(@sel1,_id,')'); -- 连接字符串生成要执行的SQL语句

prepare stmt1 from @sentence1; -- 预编释一下。 “stmt”预编释变量的名称,

execute stmt1; -- 执行SQL语句

deallocate prepare stmt1;

END

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值