文档章节

数据库sql语句笔试题--包含创建数据库、表、插入记录、查询等操作

Beauxie
 Beauxie
发布于 2017/09/06 14:49
字数 956
阅读 50
收藏 0

数据库笔试题,包含创建数据库、表、插入记录、查询等操作


以下是sql server语句,因为自己电脑上没有装sql server,只装了mysql,所以悲剧了,在创建数据库的时候一直报错,以为自己的语句写的有问题,到后来才把sql语句复制到 sql server上能完美运行时,才幡然醒悟!但后面sql语句是用mysql写的,运行都没问题,我想应该是差不多的吧。

1.    创建数据库。要求用SQL语句创建满足如下要求的数据库:

(1)    数据库名称为School;

(2)    主数据文件:逻辑名为SchoolData,文件名为“D:\School\SchoolData.mdf”,文件初始大小为50MB,文件的最大大小不受限制,文件的增长率为20%。

(3)    日志文件:逻辑名为SchoolLog,文件名为“D:\School\SchoolLog.ldf,”文件初始大小为10MB,文件的最大大小为50MB,文件的增长率为1MB;

create database School
on primary
(name='SchoolData',
filename='D:\School\SchoolData.mdf',
size=50MB,
maxsize=unlimited ,
filegrowth=20%)
log on(
name='SchoolLog',
filename='D:\School\SchoolLog.ldf',
size=10MB,
maxsize=50MB,
filegrowth=1MB
)

2.    创建数据类型和表,增加约束。

(1)    表tblstudent(学生表):

列名

数据类型

可空性

约束

备注

stuID

bigint

非空

primary key

学号

stuName

nvarchar(10)

非空

 

姓名

stuSex

nchar(1)

非空

只能是‘男’或‘女’

性别

stuBirth

datetime

可空

小于系统当前时间getdate()

出生日期

stuNum

nvarchar(18)

可空

Unique

身份证号

Departed

int

可空

 

系号

City

nvarchar(10)

可空

默认是“杭州”

城市

stuTelphone

type_telphone

可空

 

电话号码

sql语句如下:

create table tblstudent(
stuID bigint primary key,
stuName nvarchar(10) not null,
stuSex nchar(1) not null,
stuBirth datetime,
stuNum nvarchar(18) unique,
Departed int,
City nvarchar(10) default '杭州' ,//设置默认值
constraint ck_tblstudent_stusex check(stuSex IN('男','女') ),//建立约束
constraint ck_tblstudent_stuBirth check(stuBirth<getdate())
) 

(2)    表tblscore(成绩表):

列名

数据类型

可空性

约束

备注

stuID

bigint

非空

foreign key 引用tblstudent中的stuID

学号

Math

Int

可空

0~100分

数学

English

Int

可空

0~100分

英语

Computer

Int

可空

0~100分

计算机

Summary

Int

可空

 

总计

 SQL语句如下:

create table tblscope(
stuID bigint ,
Math int,
English int,
Computer int,
Summary int,
/*建立外键约束*/
constraint stuID_FK foreign key (stuID) references tblstudent(stuID),
constraint ck_tblscope_Math CHECK(Math between 0 and 100 or Math is null),
constraint ck_tblscope_English CHECK(English between 0 and 100 or English is null),
constraint ck_tblscope_Computer CHECK(Computer between 0 and 100 or Computer is null)
)

3.使用SQL语句插入下表中的数据:

(1)tblstudent(学生表):

stuID

stuName

stuSex

stuBirth

stuNum

Departed

City

stuTelphone

1001

赵毅

1990 /1/1

510111199001014279

1

杭州

1324362888

1002

钱尔

1993 /2/2

110008199302022325

2

杭州

1776789999

(2)tblscope(成绩表):

stuID

Math

English

Computer

Summary

1001

70

80

90

null

1002

45

55

60

null

使用SQL语句插入表(2)tblscope中的数据(在插入下表数据之前,tblstudent表中必须有对应的stuID),语句如下:

/*批量插入,当添加一条新的记录时,可以省略字段名,但每个字段都必须有值)*/
insert into tblscope values(1001,70,80,90,null),(1002,45,55,60,null);

