第四章:
1.字段的数据类型
数字数据类型:整数类型、decimal和numeric、money和smallmoney、float和real数据类型、Bit型
字符数据类型:char、Varchar、text、nchar、nvarchar、ntext
带n的是Unicode字符
日期和时间数据类型:datetime和smalldatetime。作用相同,区别在于表示的日期和时间范围不同,时间精确度也不同,前者范围更大,精度更高。
二进制数据类型:binary、varbinay、image
以及六个专用数据类型
- 利用CREATE TABLE语句创建表
- 创建数据表
- 数据表的种类:系统表、用户自定义数据表、临时表、分区表
- 临时表的创建
- 临时表是临时创建的、不能永久保存的表。分为本地临时表(#)和全局临时表(##)
- 临时表的创建:CREATE TABLE #表名
- 设置标识字段:右击表—选择设计—点击所要标识的字段—表设计器—标识规范
- 使用默认值:右击表—选择设计—点击所要标识的字段—常规—默认值或绑定
- 创建约束:展开表—右击约束—点击新建约束
- 修改表:使用管理工具修改表:右击表—设计
2. 使用sql语句来修改1.修改表名:表—新建查询—exec sp_rename ‘旧名字’,’新名字’
(1).添加一列:alter table 表名
add 列名 数据类型 是否为空
(2).修改一列:alter table 表名
Alter column 列名 数据类型 是否为空
3.用户自定义数据类型
当创建用户定义的数据类型是,必须要提供三个数:数据类型的名称、所基于的系统数据类型、数据类型的可空性。
如何创建:点开数据库—点开可编程性结点—点开类型—点开用户定义数据类型
4.使用规则:(用来保证数据完整性),规则是单独的SQL Server对象,可以关联到一个或几个表中的一列或几列。
创建规则SQL语句:CREATE RULE rule_name
As
Condition_expression
解除和删除规则:在删除之前需先解除规则
解除规则绑定:sp_unbindrule [ @objname = ]对象名
删除规则:DROP RULE rule_name
5.数据关系图:点开所要操作的数据库—右击数据关系图—新建
第五章
1.创建视图:使用SQL语句创建视图:CREATE VIEW view_name
As 查询表达式
使用管理工具创建:展开数据库—右击视图—新建视图
2.修改和删除视图 :ALTER VIEW view_name
As 查询表达式
3.通过视图修改数据:
局限性:1.select 列表中不能含有DISTINCT
2.SELECT 列表中不能含有表达式
3.在FROM子句中不能引用多个表
4.不能引用不可更新的视图
5.不能使用带有GROUP BY 或HAVING子句的查询语句
4.索引:
创建索引:SQL语句:CREATE
INDEX index_name
ON
Table_name|view name
使用管理工具:点开表—右击索引—新建索引
管理索引:查看和删除
5.创建架构:SQL语句:CREATE SCHEMA schema_name_clause
管理工具:展开数据库—展开安全性—右击架构—新建架构
6.聚集索引确定表中数据的物理顺序。
使用情况:(1).含有大量非重复的列
(2). 返回一个范围值的列
(3).被连续访问的列
(4). 返回大型结果集的查询
(5). 经常被使用连续或GROUP BY子句的查询访问的列
7.非聚集索引的数据存储在一个位置,索引存储在另一个位置,索引带有指针指向数据的存储位置。索引中的项目按索引值的顺序存储,而表中的信息按另一种顺序存储
聚集索引与非聚集索引有两个重大区别:
(1). 数据行不按非聚集索引键的顺序排序和存储
(2).非聚集索引的叶层不包含数据页,相反,叶节点包含索引行
第六章:
1.SELECT语句的语法格式:select select_list
[into new_table_name]
from table_source
[where search_conditions]
[group by group_by_expression]
[having search_conditions]
[order by order_expression [ASC|DESC]]
说明:
into:创建新表并将查询结果插入新表中。
new_table_name:表示保存查询结果的新表名。
table_source:指定查询的表或视图,派生表和联接表。
search_conditions:条件表达式,可以使关系表达式,也可以是逻辑表达式。
group by:将查询结果按指定的表达式分组。
group_by_expression:对其执行分组的表达式,group_by_expression也称为分组列,group_by_expression可以使列或引用列的非聚合表达式。
having:指定满足条件的组才予以输出。having通常与group by 的子句一起使用。
order by:指定结果集的排列顺序。
ASC:递增,从低到高排。
DESC:递减,从高到低排。
2.GROUP BY子句
3.使用HAVING子句,常和GROUP BY 子句一起使用
4.数据:INSERT[INTO] table_or_view{(column_list)}VALUES data_values
INSERT table_name[column_list]
SELECT column_list
FROM table_list
WHERE search_condirions
SELECT INTO语句:SELECT<select_list>
INTO new_table
FROM{<table_source>}[,...n]
WHERE <search_condition>
5.UPDATE语句语法:UPDATE{table_name|view_name}
SET{column_name={expression|DEFAULT|NULL}|@variable=expression}[,...n]
WHERE{search_conditions}
6.DELETE语句语法:
DELETE FROM<table_name>
{WHERE<search condition>]
7.TOP关键字和TOP表达式
语法格式:[
TOP(expression) [PERCENT]
[WITH TIES]
]
8.COMPUTE子句用来对查询的结果进行合计
第七章:
多表连接包括基本连接、内连接、外连接、自连接。
1.基本连接:
用户在进行基本连接操作时,可以遵循以下原则:
SELECT子句列表中,每个目标列前都要加上基表名称、FROM子句应包括使用所有的基表、WHERE子句应定义一个同等连接。
2.内连接:
语法格式:SELECT select_list
FROM table INNER JOIN table2[ON join_conditions]
[WHERE search_conditions]
[ORDER BY order_expression]
3.外连接的三种形式:左外连接、右外连接、全连接。
左外连接:内连接消除与另一个表的任何行不匹配的行,外连接返回FROM子句中提到的至少一个表或视图中的所有行,只要这些行符合任何搜索条件。
右外连接与左外连接只是主从表的关系不同,其他一致。
全连接:关键字为FULL
交叉连接:交叉连接不带WHERE子句,它返回被连接的两个表所有数据行的笛卡尔积
语法格式:SELECT select_list
FROM table1 CROSS JOIN table2
[WHERE search_conditions]
[ORDER BY order_expression]
4.联合查询语法格式:SELECT select_list
FROM table_source
[WHERE search_conditiongs]
{UNION[ALL]
SELECT select_list
FROM table_source
[WHERE search_conditions]}
[ORDER BY order_expression]
嵌套子查询:
Xml查询:能认识元素、属性和值
FOR XML子句:通过FOR XML子句并指定模式可以将从数据库系统的表中检索出来的数据自动标识成XML格式。
5.EXISTS关键字查询:
6.交查询关键字:INTERSECT
7.差查询关键字:EXCEPT