二、提升
1、复制表(只复制结构,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1(仅用于SQlServer)
法二:select top 0 * into b from a
2、拷贝表(拷贝数据,源表名:a 目标表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3、跨数据库之间表的拷贝(具体数据使用绝对路径) (Access可用)
insert into b(a, b, c) select d,e,f from b in ‘具体数据库’ where 条件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
4、子查询(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN
(1,2,3)
5、显示文章、提交人和最后回复时间
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table
where table.title=a.title) b
6、外连接查询(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
7、在线视图查询(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;
8、between的用法,between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2
9、in 的使用方法select * from table1 where a [not] in (‘值1’,’值2’,’值4’,’值6’)
10、两张关联表,删除主表中已经在副表中没有的信息
delete from table1 where not exists ( select * from table2 where
table1.field1=table2.field1 )
11、四表联查问题:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on
a.a=d.d where .....
12、日程安排提前五分钟提醒
SQL: select * from 日程安排 where datediff('minute',f开始时,getdate())>5
13、一条sql 语句搞定数据库分页
select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc)
a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段
具体实现:
关于数据库分页:
declare @start int,@end int
@sql nvarchar(600)
set @sql=’select top’+str(@end-@start+1)+’+from T where rid not in(select top’+str
(@str-1)+’Rid from T where Rid>-1)’
exec sp_executesql @sql
注意:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。Rid为一个标识列
,如果top后还有具体的字段,这样做是非常有好处的。因为这样可以避免 top的字段如果是逻辑索引的
,查询的结果后实际表中的不一致(逻辑索引中的数据有可能和数据表中的不一致,而查询时如果处在
索引则首先查询索引)
14、前10条记录
select top 10 * form table1 where 范围
15、选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排
行榜,每月热销产品分析,按科目成绩排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
16、包括所有在 TableA 中但不在 TableB和TableC 中的行并消除所有重复行而派生出一个结果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)
17、随机取出10条数据
select top 10 * from tablename order by newid()
18、随机选择记录
select newid()
19、删除重复记录
1),delete from tablename where id not in (select max(id) from tablename group by
col1,col2,...)
2),select distinct * into temp from tablename
delete from tablename
insert into tablename select * from temp
评价: 这种操作牵连大量的数据的移动,这种做法不适合大容量但数据操作
3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这
样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段
alter table tablename
--添加一个自增列
add column_b int identity(1,1)
delete from tablename where column_b not in(
select max(column_b) from tablename group by column1,column2,...) alter table tablename
drop column column_b
20、列出数据库里所有的表名
select name from sysobjects where type='U' // U代表用户
21、列出表里的所有的列名
select name from syscolumns where id=object_id('TableName')
22、列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的
case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs
else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
显示结果: type vender pcs
电脑 A 1
电脑 A 1
光盘 B 2
光盘 A 2
手机 B 3
手机 C 3
23、初始化表table1
TRUNCATE TABLE table1
24、选择从10到15的记录
select top 5 * from (select top 15 * from table order by id asc) table_别名 order by id
desc

转载于:https://www.cnblogs.com/aijiao/p/9563778.html

