前言
不知小编上一篇的博客是否对你带来了帮助,废话不多说,今天还有一些干货分享给大家~
分享
数据表
- 字段的数据类型
- 数字数据类型
- 整数数据类型:bigint、int、smallint、tinyint
- decimal和numeric
- money和smallmoney
- float和real数据类型
- Bit
- 字符数据类型
- char
- Varchar
- Text
- Nchar
- Nvarchar
- ntext
- 临时表
临时创建的、不能永久保存的表。临时表又可分为本地临时表和全局临时表。
创建本地临时表(全局临时表##test)
create table #test
(
id int not null,
name nvarchar(10) null,
adress nvarchar(50) null
)
查询:SELECT * FROM #test
删除表
drop table 学生信息管理系统
- 修改表
重命名——exec sp_rename '员工信息','新员工信息'
添加列——alter table 新员工信息
add 工龄 INT NULL
修改列属性——alter table 新员工信息
ALTER COLUMN 工龄 smaller not null
删除列——alter table 新员工信息
DROP COLUMN 工龄
- 用户自定义类型
用户自己设计并实现的数据类型就称为用户自定义数据类型,即使这些数据类型基于系统数据类型,当几个表中必须村春同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。 - 当创建用户定义的数据类型时,必须提供三个数:数据类型的名称、所基于的系统数据类型、数据类型的可空性。
- 方法:数据库——student——可编程性——类型——用户定义数据类型——新建用户定义数据类型
- 规则
规则是单独的SQL Server对象,可以关联到一个或几个表中的一列或几列,它可以使用多种方式来完成对数据值的检验,可以使用函数返回验证信息,也可以使用关键字BETWEEN、LIKE和IN完成对输入数据的检查。
规则的作用与CHECK约束的部分功能相同,在向表的某列插入或更新数据时,用它来限制输入的新值的取值范围。规则与CHECK约束的不同主要表现在一下方面: - CHECK约束是用CREATE TABLE语句在创建表时指定的,而规则需要作为单独的数据库对象来实现。
- 在一列上只能使用一个规则,但可以使用多个CHECK约束。
- 规则可以应用于多个列,还可以应用于用户自定义的数据类型,而CHECK约束只能应用于它定义的列。
<img src="https://img-blog.csdn.net/20180820112751556"width=60% height=50% /> - 解除和删除规则
<img src="https://img-blog.csdn.net/20180820112800300"width=60% height=50% />
例:
sp_unbindrule '成绩信息,分数'
操作架构
- 创建视图
- 方法一:右键数据库——视图——新建视图(选中想显示的信息或者把有关的信息连接起来)
- 方法二:使用函数
create view V_studentInfo
as
select a.姓名,a.性别,a.民族,a.家庭住址,B.班级名
from 学生信息 a,班级信息 B
where a.所属班级=B.班级编号
- 修改视图
alter view V_studentInfo
as
select a.学号,a.姓名,b.班级名,c.姓名 as 辅导员
from 学生信息 a join 班级信息 b
on a.所属班级=b.班级编号
join 辅导员信息 c
on c.辅导员编号=b.辅导员
- 删除视图
- 方法一: 右键——删除
- 方法二:使用函数
DROP VIEW V_studentInfo
- 通过视图修改数据
- 注意事项
- SELECT列表中含有DISTINCT
- SELECT列表中含有表达式,如计算列、函数等
- 在FROM子句中应用多个表
- 引用不可更新的视图
- FROUP BY 或HAVING子句
#####索引
- 注意事项
- 索引概述
索引是一个单独的、物理的数据库结构,它是某个表中一列或者若干列的集合和相应的指向表中物理标识这些值得数据页的逻辑指针清单。从某种程度上,可以把数据库看做一本书,把索引看做书的目录。
索引一旦创建,将有数据库自动管理和维护。例如,在向表中插入、更新或者删除一条记录时,数据库会自动在索引中做出相应的修改。 - 使用索引的好处
- 保证数据记录的唯一性
- 加快数据检索速度
- 加快表与表之间的连接速度
- 可以在检索数据的过程中使用优化隐藏器,提高系统性能
- 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间
- 创建索引
- 方法一:右键数据库——表——新建索引
- 方法二:使用函数
create nonclustered index i_classname
on 班级信息(班级名)
- 删除索引
- 方法一:右键——删除
- 方法二:使用函数
drop index 学生信息.i_name
- 创建架构
- 方法一:右键数据库——安全性——架构——新建架构
- 方法二:使用函数
create schema admins AUTHORIZATION teacher
索引
- 聚集索引
聚集索引确定表中数据的物理顺序。聚集索引类似于电话簿,按姓氏排列数据,。由于聚集索引规定数据在表中的物理存储顺序,因此一个表只能包含一个聚集索引。但该索引可以包含多个列(组合索引),就像电话簿姓氏和名字进行组织一样。 - 非聚集索引
非聚集索引的数据存储在一个位置,索引存储在另一个位置,索引带有指针指向数据的存储位置,索引中的项目按索引值的顺序存储,而表中的信息按另一种顺序存储。
非聚集索引与聚集索引具有相同的B-Tree结构,但是与聚集索引有两个重大区别:数据行不按非聚集索引建的顺序排序和存储;非聚集索引的叶层不包含数据页,相反,叶节点包含索引行。
在SQL Server 2008中每个表可以创建的非聚集索引最多为249个,其中包括PRIMARYKEY或者UNIQUE约束创建的任何索引,但不包括XML索引。
小结
再回过头来看一下自己的笔记,又涨了不少知识呀!