一·填空题(每空2分)
1.在MySQL中,创建表的时候,在int类型列的后面添加( ZEROFILL)关键字是用于让存值时,长度不足的地方用0来进行填充,(UNSIGNED)关键字是让该int类型的列里面存储的值不能带有符号。
2.在MySQL中,DQL是(数据查询语言),DCL是(数据控制语音),(DML)是对数据库进行增删改操作的。
3.在MySql中,(inn00B) 引擎支持事务,(Myisam)引擎不支持事务和外键约束。
4.在MySql中,查看系统所支持的存储引擎类型的命令是(Shov engines;)。
5.在MySql中,查看数据表Student的结构的命令是(describe Student;)。
6.在MySQL中,想要査看create database的帮助信息的命令是(help create databuse;)。
7.在MySQL中,想要査看当前数据库下都有哪些数据表的命令是(show tables;)。
8.在 MySQL中,ER图是通过一些具有特定含义的图形符号提供了实体类型、属性和联系的方法其中椭圆形的含义是(属性),矩形的含义是(买体),菱形的含义是(联系)。
9.在 MySQL 中,联合主键是指(有两个或两个以上的字段组成的主键)。
二·简单题(共 20 分)
1.写出drop ,delete,truncate 三个关键字之间的区别(5分)
delete可以删除指定对象
truncate只能操作表的删除
drop是删除表的结构的,drop属于DDL命令
delete和truncate属于DML命令
2.写出3大范式分别都是什么含义(5分)
第一范式:要求数据表中的所有列都是不可分割的原子数,消除重复列确保数据原子性和一致性。
第二范式:要求数据表中的非主键列完全依赖于主键。
第三范式:要求数据表中非主键列之间不存在传递依赖关系。
3.在MySQL中现在有一个varchar类型的值“hello word”,根据字符串方法来取出”world”,写出对应的代码(10分)
selevt substring ('helloworld',6,6);
三·代码题(共50分)
1.创建数据库myschool,并且使用该数据库(4分)
create detabase myschool;
use myschool;
2.创建年级表grades,该表包含列int id编号,主键,标识;string title 年级名称非空,唯一。创建表要求给表添加备注备注信息为年纪表,每个列添加备注,备注信息为上面的中文解释名称(7分)
ceate table grodes
(id int primary key auto_increment,
title varchar(50) not null unique
);
3.创建学生表 xuesheng,该表包含int id 编号,主键,标识;string name 学生姓名 非空date birthDate年龄非空:string gender 性别非空;intgid年级编号非空。(5分)
create table xuesheng
(
id int primary key auto_increment,
name varchar(50) not null,
birthDate date not null,
gender varchar(50) not null,
gid int not null
);
4.使用SQL 语句个上述的学生表添加一个 string类型的tei列.(5分)
alter table xuesheng add tel varchar(50);
5.使用 SQL语句给学生表重新命名,名字改为students。(5分)
alter table xuesheng rename students;
6.查询学生表当中的年龄最大的学员信息,要求展示的列为学生编号和学生姓名(6分)
select id,name from students
where birthDate=(select min(birthDate) from students);
7.给学生表当中的gid列添加一个外键约束(7分)
alter table students add constraint gid foreign key (gid) references students(gid);
8.查询学生表当决年龄最大的5名学生信息(5分)
select from students order by birthDate AsL limit 5;
9./查询每个班级都有多少名学员(6分)
Select g.title,cunt cid,drm grades ginner join Students s.gid =gid group by g.tite.sid;
今日总结就到此结束啦!拜拜!