標籤:
自增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 <TableName> (collection1,collection2,addTime) (SELECT value,collection2,NOW() FROM 表 WHERE id=_id );
定義變數 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<"MySQM"
慢: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
MySQL實用技巧