内容正文:
《数据库原理与应用技术-MySQL》河北科学技术出版社
第五章 MySQL数据表管理
考试时间:90分钟 满分:100分
姓名 班级 学号
1、 单项选择题(本题共25小题,每题2分,共50分)
1、创建数据表的命令是( )
A.CREATE TABLE B. CREATE DATABASE
C.CREATE VIEW D.CREATE INDEX
2、关于数据表的命名规则,下列说法不正确的是( )。
A.表名最长为255个字符 B.表名长度受限于所用操作系统限定的长度
C. 表名要尽可能做到“见名知意” D.表名可以由字母、中文、数字组成
3、创建数据表时,( )关键字用来对字段指定唯一性约束,该字段不能有重复值,但可以有一个NULL值。
A.PRIMARY KEY B.FOREIGN KEY
C.CHECK D.UNIQUE
4、关于数据表中字段名的命名规则,下列说法不正确的是( )。
A.字段名可以由中文、英文、数字、下划线(_)、#符号及$符号组合而成
B. 同一张表中,可出现同名字段
C. 不同数据表中的字段可以同名
D.字段名不能使用MySQL语言中的关键字
5、创建数据表时,对某一字段设置为空值,应使用关键字( )
A.NULL B.EMPTY
C.NOT NULL D.UNIQUE
6、创建数据表命令中,用来为数据表指定字符集的短语是( )。
A.DEFAULT CHARSET B.DEFAULT COLLATE
C.SHOW CHARACTER SET D.SHOW COLLATE
7、CREATE TABLE 与( )一起使用可为新表复制已有的表结构。
A . AS B.IS C.WHERE D.LIKE
8、如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( )。 A .主键 B .外键
C .唯一键 D .复合主键
9、在 MySQL 中,将表名 food 修改为 fruit 的语句是( )
A.UPDATE TABLE food RENAME TO fruit
B.UPDATE TABLE fruit RENAME TO food
C.ALTER TABLE fruit RENAME TO food
D.ALTER TABLE food RENAME TO fruit
10、以下操作可以删除一列的是( )。
A.ALTER TABLE EMP REMOVE ADDCOLUMN
B.ALTER TABLE EMP DROP COLUMN ADDCOLUMN
C. ALTER TABLE EMP DELETE COLUMN ADDCOLUMN
D.ALTER TABLE EMP DELETE ADDCOLUMN
11、在SQL语言中,删除一个表的关键字是( )。
A. DELETE B.DROP C.CLEAR D. UNION
12、要将员工表EMP中的年龄字段AGE更名为出生年份BIRTH,下列语句中正确的是( )。
A. ALTER TABLE EMP CHANGE COLUMN AGE BIRTH YEAR;
B. ALTER TABLE EMP ADD COLUMN BIRTH YEAR;
C. ALTER TABLE EMP ALTER COLUMN AGE BIRTH YEAR;
D. ALTER TABLE EMP MODIFY COLUMN AGE BIRTH YEAR;
13、若要在表 S 中CNO后增加一列 CN (课程名),可用( )
A.ADD TABLE S ALTER CN CHAR (8) AFTER CNO
B.ALTER TABLE S ADD CN CHAR (8) AFTER CNO;
C.ADD TABLE S CN CHAR (8) AFTER CNO;
D.ALTER TABLE S ADD CN CHAR (8) AFTER CNO;
14、如果省略了数据库名称,ALTER DATABASE语句将适用于哪个数据库? ( )
A.默认数据库 B.特定数据库 C.所有数据库 D.无法确定
15、在关系数据库中,外键是指( )。
A.在一个关系中定义了约束的一个或一组属性(字段)
B.在一个关系中定义了默认值的一个或一组属性(字段)
C.在一个关系中的一个或一组属性(字段)是另一个关系的主键
D.在一个关系中用于唯一识别记录的一个或一组属性(字段)
16、修改表 student 的 name 字段,将 VARCHAR (10)修改为 VARCHAR (20),下列命令语句错误的是( )。
A . ALTER TALBE student MODIFY name VARCHAR (20);
B . ALTER TABLE student CHANGE name name VARCHAR (20);
C . ALTER TALBE student CHANGE name VARCHAR (20);
D . ALTER TALBE … MODIFY 和 ALTER TABLE … CHANGE 命令都可以完成修改。
17、创建数据表时,若要指定字段为自动增长,应该使用哪个关键字? ( )
A.AUTO_INCREMENT B. AUTO_INCREMENTED
C.AUTO_GROW D.INCREMENT
18、在使用SHOW COLUMNS命令查看数据表结构时,想要在输出时包括用户对每个列所拥有的权限,应该添加下列哪个命令?( )
A.FULL B.SELECT C.SHOW D.TABLE
19、要重命名表 OldName为NewName,应该使用以下哪个SQL命令? ( )
A. ALTER TABLE OldName TO NewName;
B. RENAME TABLE OIdName TO NewName;
C.CHANGE TABLE OldName TO NewName;
D.MODIFY TABLE OldName RENAME TO NewName;
20、要复制一个现有表OldTable的结构(不包含数据)到一个新表NewTable,应使用以下哪个SQL命令? ( )
A.CREATE TABLE NewTable AS SELECT*FROM OldTable;
B.CREATE TABLE NewTable LIKE OldTable;
C.SELECT*INTO NewTable FROM OIdTable;
D.COPY TABLE OldTable TO NewTable;
21、在使用 CREATE TABLE ... LIKE命令时,以下哪项不会被复制? ( )
A、列数据类型 B.主键约束 C.表的数据 D.外键约束
22、执行 DROP TABLE命令后,表中的( )。
A.数据会被备份 B.数据会丢失
C.数据可以恢复 D.数据会被转移到其他表
23、创建数据表时,以下哪个关键字用来指定字段的默认值? ( )
A. DEFAULT B.VALUE C.SET D. INIT
24、CREATE TABLE ... LIKE 命令可以复制原始表的哪些属性?( )
A.索引和视图 B.触发器和存储过程
C.列级权限和数据 D.表级权限和约束
25、使用 CREATE TABLE ... LIKE命令时,新表的默认值将如何设置? ( )
A.与原始表相同 B.被清空
C.自动设置为NULL D.根据数据类型自动生成
二、填空题(本题共10小题,每题2分,共20分)
1、在数据库中创建数据表,数据表分为两部分,分别为表结构和 _________。
2、创建数据表的同时可以创建索引,用来表示主键索引的关键字是________。
3、查看数据表结构的命令是________。
4、MySQL中修改表结构的命令是 。
5、在创建数据库时,用_________关键字来指定数据库的注释。
6、在创建数据表时,可以使用_________子句确保如果数据表不存在就创建它,如果存在就直接使用它。
7、数据类型约束用于规定某一列只能存储特定______类型的值。
8、使用ALTER TABLE 修改表时,如果要修改表的名称,可以使用_________。
9、将学生表 (student)中的照片(Photo)字段数据类型修改为BLOB。ALTER TABLE student Photo BLOB;
10、在表中添加新字段时,如果没有指定FIRST或AFTER,则在表的________添加一个字段。
2、 判断题(本题共10小题,每题2分,共20分)
1、 修改已有表中某个字段的数据类型要使用MODIFY子句。( )
2、在创建表时,可以为一个字段同时指定AUTO_INCREMENT和UNIQUE属性。( )
3、使用SHOW COLUMNS命令可以查看数据库中所有表的列信息。( )
4、使用RENAME TABLE命令重命名表时,相关的外键约束会被保留。( )
5、DROP TABLE命令可以在没有管理员权限的情况下执行。( )
6、创建数据表时,若要为字段设置非空约束,应使用的约束为 NOT NULL。( )
7、执行 RENAME TABLE命令时,如果新表名已经存在,该命令会自动覆盖现有表。( )
8、CREATE TABLE NewTable LIKE OldTable命令会忽略OldTable的自增属性。( )
9、使用DROP TABLE删除的表可以通过ROLLBACK命令恢复。( )
10、使用 ALTER TABLE可以一次性更改多个列的数据类型。( )
四、命令题(本大题共5小题,每小题2分,共10分)
1、创建一个雇员表“employees”,包含雇员ID(employee_id,INT),雇员名字(employee_name,VARCHAR(10)),雇员薪水(salary,float(8,2))。
2、向雇员表“employees”的列尾处增加字段地址(address char(50))。
1. 查看雇员表employees的表结构,包含各个字段的权限信息。
4、创建一个新表employeespro,表结构与employees表结构相同。
5、将表employeespro重命名为employeesowner。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
《数据库原理与应用技术-MySQL》河北科学技术出版社
第五章 MySQL数据表管理
考试时间:90分钟 满分:100分
姓名 班级 学号
1. 单项选择题(本题共25小题,每题2分,共50分)
1. 创建数据表的命令是( )
A.CREATE TABLE B. CREATE DATABASE
C.CREATE VIEW D.CREATE INDEX
【答案】A
【解析】CREATE TABLE 命令用于创建数据表。
2、关于数据表的命名规则,下列说法不正确的是( )。
A.表名最长为255个字符 B.表名长度受限于所用操作系统限定的长度
C. 表名要尽可能做到“见名知意” D.表名可以由字母、中文、数字组成
【答案】A
【解析】表名的长度最长为64个字符。故A正确
3、创建数据表时,( )关键字用来对字段指定唯一性约束,该字段不能有重复值,但可以有一个NULL值。
A.PRIMARY KEY B.FOREIGN KEY
C.CHECK D.UNIQUE
【答案】D
【解析】UNIQUE要求该字段不能有重复值,但可以有一个NULL值。
4、关于数据表中字段名的命名规则,下列说法不正确的是( )。
A.字段名可以由中文、英文、数字、下划线(_)、#符号及$符号组合而成
1. 同一张表中,可出现同名字段
1. 不同数据表中的字段可以同名
D.字段名不能使用MySQL语言中的关键字
【答案】B
【解析】同一张数据表中的字段,不能有同名字段。
5、创建数据表时,对某一字段设置为空值,应使用关键字( )
A.NULL B.EMPTY
C.NOT NULL D.UNIQUE
【答案】A
【解析】NULL表示字段可以为空值。
6、创建数据表命令中,用来为数据表指定字符集的短语是( )。
A.DEFAULT CHARSET B.DEFAULT COLLATE
C.SHOW CHARACTER SET D.SHOW COLLATE
【答案】A
【解析】DEFAULT CHARSET用来指定数据表的字符集。
7、CREATE TABLE 与( )一起使用可为新表复制已有的表结构。
A . AS B.IS C.WHERE D.LIKE
【答案】D
【解析】CREATE TABLE 新表名 like 旧表名;该格式可以复制已有表的结构。
8、如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( )。
A .主键 B .外键
C .唯一键 D .复合主键
【答案】B
【解析】。
9、在 MySQL 中,将表名 food 修改为 fruit 的语句是( )
A.UPDATE TABLE food RENAME TO fruit
B.UPDATE TABLE fruit RENAME TO food
C.ALTER TABLE fruit RENAME TO food
D.ALTER TABLE food RENAME TO fruit
【答案】D
【解析】修改别名的命令:ALTER TABLE 旧表名 RENAME TO 新表名。
10、以下操作可以删除一列的是( )。
A.ALTER TABLE EMP REMOVE ADDCOLUMN
B.ALTER TABLE EMP DROP COLUMN ADDCOLUMN
C. ALTER TABLE EMP DELETE COLUMN ADDCOLUMN
D.ALTER TABLE EMP DELETE ADDCOLUMN
【答案】B
【解析】在MySQL里,删除某一列的命令:ALTER TABLE EMP DROP 字段名;故B项正确。
11、在SQL语言中,删除一个表的关键字是( )。
A. DELETE B.DROP C.CLEAR D. UNION
【答案】B
【解析】在MySQL中,删除表的命令是DROP TABLE 表名;故B正确。
12、要将员工表EMP中的年龄字段AGE更名为出生年份BIRTH,下列语句中正确的是( )。
A. ALTER TABLE EMP CHANGE COLUMN AGE BIRTH YEAR;
B. ALTER TABLE EMP ADD COLUMN BIRTH YEAR;
C. ALTER TABLE EMP ALTER COLUMN AGE BIRTH YEAR;
D. ALTER TABLE EMP MODIFY COLUMN AGE BIRTH YEAR;
【答案】A
【解析】在MySQL中,ALTER TABLE CHANGE命令可有修改字段名,故A正确。
13、若要在表 S 中CNO后增加一列 CN (课程名),可用( )
A.ADD TABLE S ALTER CN CHAR (8) AFTER CNO
B.ALTER TABLE S ADD CN CHAR (8) AFTER CNO;
C.ADD TABLE S CN CHAR (8) AFTER CNO;
D.ALTER TABLE S ADD CN CHAR (8) AFTER CNO;
【答案】B
【解析】ALTER TABLE 表名 ADD 字段名 数据类型 AFTER 字段名,使用该格式完成在CNO后增加一列,故选择B。
14、对于一个已创建的表,( )操作是不可以的。
A.更改表名 B.增加或删除列
C.修改已有列的属性 D.将已有 text 数据类型修改为 image 数据类型
【答案】D
【解析】在MySQL中对于已创建的表,可以更改表名、增加或删除列、修改已有列的属性等,但在D项中将text数据类型修改为image不正确,MySQL中不存在image数据类型。
15、在关系数据库中,外键是指( )。
A.在一个关系中定义了约束的一个或一组属性(字段)
B.在一个关系中定义了默认值的一个或一组属性(字段)
C.在一个关系中的一个或一组属性(字段)是另一个关系的主键
D.在一个关系中用于唯一识别记录的一个或一组属性(字段)
【答案】C
【解析】外键的定义就是在一个关系(称为参照关系)中的一个或一组属性(字段),它的值与另一个关系(称为被参照关系)的主键值相对应。也就是说,在一个关系中的这个或这组属性是另一个关系的主键,这准确地描述了外键的概念,所以选项C正确。
16、修改表 student 的 name 字段,将 VARCHAR (10)修改为 VARCHAR (20),下列命令语句错误的是( )。
A.ALTER TALBE student MODIFY name VARCHAR (20);
B.ALTER TABLE student CHANGE name name VARCHAR (20);
C.ALTER TALBE student CHANGE name VARCHAR (20);
D.ALTER TALBE … MODIFY 和 ALTER TABLE … CHANGE 命令都可以完成修改。
【答案】C
【解析】选项C中的格式应该为:ALTER TABLE student CHANGE name name VARCHAR (20);故C项错误。
17、创建数据表时,若要指定字段为自动增长,应该使用哪个关键字? ( )
A.AUTO_INCREMENT B. AUTO_INCREMENTED
C.AUTO_GROW D.INCREMENT
【答案】B
【解析】创建数据表时,若要指定字段为自动增长,应使用AUTO_INCREMENTED。
18、在使用SHOW COLUMNS命令查看数据表结构时,想要在输出时包括用户对每个列所拥有的权限,应该添加下列哪个命令?( )
A.FULL B.SELECT C.SHOW D.TABLE
【答案】A
【解析】在使用SHOW [FULL] COLUMNS FROM 数据表名;加上FULL后输出时会包括用户对每个列所拥有的权限。
19、要重命名表 OldName为NewName,应该使用以下哪个SQL命令? ( )
A. ALTER TABLE OldName TO NewName;
B. RENAME TABLE OIdName TO NewName;
C.CHANGE TABLE OldName TO NewName;
D.MODIFY TABLE OldName RENAME TO NewName;
【答案】B
【解析】对表进行重命名时,除了使用ALTER TABLE …CHANGE …命令外,还可以使用Rename table 旧表名 TO 新表名;故选B。
20、要复制一个现有表OldTable的结构(不包含数据)到一个新表NewTable,应使用以下哪个SQL命令? ( )
A.CREATE TABLE NewTable AS SELECT*FROM OldTable;
B.CREATE TABLE NewTable LIKE OldTable;
C.SELECT*INTO NewTable FROM OIdTable;
D.COPY TABLE OldTable TO NewTable;
【答案】B
【解析】复制表结构使用命令:CREATE TABLE NewTable LIKE OldTable; 故选B。
21、在使用 CREATE TABLE ... LIKE命令时,以下哪项不会被复制? ( )
A、列数据类型 B.主键约束 C.表的数据 D.外键约束
【答案】C
【解析】复制数据表命令可以把旧表的表结构、索引、默认值、外键约束等复制到新表中,不包含数据。
22、执行 DROP TABLE命令后,表中的( )。
A.数据会被备份 B.数据会丢失
C.数据可以恢复 D.数据会被转移到其他表
【答案】B
【解析】理解DROP TABLE命令的作用:DROP TABLE 是数据库中的一个数据定义语言(DDL)命令,它的主要功能是删除整个表结构以及表中的所有数据。这是一种较为彻底的删除操作。所以选B。
23. 创建数据表时,以下哪个关键字用来指定字段的默认值? ( )
A. DEFAULT B.VALUE C.SET D. INIT
【答案】A
【解析】DEFAULT用来指定字段的默认值。
24、CREATE TABLE ... LIKE 命令可以复制原始表的哪些属性?( )
A.索引和视图 B.触发器和存储过程
C.列级权限和数据 D.表级权限和约束
【答案】D
【解析】A选项: CREATE TABLE... LIKE不复制索引和视图,索引是辅助查询的数据结构,视图是虚拟表,该命令主要针对表结构,不涉及这两者,A错误。
B选项:触发器是自动执行的程序逻辑,存储过程是预编译SQL集合,CREATE TABLE... LIKE 不复制它们,B错误。
C选项:此命令不复制列级权限(针对列的权限设置 )和数据(表中实际存储内容 ),C错误。
D选项:CREATE TABLE... LIKE会复制表级权限(对表整体的操作权限)和约束(如主键、外键等表级规则),D正确。
25、使用 CREATE TABLE ... LIKE命令时,新表的默认值将如何设置? ( )
A.与原始表相同 B.被清空
C.自动设置为NULL D.根据数据类型自动生成
【答案】A
【解析】使用CREATE TABLE ... LIKE复制表时,会将表结构、索引、默认值复制到新表中,故新表中的默认值与原始表相同。
二、填空题(本题共10小题,每题2分,共20分)
1、在数据库中创建数据表,数据表分为两部分,分别为表结构和 _________。
【答案】表内容
2、创建数据表的同时可以创建索引,用来表示主键索引的关键字是________。
【答案】Primary key
3、查看数据表结构的命令是________。
【答案】SHOW COLUMNS
4、MySQL中修改表结构的命令是 。
【答案】ALTER TABLE;
5、在创建数据库时,用_________关键字来指定数据库的注释。
【答案】COMMENT
6、在创建数据表时,可以使用_________子句确保如果数据表不存在就创建它,如果存在就直接使用它。
【答案】IF NOT EXISTS
7、数据类型约束用于规定某一列只能存储特定_________类型的值。
【答案】数据
8、使用ALTER TABLE 修改表时,如果要修改表的名称,可以使用_________。
【答案】RENAME
9、将学生表 (student)中的照片(Photo)字段数据类型修改为BLOB。 ALTER TABLE student Photo BLOB;
【答案】MODIFY
10、在表中添加新字段时,如果没有指定FIRST或AFTER,则在表的_____添加一个字段。
【答案】列尾
1. 判断题(本题共10小题,每题2分,共20分)
1、修改已有表中某个字段的数据类型或长度时使用MODIFY子句。( )
【答案】正确。修改已有表中某个字段的数据类型或长度时使用MODIFY子句。
2、在创建表时,可以为一个字段同时指定AUTO_INCREMENT和UNIQUE属性。( )
【答案】正确。MODIFY子句可用于修改字段数据类型、长度,也能添加如 AUTO_INCREMENT(自增 )、UNIQUE (唯一 )等约束来调整字段定义 。
3、使用SHOW COLUMNS命令可以查看数据库中所有表的列信息。( )
【答案】错误。SHOW COLUMNS命令是查看指定表的列信息,不是数据库中所有表的列信息,查看数据库所有表用SHOW TABLES等其他合适命令 。
4、使用RENAME TABLE命令重命名表时,相关的外键约束会被保留。( )
【答案】错误。在 MySQL 等数据库中,RENAME TABLE重命名表时,外键约束不会自动适配新表名,会因表名变更破坏关联,导致外键约束失效(需后续手动调整才能恢复约束关联 ),并非保留,所以该说法错误。
5、DROP TABLE命令可以在没有管理员权限的情况下执行。( )
【答案】错误。DROP TABLE是删除表的操作,通常需要有删除表的权限,不是在没有管理员权限下随意执行,一般普通用户无权限删除重要系统表等,需对应权限管控。
6、创建数据表时,若要为字段设置非空约束,应使用的约束为 NOT NULL。( )
【答案】正确。NOT NULL约束用于设置字段非空,创建数据表时,若要字段必填(非空 ),就用此约束,符合非空约束的语法和作用。
7、执行 RENAME TABLE命令时,如果新表名已经存在,该命令会自动覆盖现有表。( )
【答案】错误。执行RENAME TABLE时,若新表名已存在,命令会报错失败,不会自动覆盖,数据库会保护已有表不被同名覆盖。
8、CREATE TABLE NewTable LIKE OldTable命令会忽略OldTable的自增属性。( )
【答案】错误。CREATE TABLE NewTable LIKE OldTable会复制OldTable的表结构,包括字段定义、约束(如自增等属性 ),不会忽略自增属性 。
9、使用DROP TABLE删除的表可以通过ROLLBACK命令恢复。( )
【答案】错误。DROP TABLE属于 DDL(数据定义语言 )操作,默认执行后会提交事务,无法用ROLLBACK恢复(部分数据库开启特定事务机制等特殊情况除外,常规下不行 ) 。
10、在MySQL中,使用 ALTER TABLE可以一次性更改多个列的数据类型。( )
【答案】正确。ALTER TABLE可以通过多次MODIFY子句(不同数据库语法有差异,有的可在一条语句里通过逗号分隔多个MODIFY操作 ),一次性更改多个列的数据类型等定义 。
四、命令题(本大题共5小题,每小题2分,共10分)
1、创建一个雇员表“employees”,包含雇员ID(employee_id,INT),雇员名字(employee_name,VARCHAR(10)),雇员薪水(salary,float(8,2))。
【答案】
CREATE TABLE employees
(employee_id INT,
employee_name VARCHAR(10),
salary float(8,2));
2、向雇员表“employees”的列尾处增加字段地址(address char(50))。
【答案】ALTER TABLE employees ADD address char(50);
1. 查看雇员表employees的表结构,包含各个字段的权限信息。
【答案】SHOW FULL COLUMNS FORM employees;
4、创建一个新表employeespro,表结构与employees表结构相同。
【答案】CREATE TABLE employeespro LIKE employees;
5、将表employeespro重命名为employeesowner。
【答案】ALTER TABLE employeespro RENAME TO employeesowner;
或 RENAME TABLE employeespro TO employeesowner;
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$