MySQL数据表的结构的同步练习与实训

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: 进行MySQL数据表的结构的同步练习与实训。

MySQL数据表的结构的同步练习与实训答案
一、选择题

  1. MySQL中创建数据表应该使用( B )语句。
    A.CREATE SCHEMA
    B.CREATE TABLE
    C.CREATE VIEW
    D.CREATE DATABASE
    2.对一个已创建的表,( D )操作是不可以的。
    A.更改表名
    B.增加或删除列
    C.修改已有列的属性
    D.将已有text数据类型修改为image数据类型
    3.在下列SQL语句中,修改表结构的语句是( A )。
    A.ALTER B. CREATE C. UPDATE D. INSERT
    4.下面是有关主键和外键之间的关系描述,正确的是( AC )。
    A.一个表中最多只能有一个主键约束,多个外键约束
    B.一个表中最多只有一个外键约束,一个主键约束
    C.在定义主键外键约束时,应该首先定义主键约束,然后定义外键约束
    D.在定义主键外键约束时,应该首先定义外键约束,然后定义主键约束
    5.下列几种情况下,不适合创建索引的是( A )。
    A.列的取值范围很小
    B.用作查询条件的列
    C.频繁搜索范围的列
    D.连接中频繁使用的列
    6.CREATE UNIQUE INDEX writer_index ON 作者信息(作者编号)语句创建了一个( A )索引。
    A.唯一索引
    B.全文索引
    C.主键索引
    D.普通索引
    7.建立索引的目的是( D )。
    A.降低MySQL数据检索的速度
    B.与MySQL数据检索的速度无关
    C.加快数据库的打开速度
    D.提高MySQL数据检索的速度
    8.创建索引的命令是( D )。
    A.create trigger
    B.create procedure
    C.create function
    D.create index
    9.索引只能创建在CHAR、VARCHAR或者TEXT类型的字段上,称之为( C )。
    A.主索引
    B.唯一性索引
    C.全文索引
    D.哈希索引
    10.下面关于唯一性索引描述不正确的是( A )。
    A.某列创建了唯一索引则这一列为主键
    B.不允许插入重复的列值
    C.某列创建为主键,则该列会自动创建唯一索引
    D.一个表中可以有多个唯一索引
    11.某数据表已经将列F定义为主关键字,则以下说法中错误的是( A )。
    A.列F的数据是有序排列的
    B.列F的数据在整个数据表中是唯一存在的
    C.不能再给数据表其它列建立主键
    D.当为其它列建立普通索引时,将导致此数据表的记录重新排列
    12.以下关于数据库完整性描述不正确的是( D )。
    A.数据应随时可以被更新
    B.表中的主键的值不能为空
    C.数据的取值应在有效范围内
    D.一个表的值若引用其它表的值,应使用外键进行关联
    13.下面关于默认值的描述,正确的是( D )。
    A.表中添加新列时,如果没有指明值,可以使用默认值
    B.可以绑定到表列,也可以绑定到数据类型
    C.可以响应特定时间的操作
    D.以上描述都正确
    14.下列SQL语句中,能够实现实体完整性控制的语句是( B )。
    A.FOREIGN KEY
    B.PRIMARY KEY
    C.REFERENCES
    D.FOREIGN KEY和REFERENCES
    15.关于FOREIGN KEY约束的描述不正确的是( B )。
    A.体现数据库中表之间的关系
    B.实现参照完整性
    C.以其他表PRIMARY KEY约束和UNIQUE约束为前提
    D.每个表中都必须定义
    二、填空题
    1.完整性约束包括 实体 完整性、 域 完整性、参照完整性和用户定义完整性。
    2.索引的类型主要有 FULLTEXT , HASH , BTREE 和 RTREE 。
  2. 域 完整性是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围。
  3. 实体 完整性用于保证数据库中数据表的每一个特定实体的记录都是唯一的。
    5.创建和修改表的命令分别是 create table和 alter table。
    6.限制输入到列的值的范围,应使用 检查 约束。
    7.建立和使用 约束 的目的是为了保证数据的完整性。
    8.当在一个表中已存在有PRIMARY KEY约束时,不能再创建 聚集 索引,用CREATE INDEX ID_Index ON Students(身份证)建立的索引为 唯一性 索引。
    9.创建唯一性索引时,应保证创建索引的列不包括重复的数据,并且没有两个或两个以上的空值。如果有这种数据,必须先将其 删除 ,否则索引不能创建成功。
    10.两个表的主关键字和外关键字的数据对应一致,这是属于 引用 完整性,通常可以通过 外键 和 CHECK 约束 来实现。
    三、简答题
  4. 如果表的某一列被指定具有NOT NULL属性,则表示什么?
    MySQL 非空约束(NOT NULL)可以通过 CREATE TABLE 或 ALTER TABLE 语句实现。在表中某个列的定义后加上关键字 NOT NULL 作为限定词,来约束该列的取值不能为空。
  5. 什么是数据完整性?完整性有哪些类型?
    数据完整性是指数据的准确性和一致性,它是为防止数据库中存在不符合语义规定的数
    据和因错误信息的输入/输出导致无效操作而提出的。
    在MySQL数据库中,可以通过实体完整性、域完整性、参照完整性和用户自定义完整性
    保证数据的完整性
  6. 简述索引与表的约束之间的关系。
    在MySQL数据库中,可以通过实体完整性、域完整性、参照完整性和用户自定义完整性保证数据的完整性。而实现数据完整性的途径主要就是约束。数据库中的约束包括主键约束、外键约束、唯一约束、检查约束、空值约束和默认值约束等。
    对于唯一约束来说,创建唯一约束的同时会自动创建其对应的索引 而删除其索引则同时删除其约束;
    对于外键约束来说,创建外键约束的同时则不会同时创建其对应的索引 而要删除他则可以通过删除其约束名称进行删除;

