mysql函数aver_用户自定义函数、索引、默认值、约束(mysql&sqlserver)

Sqlserver环境操作

1、

用户自定义函数根据学号求学生年龄(学号为参数)

create function ages(@xh char(6))

returns int

as

begin

declare @start datetime

set @start=getdate()

declare @ages int

select @ages=datediff(yy,birth,@start)

from xsb

where xh=@xh

return @ages

end

print dbo.ages('081101')

2、

数据类型转换,利用cast函数把成绩转换为字符型,并查找成绩从70到79分的学生

select xh,cj

from cjb

where cast(cj

as char(20))

like '7_' and

cj>=70

3、

用户自定义函数,定一个函数查找某门课程的平均成绩,课程号为参数

create function

avergage(@kch char(20))

returns int

as

begin

declare @aver int

select @aver=(

select avg(cj)

from cjb

where kch=@kch

group by

kch

)

return @aver

end

print dbo.avergage(101)

4、

分别利自定义函数来实现字符串倒置,并调用执行

create function

reversal(@lines varchar(50))

returns varchar(50)

as

begin

declare @numbers varchar(50)

select @numbers=reverse(@lines)

return @numbers

end

print dbo.reversal('351eawlfe')

5、

对xsb表的姓名创建简单索引,并删除

create index xsb_xm_in

on xsb(xm)

drop index

xsb.xsb_xm_in

6、

对xsb表的姓名创建唯一索引,并删除,如果创建不成功,请解释为什么

create unique index xsb_xm_in

on xsb(xm)

创建失败及原因:

消息1505,级别16,状态1,第1 行

CREATE UNIQUE INDEX 终止,因为发现对象名称'dbo.xsb' 和索引名称'xsb_xm_in' 有重复的键。重复的键值为(王林)。

语句已终止。

即:有两个叫王林的人,所以无法创建唯一索引。

7、

对xsb表的姓名创建聚集索引,如果创建不成功,请解释为什么

create unique clustered index

xsb_xm_ind

on xsb(xm)

创建失败及原因:

消息1902,级别16,状态3,第1 行

无法对表'xsb' 创建多个聚集索引。请在创建新聚集索引前删除现有的聚集索引'PK__xsb__7C8480AE'。

即:table原本就有主键即为学号,而每个表只会有一个聚焦索引。

8、

对xsb表的姓名和专业名创建复合索引,并删除

create index xsb_ind

on xsb(xm,zy)

drop index

xsb.xsb_ind

9、

新建用户表,含用户号、用户名、注册时间、手机号码、性别等字段属性

用户号自增,注册时间用当前时间做默认值、性别用1做默认值,手机号码长度必须等11位

create table uers

(

id int identity(1,1)

primary key,

username varchar(25)

not null,

regTime datetime null

default getdate(),

phone int null

check(len(phone)=11)

sex int not

null default 1

)

Mysql环境操作

10、

用户自定义函数根据学号求学生年龄(学号为参数)

a4c26d1e5885305701be709a3d33442f.png

11、

数据类型转换,利用cast函数把成绩转换为字符型,并查找成绩从70到79分的学生

select xh,cj

from cjb

where cast(cj as

char(20)) like '7_' and cj>=70

12、

用户自定义函数,定一个函数查找某门课程的平均成绩,课程号为参数

a4c26d1e5885305701be709a3d33442f.png

13、

分别利自定义函数来实现字符串倒置,并调用执行

a4c26d1e5885305701be709a3d33442f.png

14、

对xsb表的姓名创建简单索引,并删除

create index xsb_xm_in

on xsb(xm)

drop index xsb_xm_in

on xsb

15、

对xsb表的姓名创建唯一索引,并删除,如果创建不成功,请解释为什么

create unique index xsb_xm_in

on xsb(xm)

创建失败及原因:

#1062 - Duplicate entry '王林' for key

'xsb_xm_in'

16、

对xsb表的姓名创建聚集索引,如果创建不成功,请解释为什么

create unique clustered index

xsb_xm_ind

on xsb(xm)

创建失败。

17、

对xsb表的姓名和专业名创建复合索引,并删除

create index xsb_ind

on xsb(xm,zy)

drop index xsb_ind

on xsb

18、

新建用户表,含用户号、用户名、注册时间、手机号码、性别等字段属性

用户号自增,注册时间用当前时间做默认值、性别用1做默认值,手机号码长度必须等11位

create table uers

