全国OSTA计算机高新技术SQLSever四级证书
说明:没找到一样的图、但长就是长这样的。分享给即将考证的朋友们!适合临场考试复习整理思路理顺!有其他点问题欢迎提出!谢谢!祝逢考必过!(文末有文档下载地址)
第一单元:
一、
1、会帮助
2、会注册服务器
3、日期函数的使用
4、启动/停止各服务
二、关于函数:(只考一个点)
1、day、month、year的参数都是日期型(年月日)
Select year ('2012-9-15') =2012 取年
Select month ('2012-9-15') =9 取月
Select day ('2012-9-15') =15 取日
2、常见SQL代码 (参数1可为:day,month和year )
-
- 取机器的当前日期(含时间):
Select getdate()
-
- 查询当前UTC时间:(世界统一标准时间)
Select getutcdate ()
-
- 一个日期上加上几个月/年/日后的日期:
Select dateadd(参数1,整数n,日期)
例如:Select dateadd(month,3,'2012-9-15') =2012-12-15(三个月后的时间)
-
- 求两日期之间相差几天/几月/几年:
Select datediff(参数1,日期1,日期2) 注:(日期2-日期1)
例如:Select datediff (day,’1999-2-20’,’1999-2-28) =8(相差八天)
-
- 取一个日期中的年/月/日的函数,返回类型为字符:
Select datename (参数1,日期(年月日时分秒毫秒))
以字符串形式返回当天几号(月)(年):select datename (day/month/year,getdate())
-
- 取一个日期中的年/月/日的函数,返回类型为整型:
Select datepart (参数1,日期(年月日时分秒毫秒))
以整数形式返回当天几号(月)(年):select datename (day/month/year,getdate())
第二单元: 简单查询
- 基于一个表的查询:
select 要查询的字段列表(*表示全部列)
from 表名
where 条件
2、distinct短语:去掉查询结果中的重复行
用法:
select distinct 要查的字段
from ....
where….
3、在where中各种运算符的使用:=、!=、in、between ...and....
city in ('成都','宜宾','重庆') , stuno in (111,123,234,456)
不同于where stuno in ('111','123','234','456') 类型保持一致
score>=60 and score<=100 等价于:score between 60 and 100
4、字符串操作函数:
求一个字符串中的子串:substring(原串,取的起始位置,取的长度)
例:select substring("teacher",3,4) ='ache'
模糊查询:like和通配符%(代表任意长度的任意字符)和_(代表的一个任意字符)
所有姓张的:where name like '张%'
第二个字母为S的商品代码:where prodno like '_S%'
第三单元:基于一个表的查询、函数的使用 、分组查询
1、同时执行多个查询语句(一个语句后用go)
例:查询orders表和distributors表所有的列内容
select * from orders
go
select * from distributors
go
2、查询结果列中可含表达式(含算术运算符)
select name, price*1.2
from sales
where name like '_ _AB'
3、排序查询结果,使用order by 字段名
select name,price
from sales
order by price desc(降序)
4、数学函数的使用
abs(数字表达式):求绝对值。如abs(-2.6)=2.6, abs(2.6)=2.6
ceiling(数字表达式):求大于或等于所给数字的最小整数。如ceiling(5.5)=6,ceiling(-7.2)=-7
floor(数字表达式):求小于或等于所给数字的最大整数。如floor(5.8)=5,floor(-9.2)=-10
round():进行四舍五入.例:round(1024.33,1)=1024.30, round(1058.33,-2)=1100
square():求平方.例:square(-5)=25
sqrt():求平方根(算术平方根).例:sqrt(25)=5
power():返回给定表达式乘指定次方(幂)的值.例:power(2,3)=8,表示2的3次方
sin()、cos():求正余弦值
tan()、cot():求三角正切、余切值
log():返回给定 float 表达式的自然对数. (ln3)
log10():返回给定 float 表达式的以 10 为底的对数.
sign():返回给定表达式的正 (+1)、零 (0) 或负 (-1) 号,例:sign(-2)=-1
pi():返回π(PI)的值
5、字符串函数的使用
len(字符串表达式):求串的长度。如:len("张A")=2
lower():转换成小写字母 如:lower('I 12 am')='i 12 am'
upper():转换成大写字母 如:upper('I am')='I AM'
ltrim():去掉串左边的空格,例:ltrim(' love')='love'
rtrim():去掉串右边的空格,例:rtrim('love ')='love'
reverse():返回字符表达式的反转.例:reverse('teacher')='rehcaet'
ASCII():返回字符表达式最左端字符的 ASCII 代码值.如 ASCII('A')=65, ASCII('AB')=65
6、聚合函数的使用,一般用在select后面,having后面也可用
count():数记录或字段值的个数 如:求表中男生的人数:
select count(*)
from student
where 性别='男'
sum():求和 例:select sum(score) from student
avg():求平均值 例:select avg(score) from student
max():求最大值 select max(score) from student
min():求最小值select min(score) from student
7、分组查询(9、10、13、17套),9套题目有点问题,10套没题目,有答案
格式:
select 字段名,字段列表
from 表名
group by 字段名
例:13套7题,查询products表中每一个供应商产品的最高单价
select suppcode, max(unitprice)
from products
group by suppcode
第四单元:
1题、基于两个表的查询(查的字段和条件在二个表中)
命令格式:
select 要查的字段
from 表1,表2
where 表1.相同字段=表2.相同字段
2题、子查询(基于一个表或两个表)
格式:
select 要查的字段
from 表1
where 相同字段 =或in
(select 相同字段
from 表2
where 条件)
说明:
A、若子查询返回的是一个值用=,若是多个值则用in
B、表1和表2相同,则基于一个表的子查询
3题、用union将两个select语句联接起来
将两个查询语句的结果合并在一起显示(要求两个查询语句的结果要有相同的列数)
4题:添加记录,用insert into命令
格式: insert into 表名
values(相应各字段值的列表)
注意:练习带日期型数据的记录插入,插入后用查询命令看看数据是否正确。
5题:删除记录
格式:
delete from 表名
where 条件
6、更新记录,即修改表中的数据(注意类型加不加单引)
格式:
update 表名
set 要修改值的字段名=修改后的值
where 条件
第五单元:用create、drop和系统存储过程完成
1题、创建默认值,并绑定到表中的某列
创建格式:create default 默认值名字 as 具体值
绑定到列(用系统存储过程):sp_bindefault '默认值名字' ,'表名.列名'
例:第一套
create default moren as 100 [看样图,注意类型‘单引号’]
go
sp_bindefault 'moren','orders.ordernum'
go
2题:解除默认值与列的结合
解除:sp_unbindefault 表名.列名
删除默认值:drop default '默认值名'
例:第一套
sp_unbindefault 'orders.ordernum'
go
drop default moren
go
3题:建立用户自定义数据类型(基于某一基本数据类型来建立)
格式:sp_addtype 类型名,'基本的数据类型','not null'
例:第一套
sp_addtype newtype,'bigint'
又:sp_addtype mytype1,'char(100)','null'
sp_addtype mytype2,'char(10)','not null'
4题:建立规则并与列结合
建立:create rule 规则名 as 含变量的表达式(变量名一般为@value)
绑定到列:sp_bindrule 规则名,表名.列名
例:第一套
create rule newrule as @value between 100 and 150 【看样图,注意类型‘单引号’】
go
sp_bindrule 'newrule','orders.ordernum'
go
5题:解除规则与列的结合,删除规则
解除:sp_unbindrule 表名.列名
删除:drop rule 规则名
例:第一套
sp_unbindrule 'orders.ordernum'
go
drop rule newrule
go
5题:建立视图
create view 视图名
as select语句
例:
create view newview
as
select ordernum,orderdate
from orders
删除视图:
drop view 视图名
第六单元:建立(执行、重命名、删除)存储过程、建立触发器并验证触发器、查看系统内所有的触发器
1题、
1)创建存储过程语法:
格式: 例如:
create proc 存储过程名 create proc storedproc
as as
【T_SQL语句(只要求了select语句)】 select OrderNum,OrderDate
select +表字段名 from orders
from +表名 go
go exec storedproc
exec 存储过程名 go
go
2)执行存储过程语法:execute/exec 存储过程名
2题:重命名存储过程
语法:sp_rename 老名字,新名字 [不加单引号]
例如: sp_remame storedproc,newproc
3题:删除存储过程(注意已改名了)
语法:
drop procedure 存储过程名字
4题:建立触发器,并验证触发器
含义:动作(update、insert、delete)触发一段代码的自动执行。
用到一个函数(判断某字段的值是否被修改,若修改了,返回真):update(字段名)
语法:
格式: 例子:
create trigger 触发器名称 create trigger newtrigger
on 表名 on orders
for update [动作(只考了update)] for update
as as
if update(字段名) if update(OrderNum)
print '题目要求的提示信息' print(‘订单号码已被修改,触发器起到作用’)
go go
update 表名 update orders
set 要修改值的字段名=修改后的值 【样图有代码照抄,注意类型加不加单引】
where 条件 set OrderNum = 100
go where OrderNum = 101
sp_helptext +触发器名称 go
sp_helptext nwetrigger
验证:(用update语句修改表中的指定的字段,触发器中的代码会自动执行)
照着样张上的语句输入,即可。
说明:检查建立的触发器,两个方法:企业管理器和系统存储过程:sp_helptext 触发器名字
5题:查看系统内所有的触发器列表:查询系统表sysobjects
用语句:
select *
from sysobjects
where xtype='tr'
第七单元 增加数据库的空间(添加文件)、缩小数据库空间(dbcc shrinkdatabase)、 删除数据库、建立/重命名/删除索引
1题:添加数据库的空间(添加数据或日志文件)
数据库的物理结构:由数据文件和日志文件组成。
添加时给出文件的逻辑名字(与题目给的一样,不带扩展名)、物理名字(磁盘文件名,与题目给的一样)、初始大小和增长情况(题目没要求,统一为按1M增长)
- 鼠标点选创建数据库,改位置。
- 增加空间,命令格式:(执行时,要点选新创建的数据库)
alter database 数据库名字
add file
(
name=逻辑名字,
filename='包括路径的物理名字',
size=文件大小,
filegrowth=1 (默认)
)
2题:缩小数据库的空间
命令格式:
dbcc shrinkdatabase (数据库名,缩小比例)
注:缩小比例不加%号,系统 自带百分比。
例: dbcc shrinkdatabase (quention1,50) “50 代表百分之50,一半”
3题:删除数据库
格式:
drop database 数据库名
4题:建立索引(只要求唯一索引)
格式:
create unique index 索引名 on 表名(索引关键字列表)
eg: create unique index theindex on orders(OrderNum)
注意:观察样张,确定是哪个表、索引关键字是哪些字段
5题:重命名索引
格式:
\ sp_rename '表名.旧索引名','新名字',‘加类型(index)’
Eg: sp_rename ‘orders.theindex’,’newindex’,’index’
参考书给的格式:exec sp_rename '表名.旧索引名','新名字','index'
6题:删除索引
格式:
drop index 表名.索引名
Eg: drop index orders.newindex
第八单元 将表中记录导出到文本文件、文本文件数据导入表中、一个数据库导出到另一数据库、数据库备份
数据的导入和导出用SQL Server工具(向导)完成
1题:表中数据导出到文本文件
方法:执行“程序”——>“Mirsoft SQL server”——>“数据导入与导出”,正确选择各步骤选项,注意选择第一行含有列名称。
2题:将文本文件中的数据导入到数据库表中
方法同1题。
3题:将一个数据库中的表导出到另一数据库中
方法同1,注意选择要导出的是哪些表。
4题:备份数据库
下载地址:
全国OSTA计算机高新技术SQLSever数据库四级证书--考证复习知识点集合文档
链接:https://download.csdn.net/download/jo_liver/10882927