周末作业

一:创建数据库Login,并新建两张表,插入数据
在这里插入图片描述
二:写sql语句
1: 写一个包含连接和分组的sql

select COUNT(*) Count,s.Sname from [Admin] a Inner join [Subject] s on s.Id=a.Id group by s.Id,s.Sname

2: 写一个包含连接和case when的sql

select Name,  CASE IsStatu when   'true' THEN '是' when   'false' THEN '否' END  from [Admin]

3: 写一个包含连接和Cast()函数的sql

select CAST(Password) from dbo.Login

4:写一个包含连接和Convert()函数的sql

select CONVERT(varchar(100),CreateTime,100) from [Admin]

5:写一个包含子查询的sql

select Name from [Admin] where  Sid =( select Id from [Subject] where Sname='自然科学')

6:写一个视图的sql

create view [UserInfo]  AS select  Name,Password from [Admin] where IsStatu='false'

7:创建索引的sql

create index userId ON [Admin] (Id)

8:分页存储过程sql

create proc [dbo].[PageList]
(
@PageIndex int,
@PageSize int,
@TableName varchar(200),
@CoumnName varchar(500),
@Where varchar(500),
@OrderBy varchar(500),
@Count int out
)as
declare @sql nvarchar(2000)
set @sql=' select '+@CoumnName+' from (select '+@CoumnName+
' ,row_number() over(order by '+@OrderBy+' ) as number from '+@TableName+ ' where '+@Where+
' ) t where t.number between '+ Cast(((@PageIndex-1)*@PageSize+1) as varchar(200)) + ' and '+
Cast((@PageIndex*@PageSize)as varchar(200));
print @sql;
exec(@sql);
set @sql='select count(*)  from '+@TableName+' where '+@Where;
print @sql;
exec sp_executesql @sql,N'@total int out',@total=@Count output

9:写一个触发器sql

create trigger Admin on [Admin]
instead of delete
as
begin 
declare @id int
select @id=Id from deleted
delete from [Subject] where Id=@id
delete from [Admin] where Id=@id
end
go 
delete from [Subject] where Id=1

10:写一个存储过程包含事务的sql

create  proc [dbo].[Proc_InsertRole]
@RoldName nvarchar(50),@RoldRemark  varchar(200),@RoldCreateTime datetime
as
begin
set nocount on  --on表示不返回计数
set xact_abort on  --当执行事务时,如果出错,会将transcation设置为uncommittable状态
begin try 
declare @stuCountByName int;
select @stuCountByName=count(*) from Role where Name=@RoldName; 
if(isnull(@RoldName,'')='')
begin
print('名字不能为空');
return;
end
if(@stuCountByName>0)
begin
print('名字重复');
return
end
begin tran  --开启事务
insert into Role(Name,Remark,CreateTime) values(@Sname,@Remark,@CreateTime)
commit tran  --提交事务
end try
begin catch
if xact_state()=-1
rollback tran;  --回滚事务
select ERROR_NUMBER() as ErrorNumber;
select ERROR_MESSAGE() as ErrorMsg;
end catch
set xact_abort off;
end
EXECUTE [Proc_InsertSuject] '英语','无','2019-5-6 12:23:34',1

11: 如何一次性往一张表【插入/更新】10条数据,存储过程实现。

写一个存储过程,里面写一个循环,就可以了。主键你现在不是自增的,所以写语句的时候,就Insert到3个字段中。
DELIMITER $$
DROP PROCEDURE IF EXISTS `proc_auto_insertdata`$$
CREATE PROCEDURE `proc_auto_insertdata`()
BEGIN
DECLARE init_data INTEGER DEFAULT 1;
WHILE init_data <= 10 DO 
INSERT INTO t_1 VALUES(init_data, CONCAT('测试', init_data), init_data + 10);
SET init_data = init_data + 1;
END WHILE; 
END$$
DELIMITER ;
CALL proc_auto_insertdata();

12: 分页的实现方式?至少写3种

select * from dbo.[Admin] where Id between 3 and 4
select top 5 * from dbo.[Admin]  where Id not in(select top 2 Id from dbo.[Admin])
select top 5 * from (select top 5 * from( select top 10 * from dbo.[Admin] order by Id )t order by t.Id desc)s order by s.Id asc

13: 写一个包含连接和分组,并且根据某个字段拼接的sql

select s.Name ,STUFF((select ',' +a.Name from [Admin] a where a.SId=r.Id for xml path('')),1,1,'') children  from [Subject] s group by s.Id ,s.Name

14:写一个包含having写法的sql

select a.Name,s.Sname from [Admin] a  inner join [Subject] s on a.SId=s.Id group by s.Id , a.Name,s.Sname  having s.Id=1

15:写一个包含连接和分组,排序的sql

select a.Name,s.Sname from [Admin] a  inner join [Subject] r on a.SId=s.Id  group by s.Id  , a.Name,s.Sname order by  s.Id 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
08-10
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值