(

id int auto_increment primary key,

username varchar(25) not null,

regTime timestamp not null current_timestamp,

phone int null check(length(phone)=11),

sex int default 1

)

思考:

索引的作用,唯一索引和主键的区别

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
torch.save(model.state_dict(), r'./saved_model/' + str(args.arch) + '_' + str(args.batch_size) + '_' + str(args.dataset) + '_' + str(args.epoch) + '.pth') # 计算GFLOPs flops = 0 for name, module in model.named_modules(): if isinstance(module, torch.nn.Conv2d): flops += module.weight.numel() * 2 * module.in_channels * module.out_channels * module.kernel_size[ 0] * module.kernel_size[1] / module.stride[0] / module.stride[1] elif isinstance(module, torch.nn.Linear): flops += module.weight.numel() * 2 * module.in_features start_event = torch.cuda.Event(enable_timing=True) end_event = torch.cuda.Event(enable_timing=True) start_event.record() with torch.no_grad(): output = UNet(args,3,1).to(device) end_event.record() torch.cuda.synchronize() elapsed_time_ms = start_event.elapsed_time(end_event) gflops = flops / (elapsed_time_ms * 10 ** 6) print("GFLOPs: {:.2f}".format(gflops)) return best_iou, aver_iou, aver_dice, aver_hd, aver_accuracy, aver_recall, aver_precision, aver_f1score, aver_memory, fps, parameters, gflops出现错误 best_iou,aver_iou,aver_dice,aver_hd, aver_accuracy, aver_recall, aver_precision, aver_f1score, aver_memory, FPS, parameters, gflops = val(model,best_iou,val_dataloader) File "D:/BaiduNetdiskDownload/0605_ghostv2unet _tunnelcrack/ghostunet++/UNET++/main.py", line 143, in val return best_iou, aver_iou, aver_dice, aver_hd, aver_accuracy, aver_recall, aver_precision, aver_f1score, aver_memory, fps, parameters, gflops UnboundLocalError: local variable 'gflops' referenced before assignment怎么修改
06-08
这个错误是因为在函数定义了 `gflops` 变量,但是在函数返回时并没有为它赋,导致出现了未赋的情况。可以将 `gflops` 变量在函数一开始就赋一个初始,比如设为0。代码修改如下: ``` def val(model, best_iou, val_dataloader, device): model.eval() aver_iou = 0 aver_dice = 0 aver_hd = 0 aver_accuracy = 0 aver_recall = 0 aver_precision = 0 aver_f1score = 0 aver_memory = 0 fps = 0 parameters = sum(param.numel() for param in model.parameters()) gflops = 0 # 在这里为 gflops 赋一个初始 with torch.no_grad(): for step, (images, labels) in enumerate(val_dataloader): images = images.to(device) labels = labels.to(device) outputs = model(images) iou, dice, hd, accuracy, recall, precision, f1score = eval_metrics(outputs, labels) memory = torch.cuda.max_memory_allocated() / 1024.0 / 1024.0 aver_iou += iou aver_dice += dice aver_hd += hd aver_accuracy += accuracy aver_recall += recall aver_precision += precision aver_f1score += f1score aver_memory += memory aver_iou /= len(val_dataloader) aver_dice /= len(val_dataloader) aver_hd /= len(val_dataloader) aver_accuracy /= len(val_dataloader) aver_recall /= len(val_dataloader) aver_precision /= len(val_dataloader) aver_f1score /= len(val_dataloader) aver_memory /= len(val_dataloader) fps = len(val_dataloader.dataset) / (time.time() - start_time) # 统计模型的GFLOPs flops = 0 for name, module in model.named_modules(): if isinstance(module, torch.nn.Conv2d): flops += module.weight.numel() * 2 * module.in_channels * module.out_channels * module.kernel_size[0] * module.kernel_size[1] / module.stride[0] / module.stride[1] elif isinstance(module, torch.nn.Linear): flops += module.weight.numel() * 2 * module.in_features start_event = torch.cuda.Event(enable_timing=True) end_event = torch.cuda.Event(enable_timing=True) start_event.record() with torch.no_grad(): output = UNet(args, 3, 1).to(device) end_event.record() torch.cuda.synchronize() elapsed_time_ms = start_event.elapsed_time(end_event) gflops = flops / (elapsed_time_ms * 10 ** 6) print("GFLOPs: {:.2f}".format(gflops)) return best_iou, aver_iou, aver_dice, aver_hd, aver_accuracy, aver_recall, aver_precision, aver_f1score, aver_memory, fps, parameters, gflops ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值