内容正文:
举一反三考点练
《数据库原理与应用技术-MySQL》数据表操作-课后自测
知识点一 建立数据表
1.下列命令中,用于创建数据表的是( )
A. CREATE DATABASE B. CREATE TABLE
C. ALTER TABLE D. DROP TABLE
2.若要确保user表中username列的值不重复,应添加的约束是( )
A. PRIMARY KEY B. NOT NULL
C. UNIQUE D. DEFAULT
3.下列数据类型中,适合存储 “商品价格”(精确到分)的是( )
A. FLOAT B. DOUBLE
C. DECIMAL(10,2) D. INT
4.关于PRIMARY KEY约束,下列说法错误的是( )
A. 一个表只能有一个主键 B. 主键列的值可以为NULL
C. 主键可以由多个列组成 D. 主键自动包含UNIQUE约束
5.执行CREATE TABLE IF NOT EXISTS t1(id INT);后,若t1表已存在,则( )
A. 报错并删除原表 B. 不报错,也不修改原表
C. 报错但保留原表 D. 覆盖原表并创建新表
6.下列表选项中,用于指定 MySQL 数据表存储引擎的是( )
A. CHARSET B. ENGINE C. COLLATE D. DEFAULT
7.下列约束中,属于表级约束的是( )
A. name VARCHAR(20) NOT NULL B. id INT PRIMARY KEY
C. FOREIGN KEY (dept_id) REFERENCES dept(id) D. age INT DEFAULT 18
8.若要创建orders表,其中order_date列的默认值为当前日期,正确的列定义是( )
A. order_date DATE DEFAULT NOW()
B. order_date DATETIME DEFAULT '2023-01-01'
C. order_date DATE DEFAULT CURRENT_DATE()
D. order_date TIME DEFAULT GETDATE()
知识点二 数据类型
1.下列数据类型中,属于整数型的是( )
A. FLOAT B. VARCHAR C. BIGINT D. DATE
A. CHAR(200) B. VARCHAR(200) C. TEXT D. LONGTEXT
3.TIMESTAMP类型的默认值若设置为CURRENT_TIMESTAMP,表示( )
A. 固定值 “1970-01-01 00:00:00” B. 系统当前日期
C. 系统当前日期和时间 D. 空值
4.下列关于DECIMAL(10,3)的说法,正确的是( )
A. 可存储 10 位整数和 3 位小数
B. 总长度为 13 位(10+3)
C. 小数部分必须是 3 位
D. 属于浮点型
5.存储 “性别”(值为 “男” 或 “女”),最适合的类型是( )
A. CHAR(1) B. VARCHAR(2) C. TINYINT D. TEXT
6.下列数据类型中,不支持DEFAULT约束的是( )
A. INT B. VARCHAR C. TEXT D. DATE
7.DATETIME和TIMESTAMP的主要区别是( )
A. DATETIME存储范围更小
B. TIMESTAMP受时区影响
C. DATETIME不能存储时间
D. TIMESTAMP只能存储日期
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
举一反三考点练
《数据库原理与应用技术-MySQL》数据表操作-课后自测
知识点一 建立数据表
1.下列命令中,用于创建数据表的是( )
A. CREATE DATABASE B. CREATE TABLE
C. ALTER TABLE D. DROP TABLE
【答案】B
【解析】CREATE TABLE是创建数据表的核心命令;A 用于创建数据库,C 用于修改表,D 用于删除表。
2.若要确保user表中username列的值不重复,应添加的约束是( )
A. PRIMARY KEY B. NOT NULL
C. UNIQUE D. DEFAULT
【答案】C
【解析】UNIQUE约束确保列值唯一(可含NULL);A 为主键(唯一且非空),B 为非空,D 为默认值。
3.下列数据类型中,适合存储 “商品价格”(精确到分)的是( )
A. FLOAT B. DOUBLE
C. DECIMAL(10,2) D. INT
【答案】C
【解析】DECIMAL(M,D)是定点数,M=10表示总长度 10 位,D=2表示 2 位小数,适合精确存储金额;A、B 为浮点数,可能有精度误差;D 为整数,无法存储小数。
4.关于PRIMARY KEY约束,下列说法错误的是( )
A. 一个表只能有一个主键 B. 主键列的值可以为NULL
C. 主键可以由多个列组成 D. 主键自动包含UNIQUE约束
【答案】B
【解析】主键列的值必须非NULL且唯一;A、C、D 均正确。
5.执行CREATE TABLE IF NOT EXISTS t1(id INT);后,若t1表已存在,则( )
A. 报错并删除原表 B. 不报错,也不修改原表
C. 报错但保留原表 D. 覆盖原表并创建新表
【答案】B
【解析】IF NOT EXISTS的作用是:表不存在则创建,存在则不执行任何操作。
6.下列表选项中,用于指定 MySQL 数据表存储引擎的是( )
A. CHARSET B. ENGINE C. COLLATE D. DEFAULT
【答案】B
【解析】ENGINE指定存储引擎(如InnoDB、MyISAM);A 为字符集,C 为校对规则,D 为默认值约束。
7.下列约束中,属于表级约束的是( )
A. name VARCHAR(20) NOT NULL B. id INT PRIMARY KEY
C. FOREIGN KEY (dept_id) REFERENCES dept(id) D. age INT DEFAULT 18
【答案】C
【解析】表级约束不与单个列绑定,通常用于外键或多列联合约束;A、B、D 均为列级约束。
8.若要创建orders表,其中order_date列的默认值为当前日期,正确的列定义是( )
A. order_date DATE DEFAULT NOW()
B. order_date DATETIME DEFAULT '2023-01-01'
C. order_date DATE DEFAULT CURRENT_DATE()
D. order_date TIME DEFAULT GETDATE()
【答案】C
【解析】CURRENT_DATE()返回当前日期(DATE类型),适合作为DATE列的默认值;A 中NOW()返回DATETIME,类型不匹配;B 为固定日期,不符合 “当前日期”;D 中GETDATE()不是 MySQL 函数。
知识点二 数据类型
1.下列数据类型中,属于整数型的是( )
A. FLOAT B. VARCHAR C. BIGINT D. DATE
【答案】C
【解析】BIGINT是 8 字节整数型;A 是浮点型,B 是字符串型,D 是日期型。
2.存储 “用户地址”(长度不确定,最长 200 个字符),最适合的类型是( )
A. CHAR(200) B. VARCHAR(200) C. TEXT D. LONGTEXT
【答案】B
【解析】地址长度不确定但未超过 65535 字符,VARCHAR(200)按实际长度存储,节省空间;CHAR(200)固定长度浪费空间;TEXT和LONGTEXT适合更长文本,此处无需。
3.TIMESTAMP类型的默认值若设置为CURRENT_TIMESTAMP,表示( )
A. 固定值 “1970-01-01 00:00:00” B. 系统当前日期
C. 系统当前日期和时间 D. 空值
【答案】C
【解析】CURRENT_TIMESTAMP返回当前系统的日期和时间(YYYY-MM-DD HH:MM:SS),TIMESTAMP类型设置此默认值时,插入记录未指定值则自动填入当前时间。
4.下列关于DECIMAL(10,3)的说法,正确的是( )
A. 可存储 10 位整数和 3 位小数
B. 总长度为 13 位(10+3)
C. 小数部分必须是 3 位
D. 属于浮点型
【答案】C
【解析】DECIMAL(10,3)中,10是总位数(整数 + 小数),3是小数位数,因此整数部分最多 7 位;属于定点型,小数部分固定为 3 位。
5.存储 “性别”(值为 “男” 或 “女”),最适合的类型是( )
A. CHAR(1) B. VARCHAR(2) C. TINYINT D. TEXT
【答案】A
【解析】“男”“女” 是固定长度,CHAR(1)表示 1 个字符,适合存储;VARCHAR(2)虽可存储,但CHAR查询更快;TINYINT需用 1/2 表示,不如字符直观;TEXT冗余。
6.下列数据类型中,不支持DEFAULT约束的是( )
A. INT B. VARCHAR C. TEXT D. DATE
【答案】C
【解析】TEXT及LONGTEXT等大文本类型不支持DEFAULT(默认值),其他类型均可设置默认值。
7.DATETIME和TIMESTAMP的主要区别是( )
A. DATETIME存储范围更小
B. TIMESTAMP受时区影响
C. DATETIME不能存储时间
D. TIMESTAMP只能存储日期
【答案】B
【解析】TIMESTAMP受时区影响,DATETIME不受时区影响;A 错误(DATETIME范围更大);C、D 错误(两者均存储日期 + 时间)。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$