四、实训题

  1. 数据类型
    使用MySQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。
    解答
    create table class( CLASSNO varchar(8) not null, DEPARTNO varchar(2) not null, CLASSNAME varchar(20) not null);

2.现有关系数据库如下:
数据库名:学生成绩数据库
学生表(学号,姓名,性别,民族)
课程表(课程号,课程名称,任课教师)
成绩表(学号,课程号,分数)
用SQL语言实现下列功能:
①创建数据库[学生成绩数据库];
②创建[课程表];
课程表(课号 char(6),名称)
要求使用:主键(课号)、非空(名称)
③创建[学生表];
学生表(学号 char(6),姓名,性别,民族)
要求使用:主键(学号)、默认(民族)、非空(民族,姓名),检查(性别)
④创建[成绩表];
成绩表(学号,课程号,分数)
要求使用:外键(成绩表.学号,成绩表.课程号)、检查(分数)
⑤将下列课程信息添加到课程表中
课号 课程名称
100001 大学语文
100002 大学英语
解答
1.CREATE DATABASE学生成绩数据库;
2.CREATE TABLE 课程表( 课号CHAR(6) NOT NULL,
名称 VARCHAR(20) NOT NULL,
PRIMARY 课号);
3.CREATE TABLE 学生表( 学号CHAR(6) PRIMARY KEY,
姓名 VARCHAR(20) NOT NULL,
性别 CHAR(2) NOT NULL CHECK,
民族 CHAR(2) NOT NULL );
4.CREATE TABLE 成绩表( FOREIGN KEY(学号) REFERENCES 成绩表 (学号),
FOREIGN KEY(课程号) REFERENCES 成绩表 (课程号),
分数 CHAR(3) NOT NULL CHECK);
5.INSERT INTO 课程表(课号,名称) VALUES(‘100001’,‘大学语文’);
INSERT INTO 课程表(课号,名称) VALUES(‘100002’,‘大学英语’);

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
19天前
|
缓存 NoSQL 关系型数据库
13- Redis和Mysql如何保证数据⼀致?
该内容讨论了保证Redis和MySQL数据一致性的几种策略。首先提到的两种方法存在不一致风险:先更新MySQL再更新Redis,或先删Redis再更新MySQL。第三种方案是通过MQ异步同步以达到最终一致性,适用于一致性要求较高的场景。项目中根据不同业务需求选择不同方案,如对一致性要求不高的情况不做处理,时效性数据设置过期时间,高一致性需求则使用MQ确保同步,最严格的情况可能涉及分布式事务(如Seata的TCC模式)。
48 6
|
27天前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
轻松入门MySQL:保障数据完整性,MySQL事务在进销存管理系统中的应用(12)
|
27天前
|
SQL 存储 关系型数据库
轻松入门MySQL:玩转数据表的增、删、改、查(4)
轻松入门MySQL:玩转数据表的增、删、改、查(4)
|
28天前
|
存储 关系型数据库 MySQL
MYSQL 单表可以放多少数据是怎么计算出来的
MYSQL 单表可以放多少数据是怎么计算出来的
48 1
|
1月前
|
关系型数据库 MySQL
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
elasticsearch对比mysql以及使用工具同步mysql数据全量增量
24 0
|
5天前
|
SQL 关系型数据库 MySQL
Spring_jdbc数据连接池(mysql实现增、删、改、查)
Spring_jdbc数据连接池(mysql实现增、删、改、查)
13 0
|
5天前
|
关系型数据库 MySQL
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
Mysql语句_查询数据百分比、人员年龄、数据排序、添加查询时的列属性、合并查询结果
9 0
|
1月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
16 1
|
20小时前
|
DataWorks Shell 对象存储
DataWorks产品使用合集之在 DataWorks 中,有一个 MySQL 数据表,数据量非常大且数据会不断更新将这些数据同步到 DataWorks如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
14 3
|
1天前
|
Java 关系型数据库 MySQL
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术
【JDBC编程】基于MySql的Java应用程序中访问数据库与交互数据的技术