4.找出总成绩最高的学生的学号和姓名

 SQL语句如下:

/*第一步:从tblscope表中找出最高成绩*/
select  max(Math+English+Computer) from tblscope 

/*第二步:从tblscope表中找出总成绩=最高分的那位学生ID*/
select stuID from tblscope group by stuID having 
sum(Math+English+Computer)=(select  max(Math+English+Computer) from tblscope )

/*第三步:根据最高分查出来的学生stuID再来查询学生信息*/
select stuID,stuName from tblstudent where stuID=
(select stuID from tblscope group by stuID having 
sum(Math+English+Computer)=(select  max(Math+English+Computer) from tblscope ))

5.统计男生女生的人数

SQL语句如下:

select stuSex as '性别',count(*) as '人数 'from tblstudent group by stuSex
查询结果:


注:这是某家公司校招的数据库笔试题,以上答案都是自己写的,如有不对之处,敬请指正!



© 著作权归作者所有

Beauxie

Beauxie

粉丝 1
博文 41
码字总数 42379
作品 0
杭州
私信 提问
Linux运维MySQL必会面试题100道

老男孩教育Linux运维班MySQL必会面试题100道 (1)基础笔试命令考察 (要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位) 1.开启MySQL服务 2.检测端口是否运...

老男孩oldboy
2017/08/25
0
0
java初级面试题(sql方面)

下面我给大家带来一些数据库知识点和面试题。 下列的链接是我看到非常好的java基础面试题的博文推荐给大家。 http://blog.csdn.net/jackfrued/article/details/44921941/ 关系数据库这一块是...

The_flying_pig
2017/12/18
0
0
MySQL入门教程系列-1.2 数据库技术构成

数据库技术构成 共同编辑,修正错误,这里点击进去 数据库技术的出现是为了更加有效的管理和存取大量的数据资源。简单的来讲,数据库技术主要包括数据库系统,SQL语言,数据库访问技术。 数据...

小弟调调™
2016/09/29
0
0
sql学习

SQL DML 和 DDL 可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL)。 SQL (结构化查询语言)是用于执行查询的语法。但是 SQL 语言也包含用于更新、插入和删除记录的语法。 ...

林新育
2017/07/19
0
0
数据库笔试面试题库(Oracle、MySQL等)

数据库笔试面试题库(Oracle、MySQL等) 版权声明:版权所有,欢迎分享本文,转载请保留出处,否则追究法律责任,谢谢合作。 注:本文将持续更新,可关注作者微信公众号以便获得最新笔试面试...

小麦苗best
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

MainThreadSupport

MainThreadSupport EventBus 3.0 中的代码片段. org.greenrobot.eventbus.MainThreadSupport 定义一个接口,并给出默认实现类. 调用者可以在EventBus的构建者中替换该实现. public interface ...

马湖村第九后羿
32分钟前
3
0
指定要使用的形状来代替文字的显示

控制手机键盘弹出的功能只能在ios上实现,安卓是实现不了的,所以安卓只能使用type类型来控制键盘类型,例如你要弹出数字键盘就使用type="number",如果要弹出电话键盘就使用type="tel",但这...

前端老手
42分钟前
5
0
总结:Raft协议

一、Raft协议是什么? 分布式一致性算法。即解决分布式系统中各个副本数据一致性问题。 二、Raft的日志广播过程 发送日志到所有Followers(Raft中将非Leader节点称为Follower)。 Followers收...

浮躁的码农
49分钟前
7
0
Flask-admin Model View字段介绍

Model View字段介绍 can_create = True 是否可以创建can_edit = True 是否可以编辑can_delete = True 是否可以删除list_template = 'admin/model/list.html' 修改显......

dillonxiao
今天
5
0
从AnnotationTransactionAspect开始rushSpring事务

0. Spring 事务 with LTW 0.1. Spring 事务 With LTW的原因: Pure Proxy-base mode有缺陷,其失效原因分析及使用方法及运行机制(LoadTimeWeaverBeanDefinitionParser和 AspectJWeavingEnable......

Aruforce
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部