1、数据库程序设计模拟试卷 10及答案与解析 一、单项选择题 1 假设客户表中有客户号 (关键字 )C1 C10共 10条客户记录,订购单表有订单号(关键字 )OR1一 OR8共 8条订购单记录,并且订购单表参照客户表。如下命令可以正确执行的是 ( A) INSERT INTO订购单 VALUES(OR5, C5, 2008 10 10) ( B) INSERT INTO订购单 VALUES(OR5, C11, 2008 10 10) ( C) INSERT INTO订购单 VALUES(OR9, C 11, 2008 10 10) ( D) INSERT INTO订购单 VALUES(OR9,
2、C5, 2008 10 10) 2 正确的 SQL插入命令的语法格式是 ( A) INSERT INVALUES ( B) INSERT TOVALUES ( C) INSERT INTOVALUES ( D) INSERTVALUES 3 设有学生表 student(学号,姓名,性别,出生日期,院系 )、课程表 course(课程号,课程名,学时 )和选课表 score(学号,课程号,成绩 ),删除学号 为 “20091001”且课程号为 “C1”的选课记录,正确命令是 ( A) DELETE FROM score WHERE课程号 =C1AND学号 =20091001 ( B) DELET
3、E FROM score WHERE课程号 =C1OR学号 =20091001 ( C) DELETE FORM score WHERE课程号 =C1AND学号 =20091001 ( D) DELETE score WHERE课程号 =C1AND学号 =2009100l 4 删除表 s中字段 c的 SQL命令是 ( A) ALTER TABLE s DELETE c ( B) ALTER TABLE s DROP c ( C) DELETE TABLE s DELETE c ( D) DELETE TABLE s DROP c 5 使用 SQL语句将表 s中字段 price的值大于 30的记
4、录删除,正确的命令是 ( A) DELETE FROM s FOR price30 ( B) DELETE FROM s WHERE price3 0 ( C) DELETE s FOR price30 ( D) DELETE s WHERE price30 6 在 SQL语句中,插入一条新记录采用的命令是 ( A) INSERT ( B) ADD ( C) UPDATE ( D) CREATE 7 使用 SQL语句将学生表 S中年龄 (AGE)大于 30岁的记录删除,正确的命令是 ( A) DELETE FOR AGE30 ( B) DELETE FROM S WHERE AGE30 ( C
5、) DELETE S FOR AGE30 ( D) DELETE S WHERE AGE30 8 在 SQL语句中,删除一条记录采用的命令是 ( A) INSERT ( B) DELETE ( C) UPDATE ( D) DROP 9 向 student表插入一条新记录的正确 SQL语句是 ( A) APPEND INTO student VALUES(。 0401, 王芳 , 女 , 18) ( B) APPEND student VALUES(0401, 王芳 , 女 , 18) ( C) INSERT INT0 student VALUES(0401, 王芳 , 女 , 18) ( D
6、) INSERT student VALUES(0401, 王芳 , 女 , 18) 10 将 “万真秀 ”的工资增加 200元 SQL语句是 ( A) REPLACE 教师 WITH 工资 =工资 +200 WHERE姓名 =“万真秀 ” ( B) UPDATE 教师 SET 工资 =200 WHERE姓名 =“万真秀 ” ( C) UPDATE 教师 工资 WITH 工资 +200 WHERE姓名 =“万真秀 ” ( D) UPDATE 教师 SET 工资 =工资 +200 WHERE姓名 =“万真秀 ” 11 插入一条记录到表结构为 (职工号,姓名,工资 )的表 Employee中,正确
7、的 SQL命令是 ( A) INSERT TO Employee VALUES(“19620426”, “李平 ”, 8000) ( B) INSERT INTO Employee VALUES(“19620426”, “李平 ”,8000) ( C) INSERT INTO Employee RECORD(“19620426”, “李平 ”, 8000) ( D) INSERT TO Employee RECORD(“19620426”, “李平 ”, 8000) 12 将表结构为 (职工号,姓名,工资 )的表 Employee中所有职工的工资增加 20,正确的 SOL命令是 ( A) CH
8、ANGE Employee SET工资 =工资 *1 2 ( B) CHANGE Employee SET工资 WITH工资 *1 2 ( C) UPDATE Employee SET工资 =工资 *1 2 ( D) UPDATE Employee SET工资 WITH工资 *1 2 13 删除 Employee表中职工号为 “19620426”的记录,正确的 SQL语句是 ( A) DELETE FROM Employee WHILE职工号 =“19620426” ( B) DELETE FOR Employee WHERE职 工号 =“19620426” ( C) DELETE FOR E
9、mployee WHILE职工号 =“19620426” ( D) DELETE FROM Employee WHERE职工号 =“19620426” 14 将 Employee表中职工号为 “19620426”的记录中 “单位号 ”修改为 “003”正确的SQL语句是 ( A) UPDATE Employee SET单位号 =“003”WHERE职工号 IS“19620426” ( B) UPDATE Employee WHERE职工号 IS“19620426”SET单位号 =“003” ( C) UPDATE Employee SET单位号 =“003”WHERE职工号 =“1962042
10、6” ( D) UPDATE Employee单位号 WITH“003”WHERE职工号 =“19620426” 15 在 Visual FoxPro中,下列关于 SQL表定义语句 (CREATE TABLE)的说法中错误的是 ( A)可以定义一个新的基本表结构 ( B)可以定义表中的主关键字 ( C)可以定义表的域完整性、字段有效性规则等 ( D)对自由表,同样可以实现其完整性、有效性规则等信息的 设置 16 SQL命令: ALTERTABLE SADD年龄 T CHECK年龄 15AND年龄 =0 AND分数 =0 AND分数 =0 AND分数 =0 OR分数 WHERE。其中, FROM
11、指定从哪个表中删除数据。 WHERE指定被删除的记录所满足的条件,如果不使用 WHERE子句,则删除该表中的全部记录。 【知识模块】 关系数据库标准语言 SQL 8 【正确答案】 B 【试题解析】 在 SQL语句中,删除一条记录采用的命令是 DELETE,其语法格式是 DELETE FROM TableNameWHERE Condition,所以应选 B。 INSERT命令是向数据库的表中插入一条记录。 UPDATE命令是更新表中的记录。 DROP是删除表命令 【知识模块】 关系数据库标准语言 SQL 9 【正确答案】 C 【试题解析】 在 SQL语句中,插入表记录命令的格式为: INSERT
12、 INTOVALUES(之字段值列表 )。 【知识模块】 关系数据库标准语言 SQL 10 【正确答案】 D 【试题解析】 SQL的数据更新命令格式是: UPDATESET列名 1=表达式1,列名 2=表达式 2WHERE。对于本题将 “万真秀 ”的工资增加200元,其对应的 SQL语句为:工资 =工资 +200 WHERE姓名 =“万真秀 ”。 【知识模块】 关系数据库标准语言 SQL 11 【正确答案】 B 【试题解析】 本题考查 SQL的数据插入命令。格式如下 格式 1: INSERT INTO dbff_name(fnamel, fname2, ) VALUES(eXpressionl
13、,eXpression2, ) 格式 2 INSERT INTO dbf_name FROM ARRAY ArrayName FROM MEMVAR 注: INSERT INTO dbf name说明向由 dbf_name指定的表中插入记录; 当插入的不是完整的记录时,可以用 fname1, fname2, 指定字段: VALUSES(eXpressionl, eXpression2, ) 给出具体的记录值; FROM ARRAY ArrayName说明从指定的数组中插入记录值; FROM MEMVAR说明根据同名的内存变量来插入记录值,如果同名的变量不存 在,那么相应的字段值为默认值或空值。
14、 【知识模块】 关系数据库标准语言 SQL 12 【正确答案】 C 【试题解析】 本题考查 SQL的数据更新命令。格式如下 UPDATS TablelName SET Column_Namel=eXpressionl, Column_Namel=eXpression2 WHERE Condition 一般使用 WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用 WHERE子句,则更新全部记录。 题目要求将表结构为 (职工号,姓名,工资 )的表 Employee中所有职工的工资增加 20,所以 SET工资 =工资 *1 2。 【知识模块】 关系数据库标
15、准语言 SQL 13 【正确答案】 D 【试题解析】 本题考查 SQL语句删除表中记录。命令格式如下: DELETE FROM TableNameWHERE Condition 参数 FROM指定从哪个表中删除数据, WHERE指定被删除记录所满足的条件,如果不使用 WHERE子句,则删除该表中的全部记录。 【知识模块】 关系数据库标准语言 SQL 14 【正确答案】 C 【试题解析】 本题考查 SQL的数据更新命令。格式为: UPDATE TableName SET Column_Namel=eXpressionl, Column_Namel=eXpression2 WHERE Condit
16、ionUpdate 一般使用 WHERE子句 指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用 WHERE子句,则更新全部记录。 题中将 Employee表中职工号为 “19620426”的记录的 “单位号 ”修改为 “003”,所以使用 UPDATE命令,修改单位号 =“003”,条件为:职工号 =”19620426”。 【知识模块】 关系数据库标准语言 SQL 15 【正确答案】 D 【试题解析】 可以用 SQL表定义语句 (CREATE TABLE)定义表的基本结构,并可以在语句中用 Primary Key短语定义主 关键字,用 Check短语定义字段有效
17、性规则,自由表是不属于任何数据库的表,不能对自由表进行字段有效性的设置。 【知识模块】 关系数据库标准语言 SQL 16 【正确答案】 A 【试题解析】 本题考查 ALTER命令的语法。给表新增一列的 SQL命令格式为: ALTER TABLE表名 ADD(COLUMN)列名数据类型列级约束 题中命令的含义是给表 S增加一个 “年龄 ”字段,数据类型为整型,年龄的范围为 15至 30岁之间。 【知识模块】 关系数据库标准语言 SQL 17 【正确答案】 C 【试题解析】 在 SQL语句中为表增加字段的格式为: ALTER TABLEADD,本题只有选项 C)中包含 ALTER TABLE命令关
18、键字。 【知识模块】 关系数据库标准语言 SQL 18 【正确答案】 D 【试题解析】 选项 A)是创建一个新的对象,例如一个表;选项 B)用来向表中追加记录,它是非 SQL命令;在 SQL的 ALTER TABLE语句中,可以使用ADDCOLUMN短语来增加一个新的字段。其中, COLUMN短语表示 “列 ”,可以省略。 【知识模块】 关系数 据库标准语言 SQL 19 【正确答案】 A 【试题解析】 表结构的修改命令 ALTER TABLE有三种格式。通过下列命令格式可以添加 (ADD)新的字段或修改 (ALTER)已有的字段。 ALERT TABLEADDALTER COLUMN字段名字
19、段类型 (宽度 ,小数位数 ) NULLNOT NULLCHECK规则表达式 ERROR错误提示信息 DEFAULT默认值表达式 PRIMARY KEY UNIQUE REFERENCESTAG索引名 【知识模块】 关系数据库标准语言 SQL 20 【正确答案】 B 【试题解析】 表结构的修改命令 ALTER TABLE有三种格式。通过下列命令格式可以添加 (ADD)新的字段或修改 (ALTER)已有的字段。 ALERT TABLEADDALTER COLUMN字段名字段类型 (宽度 ,小数位数 ) NULLNOT NULLCHECK规则表达式 ERROR错误提示信息 DEFAULT默认值表达
20、式 PRIMARY KEY UNIQUE REFERENCESTAG索引名 【知识模块】 关系数据库标准语言 SQL 21 【正确答案】 A 【试题解析】 SQL定义功能中,表结构修改的父键短语为 ALTERTABLE,可直接通过语句修改表结构:选项 B)和 C)都是错误的命令语句;而选项 D)中需要先打开表,然后通过 MODIFY STRUCTURE命令打开表设计器,修改当前表的结构。 【知识模块】 关系数据库标准语言 SQL 22 【正确答案】 A 【试题解析】 本题考查创建 视图语句。其语法为: CREATE VIEW视图名称 AS SELECT列名称 FROM表名称 WHERE条件 对
21、于本题平说,视图名称为 myview,条件是 “产品号 ”左边第一位是 “1”即LEFT(产品号, 1)=“1” 【知识模块】 关系数据库标准语言 SQL 23 【正确答案】 B 【试题解析】 INSERT是插入命令, UPDATE是更新命令, CREATE是创建表命令, ALTER是用来修改表结构的命令。 【知识模块】 关系数据库标准语言 SQL 24 【正 确答案】 A 【试题解析】 向表中添加新字段的 SQL语句格式为: ALTER TABLE TableName ADD FieldName1 FieldType(nFieldWidth,nPrecision) NULL NOTNULLC
22、HECK ERROR DEFAULT PRIMARY KEY UNIQUE REFRERENCES tablename2TAG Tagname1 【知识模块】 关系数据库标准语言 SQL 25 【正确答案】 D 【试题解析】 在 Visual FoxPro中同样可以通过 SQL命令建立数据表,命令格式如下: CREATE TABLE JDBFFNAMEFREE (, ) NULL NOT NULL CHECKERROR DEFAULT PRIMARY KEY UNIQUE REFERENCESTAG NOCPTRANS, , PRIMARY KEYTAG , UNIQUETAG , FOREI
23、GN KEYTAGNODUP REFERENCESTAG1 , CHECKERROR) FROM ARRAY 【说明】 通过 CREATE TABLE命令可以完成表设计器中的所有操作。下面对以上格式中的具体选项进行介绍。 TABLE和 DBF选项等价,都是建立表文件。 :为新建表指定表名。 NAME:为新建表指定一个长表名。只有创建数据库表时,才能指定一个长表名,长表名最多可以包含 128个字符。 FREE:建立的表是自由表,不加入到打开的数据库中。 (, ):指定字段名、字段类型、字段宽度及小数位数。字段类型可以用一个字符表示。 NULL:允许该字段值为空; NOT NULL:字段值不能为空
24、。缺省值为 NOT NULL。 CHECK:指定字段的合法值及字段值的约束条件。 ERROR:输入的值不符合 CHECK子句的合法值时,显示的错误信息。 DEFAULT:为字段指定一个缺省值,表达式的数据类型与字段的数据类型要一致。 PRIMARY KEY:为字段创建一个主索引; UNIQUE:为字段创建一个候选索引。 REFERENCESTAG:指定建立永久关系的父表,同时以指 定字段为索引关键字建立外索引,用字段名作为索引标识名。表名为父表表名,标识名为父表中的索引标识名。 FROM ARRAY:由数组创建表结构。数组名指定的数组包含表的每一个字段的字段名、字段类型、字段宽度及小数位数 【
25、知识模块】 关系数据库标准语言 SQL 26 【正确答案】 A 【试题解析】 SQL语句中删除表的命令是: DROP TABLE DROP TABLE直接从磁盘上删除 所对应的 dbf文件。 【知识模块】 关系数据库标准语言 SQL 27 【正确答案】 C 【试题解析】 本题考查创建表的命令 CREATE TABLE。其格式为 CREATE TABLE DBF (字段名 1字段类型 1(字段宽度 ),字段名 2字段类型 2(字段宽度 ), ) CHECK DEFAULT, PRIMARY KEYIUNIQUE ) 用 CREATE TABLE命令可以完成表设计器所能 完成的所有功能。除具有建立
26、表的基本功能外, CREATE TABLE命令还可以建立主关键字 (主索引 )PRIMARY KEY、定义域完整性的 CHECK约束、定义默认值的 DEFAULT等。 【知识模块】 关系数据库标准语言 SQL 28 【正确答案】 D 【试题解析】 本题考查创建视图语句。创建视图的语法为: CREATEVIEW view_name AS SELECT column_name(s)FROM table_name WHERE condition对于本题来说, viewz_name为 salary, column_name(s)中包括系号, AVG(工资 ),table_name为教师。 其中 可以是
27、任意的 SELECT查询语句,它说明和限定了视图中的数据;视图的字段名将与 中指定的字段名或表中的字段名同名。 【知识模块】 关系数据库标准语言 SQL 29 【正确答案】 C 【试题解析】 创建一个视图的 SQL命令是 CREATE VIEW,其格式为:CREATE VIEW view_name AS。 【知识模块】 关系 数据库标准语言 SQL 30 【正确答案】 A 【试题解析】 在 SQL中,删除表的语句是 DROP TABLE。格式为: DROP TABLE, DROP TABLE直接从磁盘上删除 所对应的 dbf文件。 【知识模块】 关系数据库标准语言 SQL 31 【正确答案】
28、A 【试题解析】 本题考查 sq1建立表的命令。格式为: CREATE TABLEIDBF (字段名 1字段类型 1(字段宽度 ),字段名 2字段类型 2(字段宽度 ), ) CHECK DEFAULT, PRIMARY KEYlUNIQUE ) 用 CREATE TABLE命令可以完成表设计器所能完成的所有功能。除具有建立表的基本功能外, CREATE TABLE命令还可以建立主关键字 (主索引 )PRIMARY KEY、定义域完整性的 CHECK约束、定义默认值的 DEFAuLT等。 【知识模块】 关系数据库标准语言 SQL 32 【正确答案】 C 【试题解析】 本题考查 SQL语句修改表
29、结构 。其格式为: ALTER TABLE ADDCOLuMN(, ) NuLL NOT NYLL CHECKERROR DEFAuLTPRIMARY KEY UNIQUE ADD PRIMARY KEYTAGFOR ADD UNIQuETAGFOR ADD FOREIGN KEYTAG FORREFERENCES表名 2TAG 该格式可以向表中添加新的字段、设置字段有效性规则、建立索引和建立表间联系等。 【知识模块】 关系数据库标准语言 SQL 33 【正确答案】 D 【试题解析】 本题考查表结构的修改。格式为: ALTER TABLE ADDCOLUMN(, ) NULL NOT NULL
30、 CHECKERROR DEFAULTPRIMARY KEY UNIQuE ADD PRIMARY KEYTAGFOR ADD UNIQUETAGFOR ADD FOREIGN KEYTAG FORREFERENCES表名 2TAG 该格式可以向表中添加新的字段、设置字段有效性规则、建立索引和建立表间联系等。 【知识模块】 关系数据库标准语言 SQL 34 【正确答案】 C 【试题解析】 本题使用 sQL命令创建视图。使用 CREATE VIEW命令创建视图,其语法为: CREATE VIEW view_name AS SELECT column_name(s)FROM table_name WHERE condition 【知识模块】 关系数据库标准语 言 SQL 35 【正确答案】 A 【试题解析】 本题考查 SOL语句删除表。格式 DROP TABLE 。DROP TABLE直接从磁盘上删除 所对应的 dbf文件。题目删除表Em_temp。 【知识模块】 关系数据库标准语言 SQL 36 【正确答案】 B 【试题解析】 删除视图文件的命令格式是: DROPVIEW;建立视图文件的命令式为: CREATE VIEW。 【知识模块】 关系数据库标准语言 SQL