数据库小结2--提升相关推荐

  1. Oracle数据库使用Analyze提升sql性能

    Oracle数据库使用Analyze提升sql性能 如果你不使用analyze完成sql优化,将意味着:你拒绝使用数据库的查询优化器,也失去了使用优化连接的机会.假设你创建了一张拥有100万条记录的临 ...

  2. 【已更新内测入口】阿里云宣布开放开源 AliSQL 数据库 性能可提升 70%

    阿里有很多开源产品(想了解有哪些吗?点此:进专题),继上段时间开源跨平台开发框架 Weex 之后,阿里巴巴再次宣布另一个重大开源项目 AliSQL(专题以及内测申请入口:点此进入). 8 月 9 日, ...

  3. 直击Titan图数据库:如何提升25%+的反欺诈检测效率?

    传统的关系型数据库通过实体和关系来建模,在过去的很长一段时间内都占据着绝对的统治地位.但是随着大数据的兴起,它的一些缺陷也变得越来越明显,特别是在需要处理非常复杂的实体关系时,关系型数据库变得越来越力 ...

  4. Asp.net WebForm使用codeFirst建立和修改数据库小结

    在asp.net4.5框架下使用codeFirst添加和修改数据库文件小结. 建立: 1.建立模型类 2.In Package Manager Console, run the command: en ...

  5. 说明关系型数据库通过索引提升查询效率的背后原理

    如果没有索引,数据库引擎需要通过全表扫描来查找数据,这会产生大量的磁盘IO. 关系型数据库使用B+树构建索引来加速加快查询.B+树是一种二叉查找树(每个节点的键值必须:比保存在左子树的任何键值都要大, ...

  6. 关系型数据库小结-基础-易理解!

    关系数据库中重要且实用的知识点小结 本篇文章的内容主要是简介关系型数据库的基本概念.关系数据结构&&形式化定义.关系操作.关系的完整性.常用术语.三级模式结构以及模式之间顺序与转换的应 ...

  7. 数据库性能怎么提升?

    1. 哪些影响数据库性能? 超高的QPS和TPS影响: QPS : 每秒钟处理的查询量.假设一个CPU 10ms处理一个sql语句,1s处理100个sql语句,此时的QPS<=100 TPS:吞 ...

  8. Mysql数据库小结

    目录 1.1 char和varchar的区别 1.2 日期类型 1.3 SQL语句注意事项 1.4连接查询 1.5 常见面试题 1.6 数据库的隔离级别问题 2.1如何通过JDBC访问数据库 2.2 ...

  9. 处理字典值是把字典放内存还是用sql处理_第二周:MYSQL数据库入门,提升你的数据处理效率...

    第1课:使用SQL探索产品数据 1.什么是SQL? SQL,Structured Query Language结构化查询语言是目前对数据库进行查询和编辑的主流编程语言. 通常来说,一个数据库会包含一个 ...

  10. mysql 常用的数据源_MySQL常用数据库小结

    SQL分类:DDL-数据定义语言(CREATE,ALTER,DROP,DECLARE) DML-数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL-数据控制语言(GRANT ...

最新文章

  1. 【2021Java最新学习路线】kvm和docker区别
  2. graphcool-framework 一个基于graphql的后端开发框架
  3. Tensorflow学习笔记:多项式拟合
  4. Socket中如何设置连接超时
  5. [C++] 头文件中的#ifndef,#define,#endif以及#pragma用法
  6. 2018.08.02 权限管理 笔记
  7. 国产操作系统剽窃Linux内核可耻!
  8. 两计算机之间怎样快速传输数据,两个局域网之间怎么互相传输文件有什么快速方法...
  9. echarts 地图添加纹理图片
  10. idea中字体由繁体变简体
  11. 通过统计7万多真实人名生成可信的随机人名
  12. sql server 首字母大写
  13. html css 正六边形,css画正六边形
  14. 从前,有座山,山里有座庙,庙里有苦逼IT
  15. 缓慢画点功能实现的两个方法
  16. [职场、征人、面试]新技术能解决多少问题?....没有标准答案的个人感言
  17. Activity真正“可见”的时间点
  18. 区块链溯源技术是什么
  19. route 命令使用详解
  20. 路在脚下、梦在身上,技能提升不是为了别人!

热门文章

  1. NBA的字母哥如何拿到2415万美金年薪
  2. 七夕出手,这本情话秘籍请收好
  3. 对网站的文件和资源进行优化、前端开发优化
  4. mysql ,show slave status详解
  5. getifaddrs
  6. awakeFromNib 与 viewDIdLoad 自己小结
  7. boost::array与std::vector使用与性能
  8. TortoiseSVN的设置
  9. 滚动吸顶效果--四种方式实现
  10. 7. Swift 基于Xmpp和openfire实现一个简单的登录注册