1.插入或替換記錄,如果存在則先洗掉再插入,不存在則直接插入
replace into 表名 values
實體:replace into emp(id,ename,age,job,add_time) values('5','you',34,'waiter',now());//insert陳述句替換為replace,其它不變
2.插入或更新記錄,插入一條記錄,如果該記錄存在則更新
INSERT INTO ... ON DUPLICATE KEY UPDATE ...
實體:insert into emp(id,ename,age,job,add_time) values(6,'sfd',12,'model',now()) on duplicate key update ename='jj',age=255;
3.插入或忽略,如果我們插入一條記錄,如果記錄已存在就啥也不干忽略,
insert ignore into 表名 values
實體:insert ignore into emp(id,ename,age,job,add_time) values(7,'fff',12,'model',now()) ;
4.快照
create table tablename select * from tablename
實體:create table emp_tmp select * from emp where id='5';
新表跟舊表 表結構一致,資料根據查詢條件來,
5.插入查詢結果集
insert into select
實體:insert into emp_tmp(ename,age) select ename,age from emp where ename='you';
6.強制使用索引
資料庫查詢優化器通常會分析sql陳述句采用最合適的索引,但這不是絕對的,不一定總能使用最優索引,如果我們很清楚最優索引,那么可以強制使用
select * from 表名 force index(索引名) where
實體:select * from emp force index(index_age) where age=12 order by age desc;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/250582.html
標籤:MySQL
上一篇:Mysql排名問題
下一篇:MySQL 正則運算式
