`
xyh
  • 浏览: 84088 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

SQL操作小技巧:对同一个表操作

阅读更多
在同一张表里,可能同时进行insert和select的操作;进行delete和select的操作;或者update和select的操作。

现在以Mysql5.1为例。

表的定义:
CREATE TABLE `people` (
   `id` varchar(50) NOT NULL,
   `name` varchar(200) DEFAULT NULL,
   `nindex` int(9) DEFAULT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=INNODB DEFAULT CHARSET=utf8

再往表写几天测试数据:
insert into `people` (`id`, `name`, `nindex`) values('1000','java','1');
insert into `people` (`id`, `name`, `nindex`) values('1001','csharp','2');
insert into `people` (`id`, `name`, `nindex`) values('1003','python','3');
insert into `people` (`id`, `name`, `nindex`) values('1005','javascript','3');


insert和select组合操作:
insert into people select max(id)+1,name,nindex from people limit 1


delete和select组合操作,这个时候也必须要用到表的别名:
delete from people where id in(select max(p.id) from (select id from people) as p)


update和select组合操作,这个时候要用到表的别名:
update people set nindex=(select max(p.nindex)+1 from (select nindex from people) as p) where id = '1001' 


分组查询
有时候在一个表保持几个分类,然后想取每个分类的前几条数据,SQL就是这样写的:
select id,part, name, sell from test a where 
(select count(1) from test b where b.part=a.part and b.id!=a.id
and b.name!=a.name and b.sell>a.sell)<2 order by part, sell desc; 
1
1
分享到:
评论

相关推荐

    SQL技巧 常用SQL操作语句

    SQL小技巧:QL小技巧,常看。 说明:复制表(只复制结构,源表名:a 新表名:b) SQL: select * into b from a where 1&lt;&gt;1 说明:拷贝表(拷贝数据,源表名:a 目标表名:b) SQL: insert into b(a, b, c) select d,e,...

    Sql Server实用操作小技巧

    sql实用技巧,主要介绍sql server的一些操作技巧

    Sql Server实用操作小技巧集合

    Sql Server实用操作小技巧集合

    Sql Server实用操作小技巧集合(一).txt

    Sql Server实用操作小技巧集合(一).txt

    Spark SQL操作JSON字段的小技巧

    主要给大家介绍了关于Spark SQL操作JSON字段的小技巧,文中通过示例代码介绍的非常详细,对大家学习或者使用spark sql具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。

    sql的一些基础知识和小技巧

    包括一些sql语句 和oracle操作 以及之间的联系

    SQLServer实用技巧.docx

    SQLServer实用技巧:此文是Sql Server实用操作小技巧集合,包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等。

    数据库操作语句大全(sql)

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 ...

    SQL插入表样例,数值自己可以替换

    本资源提供了一系列关于如何在关系型数据库中使用SQL(Structured Query Language)进行表数据插入的实用指南和示例。无论你是数据库管理员、开发者,还是学习者,这个资源都能帮助你掌握SQL插入操作的核心知识,...

    50个永不过时SQL性能优化技巧.pdf

    这个资源整理了50个永不过时的SQL性能优化技巧,无论是在数据库表设计的时候,还是在SQL开发的时候,比较高频出现的优化点。 例如,查询SQL尽量不要使用select *,而是具体字段;避免在where子句中使用 or 来连接...

    经典SQL语句大全

    UNION 运算符通过组合其他两个结果表(例如 TABLE1 和 TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL 随 UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 ...

    在asp.net中操作sql server数据库的一些小技巧

    1.给数据库语句参数传递向数据库操作语句传递参数可以通过存储过程实现,这里给出另外两种简便易捷的方法:可以在C#中通过字符串操作将参数直接传入SQL语句变量中,例如:string s=”Davolio”;string sql= “select...

    Oracle优化日记:一个金牌DBA的故事 白鳝.扫描版

    调整游标相关参数6月1日 ORA-4030和内存泄漏今日点评优化小技巧 如何分析ORA-40306月2日 优化方案今日点评优化小技巧 一个提供参考的 优化方案优化小技巧 游标的共享6月3日 拆分大型SQL优化小技巧 拆分复杂SQL6月4日...

    【SQL Server技巧篇】如何用Transact-SQL脚本语言导入Excel表

    SQL Server已经提供了良好的数据导入界面,但步骤较多,操作不够方便,个人不太喜欢。后来听说可以用脚本导入Excel表,欣喜之余做了尝试,期间出现各种问题,搜了很多帖子,最终完美实现预期。由于找不到一篇完整...

    mysql优化sql语句的优化(索引,常用小技巧.)

    mysql的优化 数据库(表)设计合理 我们的表设计要符合3NF 3范式(规范的模式) , 有时我们需要适当的逆范式 sql语句的优化(索引,常用小技巧.) 数据的配置(缓存设大) 适当硬件配置和操作系统 (读写分离.)

    SQL_SERVER实用经验技巧集

    Sql Server实用操作小技巧集合 包括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等

Global site tag (gtag.js) - Google Analytics