MySQL技巧(一)
NOT IN 与 IN
假设我们又一张score表如下
我们需要查询所有不是性别代号为"0"的学生数据
SELECT * FROM score WHERE id NOT IN(SELECT id FROM score WHERE gender = );
很明显,not in 就是排除的意思。
exists 与 not exists
exists:有结果集返回则返回true,相反返回false。
not exists:与exists相反。
使用INSERT INTO.... SELECT 插入数据(将查询出的结果集插入到表中)
我们有一张student表如下:
select * from score where id > ;
我们想把上面查询的结果中的name值插入到student表中,可以用多条insert values语句,当然也可以通过insert select的形式
INSERT INTO student(name) select name from score where id > ;
SELECT *FROM student;
很明显,确实已经将查询的结果集插入到了student表中
多表更新
假设我们有这样的一张表:
不管今后从性能上还是别的考虑,当想把性别中的男用0来代替,女用1来代替的话,可以用update set 的方式进行多表更新,具体如下:
现在要做的是把score表中的性别男,女用上表中的对应id来表示:
更新score表,score表中的gender字段与gender表中的g_name 绑定,然后修改,gender的值等于 gender表中的g_id,这样就完成了多表更新
UPDATE score INNER JOIN gender ON gender = g_name SET gender = g_id;
SELECT * FROM score;
MySQL技巧(一)的更多相关文章
- Mysql技巧及问题目录
Mysql技巧及问题目录: MySQL批量导入Excel.txt数据 MySQL批量导入Excel数据
- MySql技巧个人笔记
1.数据null时sum的用法 mysql数据库SUM(A+B)不一定等于SUM(A)+SUM(B),当A或B为NULL时,SUM(A+B)=NULL. 2.or改为in 同一字段,将or改写为in( ...
- mysql技巧之select count的比较
在工作过程中,时不时会有开发咨询几种select count()的区别,我总会告诉他们使用select count(*) 就好.下文我会展示几种sql的执行计划来说明为啥是这样. 1.测试 ...
- (转载)[MySQL技巧]INSERT INTO… ON DUPLICATE KEY UPDATE
(转载)http://blog.zol.com.cn/2299/article_2298921.html MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDA ...
- mysql技巧:如果记录存在则更新/如果不存在则插入的三种处理方法
先建一个表,便于后面讨论: CREATE TABLE `t_emp` ( `f_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键id', `f_em ...
- 19 条效率至少提高 3 倍的 MySQL 技巧
阅读本文大概需要 4 分钟. 来源:https://zhuanlan.zhihu.com/p/49888088 本文我们来谈谈项目中常用的 MySQL 优化方法,共 19 条,具体如下: 1.EXPL ...
- MySQL技巧--伪哈希索引
哈希索引 哈希索引就是通过一个哈希函数计算出某个key的hash值,并以这个hash值去找到目标数据.例如:对于数据库的一行数据,对其主键进行hash运算,得到一个地址,这个地址指向这行记录的存储地址 ...
- Mysql 技巧
order by条件: SELECT * FROM tablename WHERE id_one=27 OR id_two=27 ORDER BY CASE WHEN id_one=27 THEN t ...
- mysql技巧
SELECT id,is_deleted,position,1/position as p,status FROM application.view_entry order by p desc;.// ...
- mysql技巧:按条件筛选,然后替换
1.按条件筛选,然后替换 select * from phome_ecms_tv where playurl like '%关键词%';update phome_ecms_tv set myorder ...
随机推荐
- SSAS 内部错误:操作未能成功
错误 -1056964601 : 内部错误: 操作未能成功,已终止. HY0008 是数据源的问题,设置数据源的虚拟连接就可以了
- Codeforces Round #554 (Div. 2) 1152B. Neko Performs Cat Furrier Transform
学了这么久,来打一次CF看看自己学的怎么样吧 too young too simple 1152B. Neko Performs Cat Furrier Transform 题目链接:"ht ...
- 微信自用高性能通用key-value组件MMKV已开源!
1.MMKV简介 腾讯微信团队于2018年9月底宣布开源 MMKV ,这是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,主打高性能和稳定性.近 ...
- Javascript高级编程学习笔记(49)—— DOM2和DOM3(1)DOM变化
DOM变化 我们知道DOM有许多的版本,其中DOM0和DOM2这两个级别以对事件的纳入标准而为人所知 但是呢,这里不讲事件,在后面会有专门和事件有关的部分作为详细讲解 这里就只讲一下DOM2和DOM3 ...
- 4.TableLayout、回调接口
会话详情页 listview条目布局 列,当第0列的内容过多时,不至于将其他列的内容,挤出屏幕 --> <TableLayout android:id="@+id/tl_rece ...
- PHP二维数组按照键值排序
在开发过程中,我们常常需要对二维数组按照数组的某个键来排序,这里提供两个封装好的方法,可以放到公共函数模块里以后需要的时候直接调用即可. /** * 二维数组按照键值降序排序 * @param arr ...
- rabbitmq在ios中实战采坑
1. rabbitmq在ios中实战采坑 1.1. 问题 ios使用rabbitmq连接,没过多久就断开,并报错.且用android做相同的步骤并不会报错,错误如下 Received connecti ...
- java项目引用证书文件(微信支付的p12文件)
1. 绝对路径: // windows: public static String PATH1 = "E:\\project27_app_wuyoujie\\apiclient_cert.p ...
- 推荐:7 月份值得一看的 Java 技术干货!
月底了,又到了我们总结这一个月 Java 技术干货的时候了,又到了我们给粉丝免费送书的日子了. 7 月份干货总结 Oracle 发布了一个全栈虚拟机 GraalVM 一文带你深入拆解 Java 虚拟机 ...
- [工具]K8tools github/K8工具合集/K8网盘
K8tools 20190428 声明: 工具仅供安全研究或授权渗透,非法用途后果自负. 博客: https://www.cnblogs.com/k8gege 下载: https://github.c ...