《(整理)SQLServer数据库基本知识点》由会员分享,可在线阅读,更多相关《(整理)SQLServer数据库基本知识点(12页珍藏版)》请在金锄头文库上搜索。
1、SQL Server 数据库基本知识点一、数据类型数据类型类型描述是否常用bit整型bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Offint整型int 数据类型可以存储从- 231(-2147483648)到231(2147483 647)之间的整数。存储到数据库的几乎所有数值型的数据都可以用这种数据类型。这种数据类型在数据库里占用4个字节是smallint整型smallint 数据类型可以存储从- 215(-32768)到215(32767)之间的整数。这种数据类型对存储一些常限定在特定围的数
2、值型数据非常有用。这种数据类型在数据库里占用2 字节空间tinyint整型tinyint 数据类型能存储从0到255 之间的整数。它在你只打算存储有限数目的数值时很有用。 这种数据类型在数据库中占用1 个字节numeric精确数值型numeric数据类型与decimal 型相同decimal精确数值型decimal 数据类型能用来存储从-1038-1到1038-1的固定精度和围的数值型数据。使用这种数据类型时,必须指定围和精度。 围是小数点左右所能存储的数字的总位数。精度是小数点右边存储的数字的位数money货币型money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到922
3、0 亿之间的数据,精确到货币单位的万分之一smallmoney货币型smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一float近似数值型float 数据类型是一种近似数值类型,供浮点数使用。说浮点数是近似的,是因为在其围不是所有的数都能精确表示。浮点数可以是从-1.79E+308到1.79E+308 之间的任意数是real近似数值型real 数据类型像浮点数一样,是近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数datetime日期时间型datetime数
4、据类型用来表示日期和时间。这种数据类型存储从1753年1月1日到9999年12月3 1日间所有的日期和时间数据, 精确到三百分之一秒或3.33毫秒是Smalldatetime日期时间型smalldatetime 数据类型用来表示从1900年1月1日到2079年6月6日间的日期和时间,精确到一分钟cursor特殊数据型cursor 数据类型是一种特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用是timestamp特殊数据型timestamp 数据类型是一种特殊的数据类型,用来创建一个数据库围的唯一数码。 一个表中只能有一个timestamp列。每次插入或修改
5、一行时,timestamp列的值都会改变。尽管它的名字中有“time”, 但timestamp列不是人们可识别的日期。在一个数据库里,timestamp值是唯一的Uniqueidentifier特殊数据型Uniqueidentifier数据类型用来存储一个全局唯一标识符,即GUID。GUID确实是全局唯一的。这个数几乎没有机会在另一个系统中被重建。可以使用NEWID 函数或转换一个字符串为唯一标识符来初始化具有唯一标识符的列char字符型char数据类型用来存储指定长度的定长非统一编码型的数据。当定义一列为此类型时,你必须指定列长。当你总能知道要存储的数据的长度时,此数据类型很有用。例如,当你
6、按邮政编码加4个字符格式来存储数据时,你知道总要用到10个字符。此数据类型的列宽最大为8000 个字符是varchar字符型varchar数据类型,同char类型一样,用来存储非统一编码型字符数据。与char 型不一样,此数据类型为变长。当定义一列为该数据类型时,你要指定该列的最大长度。 它与char数据类型最大的区别是,存储的长度不是列长,而是数据的长度是text字符型text 数据类型用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符nchar统一编码字符型nchar 数据类型用来存储定长统一编码字符型数据。统一编码用双字节结构来存储每个字符,而不是用单字节
7、(普通文本中的情况)。它允许大量的扩展字符。此数据类型能存储4000种字符,使用的字节空间上增加了一倍nvarchar统一编码字符型nvarchar 数据类型用作变长的统一编码字符型数据。此数据类型能存储4000种字符,使用的字节空间增加了一倍ntext统一编码字符型ntext 数据类型用来存储大量的统一编码字符型数据。这种数据类型能存储230-1或将近10亿个字符,且使用的字节空间增加了一倍binary二进制数据类型binary数据类型用来存储可达8000 字节长的定长的二进制数据。当输入表的容接近相同的长度时,你应该使用这种数据类型varbinary二进制数据类型varbinary 数据类
8、型用来存储可达8000 字节长的变长的二进制数据。当输入表的容大小可变时,你应该使用这种数据类型image二进制数据类型image 数据类型用来存储变长的二进制数据,最大可达231-1或大约20亿字节二、 常用语句 (用到的数据库Northwind)查询语句简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的表或视图、以及搜索条件等。例如,下面的语句查询Customers 表中公司名称为“Alfreds Futterkiste”的ContactName字段和Address字段。SELECT ContactName, AddressFROM
9、 CustomersWHERE CompanyName=Alfreds Futterkiste(一) 选择列表选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。1、选择所有列例如,下面语句显示Customers表中所有列的数据:SELECT *FROM Customers2、选择部分列并指定它们的显示次序查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。例如:SELECT ContactName, AddressFROM Customers3、更改列标题在选择列表中,可重新指定列标题。定义格式为:列标题 a
10、s 列名列名 列标题如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列标题:SELECT ContactName as 联系人名称, Address as地址FROM Customers4、删除重复行SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。SELECT DISTINCT(Country)FROM Customers5、限制返回的行数使用TOP n PERCENT选项限制返回的数据行数,TOP n说
11、明返回n行,而TOP n PERCENT时,说明n是表示一百分数,指定返回的行数等于总行数的百分之几。例如:SELECT TOP 2 *FROM CustomersSELECT TOP 20 PERCENT *FROM Customers(二)FROM子句FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图,它们之间用逗号分隔。在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列所属的表或视图。例如在Orders和Customers表中同时存在CustomerID列,在查询两个表中的CustomerID时应
12、使用下面语句格式加以限定:select * from Orders,Customerswhere Orders.CustomerID =Customers.CustomerID在FROM子句中可用以下两种格式为表或视图指定别名:表名 as 别名表名 别名select * from Orders as a,Customers as bwhere a.CustomerID =b.CustomerIDSELECT不仅能从表或视图中检索数据,它还能够从其它查询语句所返回的结果集合中查询数据。例如:select * from Customers where CustomerID in (select C
13、ustomerID from Orders where EmployeeID=4)此例中,将SELECT返回的结果集合给予一别名CustomerID,然后再从中检索数据。(三) 使用WHERE子句设置查询条件WHERE子句设置查询条件,过滤掉不需要的数据行。例如下面语句查询年龄大于20的数据:select CustomerID from Orders where EmployeeID=4 WHERE子句可包括各种条件运算符:比较运算符(大小比较):、=、=、=、!、!=10 AND age=302、列表运算符例:country IN (Germany,China)3、模式匹配符例:常用于模糊查
14、找,它判断列值是否与指定的字符串格式相匹配。可用于char、varchar、text、ntext、datetime和smalldatetime等类型查询。可使用以下通配字符:百分号%:可匹配任意类型和长度的字符插入语句语法:Insert into 表(字段1,字段2,.字段n) values(值1,值2,.值n)例如:Insert into Region(RegionID, RegionDescription)values(5,Southern)更新语句语法:update 表 set 字段1 = 值1,字段2=值2,字段n=值n where 条件如:update Customers set ContactName=John,Address =Avda. de la where CustomerID=ALFKIwhere 条件同查询语句删除语句语法:delete from 表 w