实用sql整理

1.插入或替换记录,若是存在则先删除再插入,不存在则直接插入sql

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 ...it

实例:insert into emp(id,ename,age,job,add_time) values(6,'sfd',12,'model',now()) on duplicate key update ename='jj',age=255;table

3.插入或忽略,若是咱们插入一条记录,若是记录已存在就啥也不干忽略。date

insert ignore into 表名 valuesselect

实例:insert ignore into emp(id,ename,age,job,add_time) values(7,'fff',12,'model',now()) ;sql语句

4.快照model

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;

相关文章
相关标签/搜索