转载的一篇sqlserver文章
公司组织SQL水平考试,看了写教材,写了点总结发上来跟大家分享。
我公司使用的是Sybase ASE12.5,所以下面的一些特性是针对Sybase ASE的。
一:SQL Bisic
1:SQL(Structured Quary Language)特性:
a:标准化
b:非过程化的
c:可优化的
d:面向集合操作的
2:ASE中的数据类型
a:Numberic
b:Character
c:Date/Time
d:Lobs
3: convert(varchar, textColumn),如果不指定varchar(n)n那么默认是30
4:where 在sql中的作用
a:过滤数据
b:做表连接(sql92以前)
c:选择索引
5:whare 和 having的区别
where语句把过滤好的数据插入到work table中
having语句从work table中对数据进行在过滤以得到最后的结果。
6:一个select语句的执行顺序
a:from clause
b:where clause
c:group by clause
d:select clause
e:having clause
f:order by clause
7:Union VS Union All
a:Union 会把两个结果集排序,并且除去重复的元素(效率差,轻易不要用)
b:Union All仅仅是把两个结果集合并,没有排序,也不去除重复元素(效率好)
二:索引和查询参数
1:ASE中有三种access数据方式
a:clustered Index
b:nonclustered Index
c:table scan
2:Covered Query
一个Covered Query 仅仅从索引中得到数据,不用去扫描数据库表,这是最快的数据查询方式。
限制1:只能在selece中生效
限制2:所有被引用的列必须在同一个nonclustered index中
3:functional index
在ASE15.0以后才被支持,也就是说在ASE15.0以前的版本,下列语句是可定不会用上索引的
sql 代码
select
column1
from
table1
where
upper
(column2) = 'IVANL'
4:如何查看执行计划
sql 代码
set
showplan
on
go
your sql
go
set
showplan
off
go
5: 如何查看IO
sql 代码
set
statistics
io
on
set
statistics
time
on
go
you sql
go
set
statistics
io
off
set
statistics
time
off
go &nbs
相关文档:
ms sqlserver 2005中的存储过程无法在Management Studio中进行调试,
但可以通过Visual Studio 2005来对之进行调试。(可设置断点,单步调试等)
采用Visual Studio调试存储过程的方法如下:
1.启动Visual Studio(可不创建项目),打开Server Explorer(菜单-view-Server Explorer)
......
sqlserver附加数据库错误823的解决方案2008-10-13 15:06sqlserver附加数据库错误823的解决方案一、SQL-Server附加数据库时失败。
1、异常情况:服务器在正常运行的情况下突然断电,导致数据库文件损坏,具体表现是:数据库名后面有“(置疑)”字样。
2、异常分析:关于823错误的 SQL-SERVER 中的帮助:
=== ......
在主数据库文件进行大量的删除(新增,修改都会有日志),日志文件有1.5G。昨天还原数据库时初始值也才1MB。必须清除掉,不然太占空间了。上网找了个清除日志的方法。顺利将日志文件log.ldf从1.5G变为了1M。 我执行如下:
1.清空日志
DUMP TRANSACTION 库名 WITH NO_LOG
2.截断事务日志:
BACKUP LOG ......
不得不说的在 MS SQL SERVER 下的 JDBC 调用
今天下午,临时决定要再 MS SQL-SERVER 下配置 Spring 的数据源 DataSource 。但配置了半天,获取数据源仍不成功,我没有办法,找原因呗,只能写个列子测试下。先不管三七二十一,先上正确的例子再说。
看客如果想运行下面的代码,需要自己手工 ......
-- 在向指定日期加上一段时间的基础上,返回新的 datetime 值
加年份——print dateadd(year, 5, getdate()) 加月份——print dateadd(month, 5, getdate())
加天数——print dateadd(day, 5, getdate()) 加小时——print dat ......