SQL SERVER 5

本文展示了多个SQL命令,包括创建数据库和表、修改表结构、数据插入、更新与删除,以及查询操作。还涉及视图创建、索引管理、存储过程编写与触发器的使用,最后提到了登录与权限管理。
摘要由CSDN通过智能技术生成

1-2
select DATEADD(YY,2,GETDATE())

2-1
create database question5 on primary(
name ='question5_data.mdf',
fileName='C:\GATAnswer\question5_data.mdf',
size=5MB,
maxsize =8MB,
filegrowth =12% 

)
log on(
name ='question5_log.ldf',
fileName='C:\GATAnswer\question5_log.ldf',
size=5MB,
maxsize =8MB,
filegrowth = 14%

2-2
create table publishers(
    PubCode char(4) not null,
    PubName char(50) not null,
    Phone char(15),
    Address varchar(100),
    CityCode char(4),
    primary key (PubCode)
)

2-3
alter table publishers add pnum int
2-4
alter table publishers  alter column Address varchar(120)
2-5
alter table publishers drop column pnum
2-6
drop table publishers
2-7
drop database question5

3-1
insert into publishers (PubCode,PubName) values('TDBC','人民出版社')

3-2
update category set CategoryName ='面向对象语言开发'  where CategoryName ='JAVA'

3-3
delete from publishers where PubName ='人民出版社'

3-4
select * from publishers order by CityCode  Asc

3-5
select distinct price from titles 

3-6
select TitleCode 出版物代码, TitleName 出版物名称 , Price 价格  from titles where Price > 40

4-1
select TitleName,PubDate,Price from titles where Price between 40 and 80 order by Price Desc

4-2
select CategoryID,CategoryName
from category
where CategoryName in ('JAVA','电子商务','C#基础')

4-3
select TitleName,Price,Author
from titles
where Author like '张%

4-4
select TitleName,Author,PubCode
from titles
where PubCode like '_X%'

4-5
select Price*0.5 as '5折价格', Price, titleName
from titles

4-6
select TitleName, LEFT(TitleName,1)+' '+RIGHT(TitleName,1) as 出版物首位, Author
from titles

4-7
select CEILING(4.52)
select FLOOR(4.52)

4-8
select @@ERROR

5-1
select MIN(PubDate) as 最早出版日期
from titles

5-2
select year(MIN(PubDate)) as 最早年份, CategoryID 
from titles
group by CategoryID

5-3
select YEAR(MIN(PubDate)) as 最早年份, CategoryID
from titles
group by CategoryID
Having YEAR(MIn(PubDate)) > 2009

5-4
select c.CityCode,CityName,PubName
from city c left join publishers p on c.CityCode = p.CityCode
order by c.CityCode desc

5-5
select TitleName,Author,Price 
from titles 
where Price >(
select min(Price) from titles
)

5-6
select CategoryID,CategoryName from category where CategoryName = 'ASP.NET' 
union
select CategoryID,CategoryName from category where CategoryName = '移动互联网'

6-1
declare @vname char(8),@vtime time
set @vname = '体育新闻'
set @vtime = '19:55:00'

6-2
declare @vname char(8),@vtime time
set @vname = '体育新闻'
set @vtime = '19:55:00'
print '局部变量: @vanme:'+ @vname +'  @vtime: '+ CONVERT(Varchar,@vtime,120)
print '全局变量:@@Language(当前所用语言的名称):'+@@Language

6-3
declare @vcode char(4),@vdate date
set @vcode = 'T012'
set @vdate = (
    select PubDate
    from titles
    where TitleCode = @vcode
)
select * from titles
select @vcode+'出版物的的出版日期是:'+convert(varchar, @vdate, 120) as 显示出版日期

6-4
create view view1 as (
select TitleName as 出版物名称, Author as 作者, Price as 价格, PubCode as 出版社代码, PubDate as 出版日期
from titles
where TitleName like '%数据库%'
)

select * from view1

6-5
create view view2 as
select c.CategoryID as 类别ID, CategoryName as 类别名称, Max(Price) as 最高价格
from category c left join titles t on c.CategoryID = t.CategoryID
order by c.CategoryID,c.CategoryName

select * from view2

6-6
create index newidx on titles(Author)

6-7
drop view view1,view2
drop index newidx on titles

7-1
create procedure sproc1
as
select PubName,Phone
from publishers p inner join titles t on p.PubCode = t.PubCode
where t.TitleName = 'Oracle数据库初学者指南'
exec sproc1

7-2
create procedure sproc2
@titleName varchar(50)
as
select PubName,Phone
from publishers p inner join titles t on p.PubCode = t.PubCode
where t.TitleName = @titleName

exec sproc2 'Oracle数据库初学者指南'

7-3
create procedure sproc3
@pubName varchar(50),
@addr varchar(100) output
as
begin
    select @addr = Address
    from publishers 
    where PubName = @pubName
end

declare @pa varchar(100)
exec sproc3 '新希望出版社', @pa output
print '新希望出版社的地址是'+@pa

7-4
create TRIGGER newtrigger
on publishers 
for update
as 
    if update(Phone)
        print '出版社电话已更改,触发器起到作用'

update publishers
set Phone = '020-87056742'
where PubName = '白云出版社'

7-5
drop procedure sproc1
drop procedure sproc2
drop procedure sproc3

drop trigger newtrigger

8-1
exec sp_addlogin 'Login5','555555'
8-2
exec sp_grantdbaccess 'Login5','dbUser5'
8-3
grant select,insert on titles to dbUser5


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值