数据库DataBase 表table 主要数据文件primary file 次要数据文件secondary file
事务日志文件 Transaction Log File 文件组file group 主键primary key 整型int 标识列identity 初始值seed 库长increment 唯一性 unique 外键 foreign key
检查 check 索引index 完整数据库备份Full Backup 差异数据库备份Differential Backup 事务日志备份Transaction Log Backup 文件和文件组备份File and Filegroup Backup 代理agent 警报emeil SQL全称:Structured Query Language,结构化查询语言 交互式 transact 转换convert 默认值default 删除drop 规则rule 查询select 排序order 存在exists 视图view 声明declare 循环体continue 函数function
存储程序procedure DBO:database owener 数据库恢复:restore 视图:view 语句选择:if…flse 输出output 触发器trigger 事务transaction 待插入记录表inserted 待删除记录表deleted
数据存储的基本单位是页或页面 1页=8kb 8kb=8192b 代理服务结构:作业、操作员、警报
数据库恢复:简单恢复、完整恢复、大容量日志恢复 数据库搜索:select*from bclass where length 启动sql服务器方法 :1.用sql server 配置管理器启动2.自动启动服务器3.通过后台4.通过sql server management studio 5.命令net start mssqlserver
SQL server属于真正客户机/服务器(client/server)
SQL身份验证:windows身份验证和混合身份验证模式(SQL Server身份验证和Windows身份验证) 系统数据库:master,tempdb,model和msdb和resource
数据库文件:主要数据文件(.mdf) 次要数据文件(.ndf) 事务日志文件(.ldf必须有)
整型(int) 占 4个字节存储空间 32位 固定长度字符型 char(n) 可变型varchar(varchar) (40):最多达到 40个字符 datatime(时间日期型) null(空值)代表尚未确认的值 notnull不允许空值 标识列:只有整数型得列才能被识别 主键约束:保证实体完整性 主键字段不允许有空值
外键:保证数据的参照完整性 唯一性约束:保证域的完整性
索引的作用提高计算机的查找速度
唯一性索引
聚集索引和非聚集索引是按照索引的结构划分的
数据库备份类型:完整数据库备份,差异数据库备份,事务日志备份,文件和文件组备份 数据库恢复模型(3个):简单恢复模式,完整恢复模式,大容量日志恢复模式 SQL Server代理服务的代理程序组件主要有作业,操作员和警报3个部分
SQL Server安全等级:(4种):客户机操作系统的安全性,SQL Server的安全性,数据库的安全性和数据库对象的安全性 两个不同的实体之间的联系有以下3种情况:一对一联系,一对多联系,多对多联系 矩形框:实体类型 菱形框:联系类型 椭圆形型:实体类型和联系类型的属性 %:代表任意多个字符 _(下划线)代表单个字符
连接分为内连接和外连接,外连接分为左外连接,右外连接,全外连接 连接查询:查询的内容出自多个表
左外连接:除了满足连接条件的记录出现在查询结果中,第一个表中不满足连接条件的记录也出现在查询结果中 右外连接:除了满足连接条件的记录出现在查询结果中,第二个表中不满足连接条件的记录也出现在查询结果中 全外连接:除了满足条件的记录出现在查询结果中,两个表中不满足连接条件的记录,也出现在查询的结果中 交叉连接查询(非限制连接) 修改数据
UPDATE<表名>
SET<列名>=<表达式>[,...n] [WHERR<条件>] 加密视图定义语句
CREATE VIEW[架构名.]<视图名>[(<列名>[,...n])] [With Encryption] As
SELECT语句
[With Check Option]
查看已加密的文本:sp_helptext 视图名字 变量分为全局变量和局部变量。
全局变量:系统提供的全局变量(@@开头,不能删除) 局部变量:用户自定义(@开头,必须先声明使用) 局部变量的名称不能与全局变量的名称相同
如要为局部变量赋值,则有两种方式:一种是使用SET语句赋值;另一种是使用SELECT语句。 一使用SET语句赋值。其语法格式如下:set@局部变量=表达式 二使用select语句赋值,其语法格式如下: select@局部变量=表达式 [from<表名>[,...n] where<条件表达式>]
set只能给一个变量赋值,select一次能给多个变量赋值 SQL Server用关键字GO标志一个批处理的结束 程序结构包括顺序结构,选择结构和循环结构 while循环语句 求余运算符% 循环体:反复被执行的代码 启动sql服务器方法 :1.用sql server 配置管理器启动2.自动启动服务器3.通过后台4.通过sql server management studio 5.命令net start mssqlserver 创建表
stud_Id char(10) primary key stud_name varchar(40) Not Null
stud_sex char(2) check(stud_sex in('男','女’)) member char
(2)check(Member in ('是’,’否’))
参数分为形参和实参,形参:没有实际值 实参:有具体值 触发器是一种特殊的存储过程 use student score
create table bstudent
stud_Id char(10) primary key, stud_name varchar(40) Not Null,
stud_sex char(2)check(stud_sex in('男','女’)), birth datetime,
merber char (2)check(Member in ('是’,’否’)), family _place varchar(50), class_id char(8)
计算 1-100奇数和
declare@number lnt,@sumlnt set@num=0 set@sum=0
while@num<100 begin
set@num=@num+1 if@num%2=0 countinue else
set@sum=@sum+@num end
print@sum
流程控制语句(if…else)语句 一问use studentscore go
if exists (select stud_I'd from before where stud_id='3031123101')select *from bscore where stud_id='3031123101' else
print'没有此学生的成绩!’ 二问 use studentscore
if exists (select*from before where course_I'd ='10001'and score<60) begin
print' 此课程存在不及格的成绩记录’
select*from before where course_id='10001’and score<60 end else
print'此课程不存在不及格的成绩记录!’
循环语句(while…continue…break )语句 while<条件表达式> transact-sql语句块1 [break]
[transact-sql语句块2] [continue]
1.创建规则:create rule <规则名> as <条件表达式>(以@开头的局部变量) 2.绑定规则:sp_bindrule<规则名>,<规则绑定的对象名>[,'futureonly] 3.删除规则:sp_unbindrule'<规则绑定的对象名>' drop rule<规则名> 4.查询语句:①查询部分列:select<列名>[,...n]from<表名>
②查询全部列:查询经过计算的值:查询结果前n列:select* from<表名> ③按条件查:select<选择列表>from<表名>where<查询条件> ⑴范围:and 比较:, 确定集合:in或者not in('条件','条件') ④字符匹配:[not]like'<匹配串>'
匹配串:⑴%任意多个字符⑵_任意单个字符⑶[]范围内任意单如[A-F]⑷[^]不在范围内[^A-F] ⑤空值查询:is not null/null
⑥查询结果排序:select<选择列表名> from<表名>order by<列名或列号>[asc|desc][,...n] ⑦生成汇总数据:select count()/sum()/avg()/max() ⑧查询结果分组:+group by <列名>