mysql试题

**

题目:

**
(1)任务描述
《课程管理》模块的数据表字段名定义见表 2.13.1。请按以下设计完成数据库创建、数据表创建和数据操作任务:
表 2.13.1 字段名定义表
字段名 类型 备注 约束
course_id varchar(20) 课程 ID 主键
course_name varchar(20) 课程名称 非空
speciality_id varchar(20) 专业 ID 非空
time int 课程学时 非空
mark int 课程学分 只能是1到6分之间

任务一:创建数据库(10 分)
创建数据库 SelfStudy。
任务二:创建数据表(25 分)
创建数据表 T_course。
任务三:创建数据表间的关系及约束(15 分)
为表设置主键,主键命名为“pk_<表名>_<主键标识>”;
为课程学分列(mark)设置只能为1到6的数。
任务四:数据操作(40 分)
在表中插入以下数据,用作测试。
用 SQL 语句完成如下操作:
①在表中插入 5 条测试数据(样本数据包含下面题目中使用的数据)。
②查询 “电子政务”专业开设的课程;
③将课程名称为SQLServer数据库的课程学分改为6分;
④删除课程学分为1的记录。


答案:


1.创建数据库,设置编码格式,并设置排序方式
create database SelfStudy
character set ‘utf8’ collate ‘utf8_general_ci’;
2.进入数据库
use SelfStudy;
3.创建表
create table T_course
(
course_id varchar(20) not null comment ‘课程ID’,
course_name varchar(20) not null comment ‘课程名称’,
speciality_id varchar(20) not null comment ‘专业ID’,
time int not null comment ‘课程学时’,
mark int not null comment ‘课程学分’
);
4.设置主键
alter table T_course
-add constraint pk_T_course_course_id primary key(course_id);
5.修改结束标示,改为#
delimiter#
6.创建触发器,进行学分只能是1-6之间的操作
create trigger t1 before insert on T_course for each row
begin
declare msg varchar(100);
if new.mark<1 or new.mark>6
then set msg=‘课程学分只能是1到6分之间’;
signal sqlstate ‘HY000’ set message_text=msg;
end if;
end#
7.插入数据
例如:
insert into T_course values(‘c004’,‘高数’,‘大数据’,32,1);
8.查询数据
select * from T_course where speciality_id=‘电子政务’;
9.更新数据
update T_course set mark = 6 where course_name =‘SQLServer数据库’;
10.删除数据
delete from T_course where mark=1;

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浏贻笑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值