一、单选题 (题数:12,共 60.0 分)
1.在电讯业务中,需要记录用户的信息和通话的信息。请建立电讯业务数据库Commdb,创建数据库的正确SQL语句是()。
(5.0分)
- A、
CREATE DATABASE Commdb
- B、
CREATE DATABASE Commdb;
- C、
CREATE TABLE Commdb;
- D、
CREATE TABLE Commdb
正确答案: B
2.创建数据表“UserInfo”,表的结构如下图所示,创建表并添加主键约束的SQL代码是()。
(5.0分)
- A、
CREATE TABLE UserInfo
( UserID varchar(30) not null,
UserName varchar(30) not null,
TelNo varchar(30) not null,
IDNumber varchar(18) not null,
constraint c1 primary key(UserID)
);
- B、
CREATE TABLE UserInfo
( UserID varchar(30) not null,
UserName varchar(30) not null,
TelNo varchar(30) not null,
Address varchar(100) null,
IDNumber varchar(18) not null
);
- C、
CREATE TABLE UserInfo
( UserID varchar(30) not null,
UserName varchar(30) not null,
TelNo varchar(30) not null,
Address varchar(100) null,
IDNumber varchar(18) not null,
constraint c1 primary key(UserID),
);
- D、
CREATE TABLE UserInfo
( UserID varchar(30) not null,
UserName varchar(30) not null,
TelNo varchar(30) not null,
Address varchar(100) null,
IDNumber varchar(18) not null,
constraint c1 primary key(UserID)
);
正确答案: D
3.创建数据表“TelRecord”,表的结构如下图所示,创建表的SQL代码是()。
(5.0分)
- A、
CREATE TABLE TelRecord
( CommID varchar(30) not null,
UserID varchar(30) not null,
TerminCall varchar(30) not null,
StartTime datetime not null,
EndTime datetime not null,
CallType int not null,
Fee decimal(4,1) not null
);
- B、
CREATE TABLE TelRecord
( CommID varchar(30) null,
UserID varchar(30) null,
TerminCall varchar(30) null,
StartTime datetime null,
EndTime datetime null,
CallType int null,
Fee decimal(4,1) null
);
- C、
CREATE TABLE UserInfo
( CommID varchar(30) not null,
UserID varchar(30) not null,
TerminCall varchar(30) not null,
StartTime datetime not null,
EndTime datetime not null,
CallType int not null,
Fee decimal(4,1) not null
);
- D、
CREATE TABLE UserInfo
( CommID varchar(30) null,
UserID varchar(30) null,
TerminCall varchar(30) null,
StartTime datetime null,
EndTime datetime null,
CallType int null,
Fee decimal(4,1) null
);
正确答案: A
4.在创建表后,给TelRecord表的CommID字段添加主键约束的SQL代码是()。
(5.0分)
- A、
alter table TelRecord add primary key(CommID);
- B、
alter table CommID add primary key(TelRecord);
- C、
alter table CommID add foreign key(TelRecord);
- D、
alter table TelRecord add foreign key(CommID);
正确答案: A
5.请为用户信息表添加唯一约束,保证电话号码不能重复,下面正确的SQL语句是()。
(5.0分)
- A、
alter table UserInfo add default(TelNo);
- B、
alter table UserInfo add check(TelNo);
- C、
alter table UserInfo add unique(TelNo);
- D、
alter table UserInfo add frimary key(TelNo);
正确答案: C
6.请为通话记录表添加默认约束,通话类型默认值为1,下面SQL语句正确的是()。
(5.0分)
- A、
alter table TelRecord alter column CallType set default 2;
- B、
alter table TelRecord alter column CallType set default 1;
- C、
alter table TelRecord alter column EndTime set default 1;
- D、
alter table TelRecord alter column StartTime set default 1;
正确答案: B
7.为两张表添加以下数据,其中使用SQL语句添加“UserInfo表”中的数据,下面正确的是()。
表1 用户信息表(UserInfo)
表2 通话记录表(TelRecord)
(5.0分)
- A、
insert into UserInfo values('小花','15988776655','珠海金湾','440404100401016601','001'),
('小草','13900001111','北京海淀','101022199011223884','002'),
('小河','13679242208','广州天河','440102199930104990','003');
- B、
insert into UserInfo values('001','小花','15988776655','珠海金湾','440404100401016601')
('002','小草','13900001111','北京海淀','101022199011223884')
('003','小河','13679242208','广州天河','440102199930104990');
- C、
insert into UserInfo values('001','小花','15988776655','珠海金湾','440404100401016601'),
('002','小草','13900001111','北京海淀','101022199011223884'),
('003','小河','13679242208','广州天河','440102199930104990');
- D、
insert into UserInfo values('001','小花','15988776655','珠海金湾','440404100401016601');
正确答案: C
8.查询电话号码以13开头的所有用户的姓名、电话号码和身份证号,下面SQL语句正确的是()。
(5.0分)
- A、
select username as 用户姓名,telephone as 电话号码,IDNUMBER as 身份证号 from UserInfo where Telephone like '13%';
- B、
select username as 用户姓名,telephone as 电话号码,IDNUMBER as 身份证号 from UserInfo where Telephone='13%';
- C、
select username as 用户姓名,telephone as 电话号码,IDNUMBER as 身份证号 from UserInfo where Telephone like '%13';
- D、
select username as 用户姓名,telephone as 电话号码,IDNUMBER as 身份证号 from UserInfo where Telephone='%13';
正确答案: A
9.查询没有打过电话的用户信息,包括用户编号、用户名称和电话,下面正确的SQL语句是()。
(5.0分)
- A、
select userid as 用户编号 ,username as 用户名称 ,telephone as 电话from UserInfo where UserID =(select UserID from TelRecord);
- B、
select userid as 用户编号 ,username as 用户名称 ,telephone as 电话from UserInfo where UserID !=(select UserID from TelRecord);
- C、
select userid as 用户编号 ,username as 用户名称 ,telephone as 电话from UserInfo where UserID in(select UserID from TelRecord);
- D、
select userid as 用户编号 ,username as 用户名称 ,telephone as 电话from UserInfo where UserID not in(select UserID from TelRecord);
正确答案: D
10.修改“小河”的地址,将其地址变更为“广州白云”,下面SQL语句正确的是()。
(5.0分)
- A、
update UserInfo set UserName='小河' where Address='广州白云';
- B、
delete UserInfo set Address='小河' where UserName='广州白云';
- C、
delete UserInfo set Address='广州白云' where UserName='小河';
- D、
update UserInfo set Address='广州白云' where UserName='小河';
正确答案: D
11.为用户信息表的“顾客身份证号”创建唯一索引idx_IDNumber,下面的SQL语句正确是()。
(5.0分)
- A、
create spatial index idx_IDNumber on userinfo(idnumber);
- B、
create unique index idx_IDNumber on userinfo(idnumber);
- C、
create fulltext index idx_IDNumber on userinfo(idnumber);
- D、
以上都不正确
正确答案: B
12.创建视图,显示用户姓名、主叫号码、被叫号码和通话时长(以秒计算)(提示:使用datediff函数),下面正确的SQL语句是()。
(5.0分)
- A、
create view View1
select username as 用户姓名,telephone as 主叫号码,TerminCall as 被叫号码,DATEDIFF(SS,StartTime,EndTime) as 通话时长
from UserInfo inner join TelRecord on userinfo.UserID=TelRecord.UserID;
- B、
create view View1
as
select username as 用户姓名,telephone as 主叫号码,TerminCall as 被叫号码,DATEDIFF(SS,StartTime,EndTime) as 通话时长
from UserInfo;
- C、
create view View1
as
select username as 用户姓名,telephone as 主叫号码,TerminCall as 被叫号码
from UserInfo inner join TelRecord on userinfo.UserID=TelRecord.UserID;
- D、
create view View1
as
select username as 用户姓名,telephone as 主叫号码,TerminCall as 被叫号码,DATEDIFF(SS,StartTime,EndTime ) as 通话时长
from UserInfo inner join TelRecord on userinfo.UserID=TelRecord.UserID;
正确答案: D