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.cnblogs.com/hebiao/p/14291648.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!