专题四 定义表(练习)-《数据库原理与应用技术》高考备考讲练测(河北省)

2025-04-02
| 2份
| 14页
| 264人阅读
| 0人下载

内容正文:

专题四 定义表 一、单项选择题 1.在创建表时,若要求某字段值唯一且允许为空,应使用( ) A. PRIMARY KEY B. UNIQUE C. NOT NULL D. FOREIGN KEY 答案:B 解析:UNIQUE 约束保证值唯一但允许 NULL,PRIMARY KEY 不允许 NULL 且只能有一个。 2.用于查看表的详细结构信息的命令是( ) A. SHOW TABLES B. ALTER TABLE C. SELECT * FROM table D. DESCRIBE 答案:D 解析:DESCRIBE 或 SHOW COLUMNS 用于查看表结构,SHOW TABLES 显示当前库中的表。 3.修改表中某列的数据类型,应使用( )命令 A. ALTER TABLE ... ADD COLUMN B. ALTER TABLE ... MODIFY COLUMN C. ALTER TABLE ... DROP COLUMN D. RENAME TABLE 答案:B 解析:MODIFY COLUMN 用于修改列的数据类型,ADD COLUMN 添加新列,DROP COLUMN 删除列。 4.若要将表 students 重命名为 pupils,应使用( )命令 A. ALTER TABLE students RENAME TO pupils B. RENAME TABLE students TO pupils C. CHANGE TABLE students pupils D. UPDATE TABLE students SET name = 'pupils' 答案:B 解析:RENAME TABLE 是重命名表的标准语法,其他选项不符合 MySQL 规范。 5.可以自动记录数据修改时间的数据类型是( ) A. TIMESTAMP B. DATE C. DATETIME D. TIME 答案:A 解析:TIMESTAMP 类型支持 ON UPDATE CURRENT_TIMESTAMP 自动更新时间。 6.以下关于 CHAR 和 VARCHAR 的描述,正确的是( )。 A. CHAR 是可变长度,VARCHAR 是固定长度 B. CHAR 存储效率更高,VARCHAR 节省空间 C. CHAR 最多存储 65535 字符,VARCHAR 最多 255 字符 D. CHAR 和 VARCHAR 都不能存储超过 255 字符 答案:B 解析:CHAR 是固定长度,适合短文本;VARCHAR 是可变长度,适合长文本但需额外开销。 7.删除表的命令是( )。 A. DELETE TABLE B. TRUNCATE TABLE C. ALTER TABLE D. DROP TABLE 答案:D 解析:DROP TABLE 彻底删除表,TRUNCATE 仅清空数据但保留表结构。 8.可以复制表结构但不复制数据的命令是( ) A. CREATE TABLE new LIKE old B. INSERT INTO new SELECT * FROM old C. COPY TABLE old TO new D. ALTER TABLE old RENAME TO new 答案:A 解析:CREATE TABLE ... LIKE 复制表结构,INSERT ... SELECT 复制数据。 9.在 employees 表中添加一个 department 列,数据类型为 VARCHAR(50),应使用的命令是( ) A. ALTER TABLE employees ADD department VARCHAR(50) B. ALTER TABLE employees MODIFY department VARCHAR(50) C. ALTER TABLE employees CHANGE department VARCHAR(50) D. CREATE COLUMN department VARCHAR(50) IN employees 答案:A 解析:ADD COLUMN 用于添加新列,语法正确。 10.以下关于 FOREIGN KEY 的描述,错误的是( )。 A. 外键引用另一个表的主键 B. 外键约束保证数据一致性 C. 外键字段必须与引用字段数据类型相同 D. 外键可以跨数据库引用 答案:D 解析:外键通常在同一个数据库内引用,跨库引用需特殊配置且不推荐。 二、填空题 1.存储精确的小数金额应使用的数据类型是 ____________。 答案:DECIMAL 2.创建表时,定义主键的关键字是 ____________。 答案:PRIMARY KEY 3.修改表结构的命令是 ____________。 答案:ALTER TABLE 4.删除表使用的关键字是 ____________。 答案:DROP 5.复制表结构的命令是 ____________。 答案:CREATE TABLE ... LIKE 三、判断题 1.AUTO_INCREMENT 只能用于 INT 类型字段。( ) 答案:错误 解析:AUTO_INCREMENT 可用于 TINYINT、SMALLINT 等整数类型。 2.VARCHAR(50) 最多可以存储 50 个字符。( ) 答案:正确 解析:VARCHAR 的括号内数值表示最大字符数。 3.RENAME TABLE 可以同时重命名多个表。( ) 答案:正确 解析:语法为 RENAME TABLE old1 TO new1, old2 TO new2;。 4.删除表使用 DELETE TABLE 命令。( ) 答案:错误 解析:删除表应使用 DROP TABLE,DELETE 用于删除数据。 5.TEXT 类型可以存储超过 65535 字节的数据。( ) 答案:正确 解析:MEDIUMTEXT 和 LONGTEXT 支持更大容量。 6.修改列名使用 ALTER TABLE ... CHANGE 命令。( ) 答案:正确 解析:CHANGE 可同时修改列名和数据类型。 7.TIMESTAMP 类型的默认值可以设置为当前时间。( ) 答案:正确 解析:使用 DEFAULT CURRENT_TIMESTAMP 即可。 8.表的主键必须是单个字段。( ) 答案:错误 解析:主键可以是多个字段的组合(复合主键)。 9.FLOAT 类型比 DECIMAL 类型更精确。( ) 答案:错误 解析:DECIMAL 是精确类型,FLOAT 存在精度误差。 10.DATETIME 类型的范围比 TIMESTAMP 更大。( ) 答案:正确 解析:DATETIME 支持到 9999-12-31,而 TIMESTAMP 到 2038 年。 四、命令题 1.创建一个名为 employees 的表,包含以下字段: emp_id:整数类型,主键,自动递增 first_name:长度 50 的字符串,非空 last_name:长度 50 的字符串,非空 email:长度 100 的字符串,唯一且非空 hire_date:日期类型,默认值为当前日期 salary:精确到小数点后 2 位的十进制数,非空且大于 0 department:长度 50 的字符串,默认值为 'Unassigned' 答案 CREATE TABLE employees ( emp_id INT AUTO_INCREMENT PRIMARY KEY, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, email VARCHAR(100) UNIQUE NOT NULL, hire_date DATE DEFAULT CURDATE(), salary DECIMAL(10, 2) NOT NULL CHECK (salary > 0), department VARCHAR(50) DEFAULT 'Unassigned' ); 2.对 employees 表进行以下修改: 添加 phone 字段,长度 20 的字符串,唯一。 将 salary 字段的精度改为总长度 12 位,小数位 4 位。 添加外键约束,关联 departments 表的 dept_id 字段。 答案 -- 步骤 1:添加 phone 字段并设置唯一约束 ALTER TABLE employees ADD COLUMN phone VARCHAR(20) UNIQUE; -- 步骤 2:修改 salary 字段精度 ALTER TABLE employees MODIFY COLUMN salary DECIMAL(12, 4); -- 步骤 3:添加外键约束 ALTER TABLE employees ADD FOREIGN KEY (department) REFERENCES departments(dept_id); 3.创建一个 employees_backup 表,要求: 结构与 employees 表完全相同。 添加 backup_time 字段,类型为 TIMESTAMP,默认值为当前时间且自动更新。 答案 -- 步骤 1:复制表结构 CREATE TABLE employees_backup LIKE employees; -- 步骤 2:添加 backup_time 字段 ALTER TABLE employees_backup ADD COLUMN backup_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; 4.执行以下操作: 创建 students 表,包含 stu_id(主键自增)、name(非空)、gender(枚举类型 'M'/'F')。 将表名重命名为 pupils。 删除 pupils 表中的 gender 字段。 最终删除 pupils 表。 答案 -- 步骤 1:创建 students 表 CREATE TABLE students ( stu_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL, gender ENUM('M', 'F') ); -- 步骤 2:重命名表 RENAME TABLE students TO pupils; -- 步骤 3:删除 gender 字段 ALTER TABLE pupils DROP COLUMN gender; -- 步骤 4:删除表 DROP TABLE pupils; 学科网(北京)股份有限公司 $$ 专题四 定义表 一、单项选择题 1.在创建表时,若要求某字段值唯一且允许为空,应使用( ) A. PRIMARY KEY B. UNIQUE C. NOT NULL D. FOREIGN KEY 2.用于查看表的详细结构信息的命令是( ) A. SHOW TABLES B. ALTER TABLE C. SELECT * FROM table D. DESCRIBE 3.修改表中某列的数据类型,应使用( )命令 A. ALTER TABLE ... ADD COLUMN B. ALTER TABLE ... MODIFY COLUMN C. ALTER TABLE ... DROP COLUMN D. RENAME TABLE 4.若要将表 students 重命名为 pupils,应使用( )命令 A. ALTER TABLE students RENAME TO pupils B. RENAME TABLE students TO pupils C. CHANGE TABLE students pupils D. UPDATE TABLE students SET name = 'pupils' 5.可以自动记录数据修改时间的数据类型是( ) A. TIMESTAMP B. DATE C. DATETIME D. TIME 6.以下关于 CHAR 和 VARCHAR 的描述,正确的是( )。 A. CHAR 是可变长度,VARCHAR 是固定长度 B. CHAR 存储效率更高,VARCHAR 节省空间 C. CHAR 最多存储 65535 字符,VARCHAR 最多 255 字符 D. CHAR 和 VARCHAR 都不能存储超过 255 字符 7.删除表的命令是( )。 A. DELETE TABLE B. TRUNCATE TABLE C. ALTER TABLE D. DROP TABLE 8.可以复制表结构但不复制数据的命令是( ) A. CREATE TABLE new LIKE old B. INSERT INTO new SELECT * FROM old C. COPY TABLE old TO new D. ALTER TABLE old RENAME TO new 9.在 employees 表中添加一个 department 列,数据类型为 VARCHAR(50),应使用的命令是( ) A. ALTER TABLE employees ADD department VARCHAR(50) B. ALTER TABLE employees MODIFY department VARCHAR(50) C. ALTER TABLE employees CHANGE department VARCHAR(50) D. CREATE COLUMN department VARCHAR(50) IN employees 10.以下关于 FOREIGN KEY 的描述,错误的是( )。 A. 外键引用另一个表的主键 B. 外键约束保证数据一致性 C. 外键字段必须与引用字段数据类型相同 D. 外键可以跨数据库引用 二、填空题 1.存储精确的小数金额应使用的数据类型是 ____________。 2.创建表时,定义主键的关键字是 ____________。 3.修改表结构的命令是 ____________。 4.删除表使用的关键字是 ____________。 5.复制表结构的命令是 ____________。 三、判断题 1.AUTO_INCREMENT 只能用于 INT 类型字段。( ) 2.VARCHAR(50) 最多可以存储 50 个字符。( ) 3.RENAME TABLE 可以同时重命名多个表。( ) 4.删除表使用 DELETE TABLE 命令。( ) 5.TEXT 类型可以存储超过 65535 字节的数据。( ) 6.修改列名使用 ALTER TABLE ... CHANGE 命令。( ) 7.TIMESTAMP 类型的默认值可以设置为当前时间。( ) 8.表的主键必须是单个字段。( ) 9.FLOAT 类型比 DECIMAL 类型更精确。( ) 10.DATETIME 类型的范围比 TIMESTAMP 更大。( ) 四、命令题 1.创建一个名为 employees 的表,包含以下字段: emp_id:整数类型,主键,自动递增 first_name:长度 50 的字符串,非空 last_name:长度 50 的字符串,非空 email:长度 100 的字符串,唯一且非空 hire_date:日期类型,默认值为当前日期 salary:精确到小数点后 2 位的十进制数,非空且大于 0 department:长度 50 的字符串,默认值为 'Unassigned' 2.对 employees 表进行以下修改: 添加 phone 字段,长度 20 的字符串,唯一。 将 salary 字段的精度改为总长度 12 位,小数位 4 位。 添加外键约束,关联 departments 表的 dept_id 字段。 3.创建一个 employees_backup 表,要求: 结构与 employees 表完全相同。 添加 backup_time 字段,类型为 TIMESTAMP,默认值为当前时间且自动更新。 4.执行以下操作: 创建 students 表,包含 stu_id(主键自增)、name(非空)、gender(枚举类型 'M'/'F')。 将表名重命名为 pupils。 删除 pupils 表中的 gender 字段。 最终删除 pupils 表。 学科网(北京)股份有限公司 $$

资源预览图

专题四 定义表(练习)-《数据库原理与应用技术》高考备考讲练测(河北省)
1
专题四 定义表(练习)-《数据库原理与应用技术》高考备考讲练测(河北省)
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。