`
tntxia
  • 浏览: 1510406 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SQLServer2005学习笔记

 
阅读更多

SQLServer新增了varchar(max)、nvarchar(max)与varbinary(max)三种数据类型,用于取代旧版本的text,ntext及image数据类型。

 

pivot和unpivot的使用方法。

 

exec sp_dbcmptlevel oa,90;

 

如果数据库是2000类型,必须要用上面的语句,把数据库的类型改成兼容类型。

 

PIVOT的用法:

首先创建测试表,然后插入测试数据


create table test(id int,name varchar(20),quarter int,profile int)
                        insert into test values(1,'a',1,1000)
                        insert into test values(1,'a',2,2000)
                        insert into test values(1,'a',3,4000)
                        insert into test values(1,'a',4,5000)
                        insert into test values(2,'b',1,3000)
                        insert into test values(2,'b',2,3500)
                        insert into test values(2,'b',3,4200)
                        insert into test values(2,'b',4,5500)
                        select * from test
                        id name quarter profile
                        ----------- -------------- ----------- -----------
                        1 a 1 1000
                        1 a 2 2000
                        1 a 3 4000
                        1 a 4 5000
                        2 b 1 3000
                        2 b 2 3500
                        2 b 3 4200
                        2 b 4 5500
                        (8 row(s) affected)
                        使用PIVOT将四个季度的利润转换成横向显示:
                        select id,name,
                        [1] as "一季度",
                        [2] as "二季度",
                        [3] as "三季度",
                        [4] as "四季度"
                        from
                        test
                        pivot
                        (
                        sum(profile)
                        for quarter in
                        ([1],[2],[3],[4])
                        )
                        as pvt
                        id name 一季度 二季度 三季度 四季度
                        -------- --------- ----------- -------- ------- -------
                        1 a 1000 2000 4000 5000
                        2 b 3000 3500 4200 5500
                        (2 row(s) affected)
 

 

 


UNPIVOT的用法:

 

首先建立测试表,然后插入测试数据
                        drop table test
                        create table test(id int,name varchar(20), Q1 int, Q2 int, Q3 int, Q4 int)
                        insert into test values(1,'a',1000,2000,4000,5000)
                        insert into test values(2,'b',3000,3500,4200,5500)
                        select * from test
                        id name Q1 Q2 Q3 Q4
                        -------- ------- --------- --------- -------- --------
                        1 a 1000 2000 4000 5000
                        2 b 3000 3500 4200 5500
                        (2 row(s) affected)
                        使用UNPIVOT,将同一行中四个季度的列数据转换成四行数据:
                        select id,name,quarter,profile
                        from
                        test
                        unpivot
                        (
                        profile
                        for quarter in
                        ([Q1],[Q2],[Q3],[Q4])
                        )
                        as unpvt
                        id name quarter profile
                        ----------- ----------- ---------- -----------
                        1 a Q1 1000
                        1 a Q2 2000
                        1 a Q3 4000
                        1 a Q4 5000
                        2 b Q1 3000
                        2 b Q2 3500
                        2 b Q3 4200
                        2 b Q4 5500
                        (8 row(s) affected)

 


 

SQL Server 2005的系统数据库tempdb大小比旧版SQLServer大,这是因为某些SQLServer 2005的新功能需要使用tempdb。比方说,SQLServer 2005改善空间的配置与算法、针对tempdb提供缓存(Cache)功能以减少tempdb的负担,使得针对tempdb中的表执行事务更新的速度有所提升,因为tempdb系统数据库所需要的大小比起旧版的SQLServer要大。tempdb系统数据库的大小是否足够,关系到SQLServer 2005的性能,建议您将tempdb设定成自动增长,而增长的方式可按照表4-1所列进行设置。

 

char: 如果定义char(5),插入'Hello,I am tntxia',数据库保存Hello,如果定义char(10),插入'Hello',数据库会保存成'Hello      '
varchar: 可变型

varchar(max): 可以让可变型字符串达到最大

nchar Unicode类型的char, 可以避免迁移数据库时字符的出错

smalldatetime的精确度是分钟,所以注意要使用秒数的数据不能使用smalldatetime

 

使用Select ... into 表达式来添加数据记录的最大特色是:它会自动创建一个新表,然后把查询结果存入其中。

 

如:select *  into 陈仕贤做的报价单 from quote where man = '陈仕贤'

可以把陈仕贤做的报价单放在陈仕贤做的报价单这张表里面

 

每个页的大小是8K(或8194个字节,但实际8060个字节可以用),这意味着1MB数据库有128个页,每个页的前96个字节是页首,页首会存储一些系统信息,包括页的页码、页的类型、页中的可用空间及拥有此页的对象的对象ID

 

 扩展盘区(Extent)是SQLServer分配给表和索引的单位空间。扩展盘区由8个连续的页构成,大小是64KB,这意味着,SQL Server的数据库每1MB有16个扩展盘区。

 

SQLServer 2005的扩展盘区可分为下列两种类型:

 

统一扩展盘区和混合扩展盘区。

0
0
分享到:
评论

相关推荐

    郝斌Sqlserver2005学习笔记

    【郝斌Sqlserver2005学习笔记】涵盖了SQL Server 2005数据库系统的基础知识,特别是关于数据查询和关系数据库设计的部分。这个笔记基于郝斌老师的教学视频,旨在帮助学习者理解并掌握SQL Server 2005的核心概念。 ...

    sqlserver2005学习笔记.

    ### SQL Server 2005 学习笔记 #### SQL Server 2005 连接方式 在SQL Server 2005中,有两种主要的连接方式:**Named Pipes** 和 **TCP/IP**。 - **Named Pipes**:这是一种通过共享内存进行通信的方式,适用于...

    SQL Server 2005学习笔记

    总的来说,SQL Server 2005的学习笔记涵盖了数据库创建、表结构设计、约束管理和身份验证模式设置等核心概念,这些都是数据库管理及开发的基础。通过深入理解和实践这些知识点,能帮助初学者建立起对SQL Server...

    SQL server 2005 学习笔记

    在这个学习笔记中,我们将探讨如何创建视图、存储过程以及如何管理数据库对象的访问权限。 首先,让我们详细了解一下创建视图和存储过程的过程。视图是SQL Server中的一种虚拟表,它是由一个或多个SELECT语句组成的...

    sql server 2005学习笔记之触发器

    SQL Server 2005中的触发器是一种特殊类型的存储过程,它们在特定的T-SQL语句执行时自动触发,增强了数据库的逻辑控制能力。触发器主要分为两类:DML触发器和DDL触发器。 DML触发器是针对数据操纵语言(Data ...

    SQLserver2008学习笔记

    SQL server 2008

    SQLServer2005数据库学习笔记

    笔记是本人学习SQLServer一段时间后重新整理出来的,适合有一些入门基础的人学习。 ├─01 安装及使用 │ SQLServer2005安装及使用.txt │ ├─02 常用函数 │ function.sql │ ├─03 建表、建库 │ create.sql ...

    sqlserver2005学习笔记之触发器简介.pdf

    SQL Server 2005中的触发器是一种特殊类型的存储过程,它会在执行特定的T-SQL语句(如INSERT、UPDATE、DELETE)时自动触发执行。触发器的主要作用在于增强数据的完整性和有效性,它们能完成比约束更复杂的数据验证,...

    SQL SERVER 2008 学习笔记:日常维护、深入管理、性能优化.part1/2

    SQL SERVER 2008 学习笔记:日常维护、深入管理、性能优化。

    Oracle SQLServer数据库 学习笔记

    这篇学习笔记将深入探讨这两个系统的概念、特性和应用。 一、Oracle数据库系统 Oracle数据库是由甲骨文公司开发的一款强大、高性能的数据库解决方案。其主要特点包括: 1. **分布式数据库**:Oracle支持多节点的...

    SQL server2005笔记

    SQLserver 数据库学习笔记 欢迎大家下载学习,共同进步啊

    sqlserver个人学习笔记

    ### SQLServer个人学习笔记知识点概览 #### 一、日期格式转换:`SELECT REPLACE(CONVERT(CHAR(8),GETDATE(),120),'-','')` - **知识点**:使用`CONVERT`函数将当前系统时间`GETDATE()`转换为指定格式的字符串,并...

    郝斌老师SqlServer 2005上课学习笔记大纲

    郝斌老师SqlServer 2005上课学习笔记大纲

    SQL2005学习笔记

    《SQL2005学习笔记》是一份深入探讨SQL Server 2005核心概念、功能及优化策略的宝贵资料。SQL Server 2005是微软推出的一款强大的关系型数据库管理系统,它在数据存储、处理和分析方面具有广泛的应用。这份笔记旨在...

    SQL server2019 学习笔记之SQL Server 2019 安装教程.html

    第一步:下载安装SQL server2019 下载地址:https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 【方式一】要求严苛 在这里插入图片描述 【方式二】自学上进 在这里插入图片描述

    SQL Server 学习笔记

    在本文中,我们将深入探讨SQL Server的学习笔记,涵盖其体系结构、数据库类型特点、OLTP与OLAP的区别,以及一些关键的管理工具。 首先,让我们了解Microsoft SQL Server 2008系统的体系结构。这个系统由四个主要...

    SQL server2019 学习笔记之SQL Server 2019 配置管理.html

    SQL server2019 学习笔记之SQL Server 2019 配置管理 第一步:打开SQL Server2019配置管理器 在这里插入图片描述 在这里插入图片描述

Global site tag (gtag.js) - Google Analytics