moocMySQL数据库技术_2课后答案(mooc2023课后作业答案)

计算机答案2024-05-19 06:51:3105328抢沙发
moocMySQL数据库技术_2课后答案(mooc2023课后作业答案)摘要: 单元0 课程导学MySQL数据库概述随堂测验1、( )不属于MySQL的图形管理工具A、WorkbenchB、Command窗口C、NavicatD、PhpMyAdmin2、MySQL有以下哪些特点A ...

moocMySQL数据库技术_2课后答案(mooc2023课后作业答案)

单元0 课程导学

MySQL数据库概述随堂测验

1、据库技术( )不属于MySQL的课后课后图形管理工具
A、Workbench
B、答案答案Command窗口
C、作业Navicat
D、据库技术PhpMyAdmin

2、课后课后MySQL有以下哪些特点
A、答案答案开源软件
B、作业适用于OLTP场景
C、据库技术服务器数量大
D、课后课后主要应用于互联网行业

3、答案答案MySQL是作业关系型数据库

单元1 Windows下MySQL的安装

1.1 MySQL的安装随堂测验

1、MySQL默认使用TCP/IP的据库技术端口号是( )
A、3307
B、课后课后3306
C、答案答案3311
D、8080

2、彻底卸载MySQL要包括以下哪些选项( )
A、点击控制面板→卸载程序,卸载掉所有相关的MySQL软件
B、删除安装目录下C:\Program Files的 MySQL文件夹
C、删除目录下C:\ProgramData的删除注册表中HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application下的MySQL文件夹MySQL文件夹
D、删除注册表中HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application下的MySQL文件夹

1.2 MySQL的配置随堂测验

1、为了避免不支持中文字符串查询或者发生中文字符串乱码等问题,不应该考虑使用以下( )字符集。
A、gb2312
B、latin1
C、gbk
D、utf8

2、MySQL的启动类型有()
A、自动
B、手动
C、禁用
D、停止

3、可以用命令NET START启动MySQL的服务

单元1测验

1、MySQL默认使用TCP/IP的端口号是( )
A、3307
B、3306
C、3311
D、8080

2、进行MySQL的配置,最重要的是修改( )文件
A、lib.ini
B、bin.ini
C、include.ini
D、my.ini

3、可以通过( )命令来启动MySQL服务
A、NET STOP MySQL57
B、NET START MySQL57
C、NET START
D、NET STOP

4、MySQL支持的存储引擎有哪些( )
A、MyISAM
B、InnoDB
C、MEMORY
D、Engine

5、完全卸载MySQL,需要执行以下哪几项( )
A、点击控制面板→卸载程序,卸载掉所有相关的MySQL软件
B、删除目录C:\Program Files下的 MySQL文件夹
C、删除目录C:\ProgramData下下的MySQL文件夹
D、删除注册表中HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application下的MySQL文件夹

6、如果要在数据表中正确地显示中文,必须将( )设置为UTF8。
A、default-character-set
B、character-set-server
C、default-storage-engine
D、port

7、最彻底、最直接修改MySQL的字符集,是在my.ini文件中实现的( )

8、MySQL是一款开源的软件。( )

9、MEMORY是MySQL5.7.22默认的存储引擎。

单元2 数据库的创建

2.1 创建数据库随堂测验

1、E-R图是数据库设计的工具之一,它一般适用于建立数据库的( )
A、结构模型
B、概念模型
C、物理模型
D、逻辑模型

2、选择数据库db_student为当前数据库的命令是( )
A、USE db_student;
B、OPEN db_student;
C、SELECT db_student;
D、USE DATABASE db_student;

3、删除数据库db_student的命令是( )
A、DELETE DATABASE db_student;
B、DROP DATABASE db_student;
C、DELETE db_student;
D、DROP db_student;

2.2 创建数据表随堂测验

1、以下()不是对数值数据类型的定义
A、INT
B、FLOAT
C、DECIMAL
D、CHAR

2、查看数据库中数据表列表的命令是
A、SHOW DATABASE;
B、SHOW DATABASES;
C、SHOW TABLES;
D、SHOW TABLE;

3、若要在基本表S中增加一列Cn(课程名),可用( ).
A、ADD TABLE S Cn CHAR(8);
B、ADD TABLE S ALTER Cn CHAR(8);
C、ALTER TABLE S ADD Cn CHAR(8);
D、ALTER TABLES S(ADD Cn CHAR(8));

4、将数据表student字段名称address修改为stuAddress,用以下( )语句
A、alter table student change address stuAddress;
B、alter table student change address stuAddress varchar(50);
C、alter table student midify address stuAddress;
D、alter table student modify address stuAddress varchar(50);

5、关系的属性在数据表中称为字段

2.3 数据表的约束随堂测验

1、“年龄在18-25之间”这种约束属于数据库系统的( )措施。
A、原子性
B、一致性
C、完整性
D、安全性

2、在人事管理系统中,规定工程师的职工编号不能为空,这样的数据完整性约束条件称之为( )
A、用户定义完整性
B、参照完整性
C、实体完整性
D、主键约束完整性

3、设置了唯一键的字段不能插入重复的值

4、定义主键的关键字是PRIMARY KEY。

5、外键约束用于保证外键字段值与父表中主键字段值的一致性,外键字段值要么是NULL,要么是父表中主键字段值的复制。

单元2测验

1、E-R图是数据库设计的工具之一,它一般适用于建立数据库的( )。
A、结构模型
B、概念模型
C、物理模型
D、逻辑模型

2、给定工程项目PROJ和职工EMP实体集,若一个职工可以参加多个项目,一个项目可以由多个职工参加,那么,PROJ与EMP之间应是一个( )的联系。
A、1:1
B、m:1
C、1:m
D、m:n

3、在SQL语言中,删除基本表的命令是( )
A、DESTROY TABLE
B、REMOVE TABLE
C、DELETE TABLE
D、DROP TABLE

4、数据库系统从广义的角度看,应该由( )组成。
A、数据库、硬件、软件和人员
B、数据库、硬件、数据库管理系统和软件
C、数据库、软件和人员
D、数据库、数据库管理系统和人员

5、选择数据库course为当前数据库的命令是( )
A、use course;
B、open course;
C、select course;
D、use database course;

6、查看数据库中数据表列表的命令是( )。
A、SHOW DATABASE;
B、SHOW DATABASES;
C、SHOW TABLES;
D、SHOW TABLE;

7、假设一个教师可以讲授多门课程,一门课程可以有多名教师讲授,则教师和课程之间的联系类型为( )。
A、1:1
B、1:m
C、m:1
D、n:m

8、假设一个院系有多名教师,一个教师只属于一个院系,则院系和教师 之间的联系类型为( )。
A、1:1
B、1:m
C、m:1
D、n:m

9、某高校人事管理系统中,规定讲师每课时的教学酬金不能超过100元,副教授每课时的教学酬金不能超过130元,教授每课时的教学酬金不能超过160元。这种情况下所设置的数据完整性约束条件称之为( )。
A、实体完整性
B、用户定义完整性
C、主键约束完整性
D、参照完整性

10、商品关系P(商品名,条形码,产地,价格)中的( )属性可以作为该关系的主键。
A、商品名
B、条形码
C、产地
D、价格

11、某银行信贷额度关系credit-in(C_no, C_name, limit, Credit_balance)中的四个属性分别表示用户号、用户姓名、信贷额度和累计消费额。该关系的 ( )属性可以作为主键。
A、C_no
B、C_name
C、Credit_balance
D、limit

12、设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),其中,属性“系名”是关系DEPT的主键,用户要求访问“家庭住址”的某个成分,如邮编、省、市、街道以及门牌号。关系Students的主键和外键分别是( )。
A、学号、家庭住址
B、姓名、家庭 住址
C、学号、系名
D、姓名、系名

13、若某企业的数据库系统中有如下所示的员工关系和仓库关系,每个仓库可有多名员工,但只有一名负责人,则创建仓库表结构的SQL语句为( )。 员工关系(employee) 员工编号 (employeeID) 员工姓名 (name) 部门 (department) 职务 (position) 001 李蕾 仓储部 组长 002 张明 仓储部 组长 003 何苗 仓储部 保管员 仓库关系(warehouse) 仓厍编号 (warehouseID) 仓厍名称 (name) 地址 (address) 负责人编号 (pricipalID) 01 仓库A 地址A 001 02 仓库B 地址B 002 03 仓库C 地址C 001
A、CREATE TABLE(employeeID CHAR(2) NOT NULL UNIQUE, name CHAR(30) NOT NULL, address CHAR(40), pricipalID CHAR(3));
B、CREATE TABLE((warehouseID CHAR(2) PRIMARY KEY, name CHAR(30) NOT NULL, address CHAR(40), pricipalID CHAR(3)); employee(employeeID));
C、CREATE TABLE((warehouseID CHAR(2) PRIMARY KEY, name CHAR(30)NOT NULL, address CHAR(40), pricipalID CHAR(3), FOREIGN KEY(pricipalID) REFERENCES employee(employeeID));
D、CREATE TABLE((warehouseID CHAR(2), name CHAR(30)NOT NULL, address CHAR(40), pricipalID CHAR(3), PRIMARY KEY(warehouseID), FOREIGN KEY(employeeID) REFERENCES employee(employeeID));

14、为了避免不支持中文字符串查询或者发生中文字符串乱码等问题,应该考虑使用以下( )字符集。
A、gb2312
B、latin1
C、gbk
D、utf8

15、数据完整性包括以下哪些( )
A、实体完整性
B、用户定义完整性
C、主键约束完整性
D、参照完整性

16、唯一性约束用于保证表中某个字段的值不重复且值不能为空( null),一个表能定义多个唯一性约束。( )

17、默认值约束用于指定一个字段的默认值。插入记录时,如果没有给该字段赋值,数据库系统会自动为这个字段插入默认值。( )

18、外键约束用于保证外键字段值与父表中主键字段值的一致性,外键字段值要么是NULL,要么是父表中主键字段值的复制。( )

单元2作业

1、单元2作业(总计60分) 作业要求:只需在作业中直接写出SQL语句即可,答题时务必写上题目编号。 1.创建数据库db_student(5分) 2.在数据库db_student下创建如下5个数据表(每小题5分,共计25分) (1)创建表 t_student(学生) 字段名称 数据类型 字段名称 数据类型 stu_id CHAR(10) stu_birthday DATE stu_name VARCHAR(50) stu_telephone VARCHAR(20) stu_sex CHAR(2) major_id CHAR(5) (2)创建表 t_course(课程) 字段名称 数据类型 字段名称 数据类型 course_id CHAR(8) course_credit INT course_name VARCHAR(50) teacher_id CHAR(10) course_type VARCHAR(10) (3)创建表 t_score(成绩) 字段名称 数据类型 字段名称 数据类型 score_id CHAR(4) course_id CHAR(8) stu_id CHAR(10) grade FLOAT(2,1) (4)创建表 t_teacher(任课教师) 字段名称 数据类型 字段名称 数据类型 teacher_id CHAR(10) teacher_title VARCHAR(20) teacher_name VARCHAR(50) teacher_sex CHAR(2) (5)创建表 t_major(专业) 字段名称 数据类型 字段名称 数据类型 major_id CHAR(5) major_name VARCHAR(50) 3.修改数据表(每小题5分,共计15分) (1)将表t_teacher增加一个字段teacher_birthday,数据类型为DATE。 (2)将表t_teacher中的字段名teacher_birthday更名为birthday. (3)删除表t_teacher中的字段birthday。 4.为数据库db_student下的数据表设置如下约束(每小题5分,共计15分) (1)为表t_course设置字段course_name的默认值为“数据库管理” (2)为表t_teacher中的teacher_id设置为主键。 (3)为表t_course设置主键course_id和外键teacher_id,外键参照t_teacher中的主键teacher_id。

单元3 数据表的操作

3.1 单表查询随堂测验

1、若课程域D1={ 数据库,操作系统,面向对象},教师域D2={王强,刘亦},学生域D3={刘海华,张刚,昊琨,梁谦},在关系代数运算中,D1×D2的结果有( )个元组。
A、3
B、4
C、5
D、6

2、统计档案表中学生来自多少个城市,下面SQL语句正确的是
A、SELCET SUM(DISTINCT 家庭住址) FROM 档案表
B、SELCET DISTINCT 家庭住址 FROM 档案表
C、SELCET COUNT(家庭住址) FROM 档案表
D、SELCET COUNT(DISTINCT 家庭住址) FROM 档案表

3、信贷额度关系credit-in(C_name,limit,Credit_balance)中的三个属性分别表示用户姓名、信贷额度和到目前为止的花费。下表为关系credit-in的一个具体实例。若要查询每个用户还能花费多少,相应的SQL语句应为:Select() From credit-in。
A、C_name,Credit balance-limit
B、C_name,limit-Credit_balance
C、C_name,limit,Credit_balance
D、C_name,Credit_balance

4、SELECT后只能出现表的字段名,不能是表达式。

3.2 多表查询随堂测验

1、自连接SQL语句关键词为()
A、JOIN…ON…
B、UNION
C、JOIN…WHERE…
D、INNER JOIN…WHERE…

2、时间差函数是()
A、CURDATE()
B、TIME
C、DATETIME
D、TIMESTAMPDIFF()

3、返回比子查询中最小的还要大于等于的数据记录使用的是()
A、>=ANY
B、<=ANY
C、>=ALL
D、<=ALL

4、使用比较运算符“=”匹配每个表共有列的列值,查询结果仅包含符合连接条件与筛选条件的行的连接叫做()
A、等值连接
B、不等值连接
C、内连接
D、条件语句

5、IN、EXISTS之间是可以相互转换的

3.3 数据表的增删改随堂测验

1、商品关系P(商品名,条形码,产地,价格),将价格小于50的商品上调5%的SQL语句应该是: UPDATE P ( ) WHERE价格<50;
A、SET价格=‘价格*1.05’
B、SET价格=价格*1.05
C、Modify价格=‘价格*1.05’
D、Modify价格=价格*1.05

2、MySQL中,insert语句不能完成一次性向表中插入多条记录。

3、更新操作的关键字是UPDATE

单元3测验

1、信贷额度关系credit-in(C_name,limit,Credit_balance)中的三个属性分别表示用户姓名、信贷额度和到目前为止的花费。若要查询每个用户还能花费多少,相应的SQL语句应为:SELECT ( ) FROM credit-in。
A、C_name,Credit balance-limit
B、C_name,limit-Credit_balance
C、C_name,limit,Credit_balance
D、C_name,Credit_balance

2、设有关系Students(学号,姓名,年龄,性别,系名,家庭住址),如果要查询姓“李”的且家庭住址包含“科技路”的学生学号、姓名以及所在系,则对应的SELECT语句如下: SELECT 学号,姓名,系名 FROM Students WHERE 姓名 LIKE '李%' AND ( );
A、家庭住址LIKE '%科技路%'
B、家庭住址 LIKE '*科技路*'
C、家庭住址AS '%科技路%'
D、家庭住址 AS '*科技路*'

3、商品关系P(商品名,条形码,产地,价格)中的条形码可以作为该关系的主键。查询由“北京”生产的185升电冰箱的SQL语句应该是: SELECT 商品名,产地 FROM P WHERE 产地=‘北京’AND ( );
A、条形码=185升电冰箱
B、条形码=‘185升电冰箱’
C、商品名=185升电冰箱
D、商品名=‘185升电冰箱’

4、学生关系模式为S(Sno, Sname, SD, Sage),其中:Sno表示学生学号,Sname表示学生姓名,SD表示学生所在系,Sage表示学生年龄。试将下面的SQL语句空缺部分补充完整,使其可以查询计算机系学生的学号、姓名和年龄。 SELECT Sno,Sname,Sage FROM S WHERE ( );
A、SD=计算机
B、SD=′计算机′
C、′SD′=计算机
D、′SD=计算机′

5、设有关系student(学号,姓名,年龄,性别,系名),如果要查询姓名至少包括5个字母,且倒数第二个字母为“G”的学生的学号、姓名以及所在系,则对应的SELECT语句如下: SELECT 学号,姓名,系名 FROM Students WHERE 姓名 LIKE ( );
A、"_ _ _G_%"
B、"_ _ _%G_"
C、姓名
D、."_ _ _G%"

6、对于Students和SC关系,属性Sno表示学号,Sname表示姓名,Sex表示性别,SX表示专业,Age表示年龄,Con表示课程号,Grade表示成绩。查询“至少选修了两门课程的每个学生的平均成绩”的SQL语句如下: SELECT Sno, AVG(Grade)FEOM SC GROUP BY Sno ( )>1; Students Son Sname Sex SD Age 310001 张静 女 计算机 18 310002 陈继军 男 计算机 19 410003 李丽丽 女 机械 18 410004 刘华东 男 机械 19 110041 赵庆民 男 通信 20 110042 范建华 男 通信 20 SC Son Sname Sex 310002 1 93 310002 2 84 310002 3 84 410004 2 83 410004 3 93 110042 1 84 110042 2 82
A、WHERE COUNT (Cno)
B、WHERE COUNT(DISTINCT(Cno))
C、HAVING COUNT (Cno)
D、HAVING COUNT(DISTINCT(Cno))

7、设有一个关系EMP(职工号,姓名,部门名,工种,工资),若需查询不同部门中担任“钳工”的职工的平均工资,则相应的SELCECT语句为: SELCET部门名,AVG(工资) AS 平均工资 FROM EMP GROUP BY ( ) HAVING 工种=‘钳工’;
A、职工号
B、姓名
C、部门名
D、工种

8、有学生表S、课程表C和选课表SC,结构分别如下: s(学号, 姓名, 性别, 年龄) c(课程号, 课程名, 学分) sc(学号, 课程号, 成绩) 检索学号、姓名、学生所修课程的课程名和成绩,正确的SQL语句是( )。
A、SELECT 学号, 姓名, 课程名, 成绩 FROM s, c, sc WHERE s.学号=sc.学号 AND sc.学号=c.学号;
B、SELECT 学号, 姓名, 课程名, 成绩 FROM s INNER JOIN sc ON s.学号=sc.学号 INNER JOIN c ON sc.课程号=c.课程号;
C、SELECT s.学号, 姓名, 课程名, 成绩 FROM s INNER JOIN sc INNER JOIN c ON s.学号=sc.学号 ON sc.课程号=c.课程号;
D、SELECT s.学号, 姓名, 课程名, 成绩 FROM s INNER JOIN sc ON s.学号=sc.学号 INNER JOIN c ON sc.课程号=c.课程号;

9、要求满足连接条件的记录,以及连接条件左侧的表中记录都包含在结果中,应使用( )。
A、左连接
B、右连接
C、内部连接
D、完全连接

10、有如下三个数据库表: 图书(索书号, 书名, 出版社, 定价, ISBN) 借书证(借书证号, 姓名, 性别, 专业, 所在单位) 借书记录(借阅号, 索书号, 借书证号, 借书日期, 还书日期) 查询2018年被借过的图书书名、出版社和借书日期,正确的SQL语句是( )。
A、SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE B.借书日期=2018;
B、SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE B.借书日期=YEAR(2018);
C、SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE YEAR(B.借书日期)=2018;
D、SELECT A.书名, A.出版社, B.借书日期 FROM 图书 A INNER JOIN 借书记录 B ON A.索书号=B.索书号 WHERE YEAR(B.借书日期)=YEAR(2018);

11、在成绩表中,查询数学成绩最好的三名学生的学生姓名,正确的语句是( )。
A、SELECT 姓名 FROM 成绩表 ORDER BY 数学 DESC LIMIT 1, 3;
B、SELECT 姓名 FROM 成绩表 ORDER BY 数学 DESC LIMIT 1, 2;
C、SELECT 姓名 FROM 成绩表 ORDER BY 数学 DESC LIMIT 0, 3;
D、SELECT 姓名 FROM 成绩表 ORDER BY 数学 DESC LIMIT 0, 2;

12、查询1997,1999年出生的同学信息,正确的SELECT语句是( )。
A、SELECT * FROM student WHERE YEAR(birthday) NOT IN(1997, 1999);
B、SELECT * FROM student WHERE YEAR(birthday)=1997 AND YEAR(birthday)=1999;
C、SELECT * FROM student WHERE YEAR(birthday) IN(1997, 1999);
D、SELECT * FROM student WHERE YEAR(birthday) EXISTS(1997, 1999);

13、统计档案表中学生来自多少个城市,下面SQL语句正确的是( )。
A、SELCET SUM(DISTINCT 家庭住址) FROM 档案表;
B、SELCET DISTINCT 家庭住址 FROM 档案表;
C、SELCET COUNT(家庭住址) FROM 档案表;
D、SELCET COUNT(DISTINCT 家庭住址) FROM 档案表;

14、学生表student包含sname、sex、age三个属性列,其中age的默认值是20,执行如下SQL语句的结果是( ): INSERT INTO student(sex,sname,age) VALUES('M','Lili');
A、执行成功,sname,sex,age的值分别是Lili,M,20
B、执行成功,sname,sex,age的值分别是M,Lili,20
C、SQL语句不正确,执行失败
D、执行成功,sname,sex,age的值分别是M,Lili,NULL

15、先按学号升序排列,再按成绩降序排列检索出选课表中的所有信息,下面SQL语句正确的是( )。
A、SELECT * FROM 选课表 ORDER BY 学号, 成绩;
B、SELECT * FROM 选课表 GROUP BY 学号, 成绩;
C、SELECT * FROM 选课表 ORDER BY 学号, 成绩 DESC;
D、SELECT * FROM 选课表 ORDER BY 学号 DESC, 成绩;

16、与WHERE dno IN ('IM', 'CS')条件等价的查询表达式是( )。
A、WHERE dno BETWEEN 'IM' OR 'CS'
B、WHERE dno BETWEEN 'IM' AND 'CS'
C、WHERE dno='IM' OR dno='CS'
D、WHERE dno='IM' AND dno='CS'

17、在成绩表中,查找数学分数最高的学生记录,下列SQL语句的空白区应填入的是( )。 SELECT * FROM 成绩 WHERE 数学>=( )(SELECT 数学 FROM 成绩表)
A、SOME
B、EXISTS
C、ANY
D、ALL

18、在一个查询中嵌套一个或多个查询,被嵌套的查询称为( )。
A、子查询
B、主查询
C、相关查询
D、非相关查询

19、在教师表中查找“工龄”还没有输入数据的记录,使用的SQL语句是( )。
A、SELECT * FROM 教师表 WHERE 工龄 IS NOT NULL;
B、SELECT * FROM 教师表 WHERE 工龄=0;
C、SELECT * FROM 教师表 WHERE 工龄 IS NULL;
D、SELECT * FROM 教师表 WHERE 工龄=NULL;

20、没有联系的两个表之间也可以实现连接查询。( )

21、连接查询中,使用ON指定两个表的连接字段。( )

22、所谓表中相同意义的字段,是指在多个表中名字不一定相同,但取值的含义相同的字段,这是表之间实现连接查询的前提。( )

23、MySQL要实现左连接查询,需要使用RIGHT JOIN的方式。( )

24、ORDER BY后可以指定多个排序关键字。 ( )

25、MySQL中,INSERT语句不能完成一次性向表中插入多条记录。( )

26、在CREATE TABLE命令中可以使用SELECT语句复制表的结构和数据为新表。

27、删除表中的部分记录,可以使用TRUNCATE语句。( )

28、SELECT后只能出现表的字段名,不能是表达式。( )

单元3作业

1、单元3作业(总计45分) 作业要求:只需在作业中直接写出SQL语句即可,答题时务必写上题目编号。 对数据库db_student下的数据表作以下的查询: 1.单表查询(每小题5分,总计15分) (1)查询表t_student中所有学生的信息。 (2)查询t_course表中学分在1至3分之间的课程信息。 (3)在数据表t_major中统计出不同的专业个数。 2.多表查询(每小题5分,总计15分) (1)查询“云计算技术”专业的学生信息。 (2)利用左外连接查询在t_student中有基本的学生信息但在t_score中却没有成绩信息的学生情况。 (3)利用IN子查询“移动互联应用开发”这门课程的成绩信息。 3.数据表的增删改(每小题5分,总计15分) (1)在表t_student中插入一条新的记录:stu_id:1831621103,stu_name:王明,stu_sex:女,stu_birthday:2003-07-01,stu_telephone:13983772010,major_id:31607。 (2)在表t_student中将stu_name为“王洪”的major_id改为“31601”. (3)删除表t_student中stu_birthday为“1999-01-01”之前的所有记录。

单元4 索引与视图的创建

4.1 创建索引随堂测验

1、以下哪一个关键字是用来创建唯一索引的。
A、UNIUQE INDEX
B、FULLTEXT INDEX
C、INDEX
D、CREATE INDEX

2、根据创建索引的字段,索引可以分为以下几类
A、单列索引
B、多列索引
C、普通索引
D、唯一索引

3、设置唯一完整性约束的字段,不适合创建索引。

4.2 创建视图随堂测验

1、以下哪个字段可以实现删除视图
A、DROP VIEW
B、ALTER VIEW
C、DELETE VIEW
D、DEL VIEW

2、使用视图的原因主要有以下几种
A、简单性
B、安全性
C、数据独立性
D、可扩展性

3、视图本质上是数据库中实际存在的物理表。

单元4测验

1、为数据表创建索引的目的是( )。
A、提高查询的检索性能
B、归类
C、创建唯一索引
D、创建主键

2、以下关于索引的描述正确的是( )。
A、一个数据库表只能创建一个索引
B、索引的关键字只能是表中的一个字段
C、索引需要额外的存储空间
D、数据库中同一个索引允许有多个的关键字,每个关键字可以来自不同的表

3、以下( )约束不是基于索引实现的。
A、非空约束
B、主键约束
C、唯一性约束
D、外键约束

4、以下哪一个关键字是用来创建唯一索引的
A、UNIUQE INDEX
B、FULLTEXT INDEX
C、INDEX
D、CREATE INDEX

5、以下哪个字段可以实现删除视图( )
A、DROP VIEW
B、ALTER VIEW
C、DELETE VIEW
D、DEL VIEW

6、根据创建索引的字段,索引可以分为以下几类( )
A、单列索引
B、多列索引
C、普通索引
D、唯一索引

7、使用视图的原因主要有以下几种( )
A、简单性
B、安全性
C、数据独立性
D、可扩展性

8、经常在WHERE子句中出现的字段,适合创建索引。( )经常在WHERE子句中出现的字段,适合创建索引。( )

9、设置唯一完整性约束的字段,不适合创建索引。( )

10、创建索引的关键字为CREATE INDEX。( )

11、为已存在的表创建索引只能通过 ALTER TABLE方式实现。( )

12、视图本质上是数据库中实际存在的物理表。( )

13、数据库中只存放了视图的定义,而并没有存放视图中的数据。( )

14、创建视图需要使用SELECT语句( )

15、DESC view_name;可以实现查看视图。( )

单元4作业

1、单元4作业(总计20分) 作业要求:只需在作业中直接写出SQL语句即可,答题时务必写上题目编号。 1.创建索引(每小时5分,总计10分) (1)用CREATE INDEX方法在已经创建好的表 t_student为其字段名 stu_id 创建普通降序索引。 (2)创建表 t_teacher1,与 t_teacher 结构一致(不能复制表结构),在创建表的过程中创建索引,为 teacher_id 创建一个唯一升序索引。 2.创建视图(每小时5分,总计10分) (1)建一个视图view_req_course,数据为必修课的课程信息。 (2)建一个视图view_optional,数据来源于女同学选修的课程信息。

单元5 存储过程与触发器的创建

5.1 创建存储过程随堂测验

1、在MySQL中存储过程对应的关键字是( )
A、table
B、view
C、procedure
D、trigger

2、在MySQL中调用存储过程使用的命令关键字是( )
A、do
B、alter
C、create
D、call

3、在MySQL的存储过程中begin和_______应该成对出现,表示一个完整的命令序列。

5.2 创建触发器随堂测验

1、MySQL的触发器类型主要有哪几种?
A、insert
B、update
C、delete
D、select

2、在MySQL的触发器中,Trigger_Time主要有哪两种?
A、before
B、insert
C、after
D、delete

3、在MySQL的插入触发器中能使用的临时表是OLD表

单元5测验

1、调用带一个输入参数的存储过程,正确的语句是( )
A、CALL p1(“101101”);
B、CALL p1();
C、CALL p1(@A);
D、CALL p1(“101101”,”小明”);

2、在创建触发器时,如果要创建在删除表中的数据后触发触发器,应该基于下面哪个事件
A、ALTER
B、INSERT
C、UPDATE
D、DELETE

3、查看触发器的语句是( )
A、USE TRIGGERS
B、VIEW TRIGGERS
C、SELECT TRIGGERS
D、SHOW TRIGGERS

4、删除触发器trigger_fg1的语句是( )
A、DROP TRIGGER trigger_fg1
B、ALTER TRIGGER trigger_fg1
C、DROP * FROM trigger_fg1
D、SELECT * FROM t_reader WHERE DROP trigger_fg1

5、在MySQL中存储过程对应的关键字是( )
A、TABLE
B、VIEW
C、PROCEDURE
D、TRIGGER

6、在MySQL中修改存储过程使用的命令是( )
A、CREATE PROCEDURE
B、ALTER PROCEDURE
C、DROP PROCEDURE
D、MODIFY PROCEDURE

7、在MySQL中表示函数的关键字是( )
A、TABLE
B、VIEW
C、PROCEDURE
D、FUNCTION

8、以下( )关键字可以创建循环结构
A、LOOP
B、REPEAT
C、WHILE
D、CASE

9、在以下语句段中,变量 b的取值可能是( ) DECLARE b CHAR(3); CASE a WHEN 1 THEN SET b = '一月'; WHEN 2 THEN SET b = '二月'; ELSE SET b='参数错'; END CASE;
A、"参数错"
B、"一月"
C、"二月"
D、NULL

10、在MySQL的存储过程中提供的哪些程序控制结构( )
A、顺序结构
B、分支结构
C、循环结构
D、嵌套结构

11、MySQL的触发器类型主要有哪几种( )
A、INSERT
B、UPDATE
C、DELETE
D、SELECT

12、在MySQL的触发器中,Trigger_Time主要有那两个种( )
A、BEFORE
B、INSERT
C、AFTER
D、DELETE

13、在MySQL中使用关键字OUT表示输入参数( )

14、在MySQL中可以定义没有参数的存储过程。( )

15、在MySQL的存储过程的调用中,形式参数和实际参数要做到个数相同,类型要一一对应。( )

16、在MySQL中函数体一般都是返回SELECT查询语句( )

17、在MySQL的函数的定义中RETURNS后面要书写函数的类型( )

18、在MySQL的触发器创建时关键字ON后面跟的是触发器的名称。( )

19、在MySQL的插入触发器中能使用的临时表是OLD表。( )

20、在MySQL的更新触发器中只能使用NEW表,不能使用OLD表。( )

21、在MySQL的删除触发器对应的临时表是NEW表。( )

单元5作业

1、单元5作业(总计30分) 作业要求:只需在作业中直接写出SQL语句即可,答题时务必写上题目编号。 1.创建存储过程(第小题5分,总计15分) (1)创建一个存储过程,查询女同学选修的课程信息。 (2)创建一个带输入参数的存储过程,输入t_course表中某个老师的姓名,输出该老师讲授的课程course_id与course_name。 (3)创建一个带输出参数的存储过程,输出教师的总人数。 2.创建触发器(第小题5分,总计15分) (1)创建Insert触发器,每向t_student中插入一条记录后,则向t_log(tname,logtime)表中插入该表的表名t_student和插入的时间。 (2)创建一个t_course表的更新触发器,当更新t_course表中某一条记录后,分别查看更新前后的课程名称。 (3)创建一个delete触发器,删除t_student表中的数据时,将对应的t_score表中的数据删除。

单元6 数据库的管理

6.1 管理事务随堂测验

1、MySQL的事务控制语句中,以下哪个关键词表示“回滚”操作
A、COMMIT
B、ROLLBACK
C、BEGIN
D、END

2、MySQL的事务包含以下哪些特性
A、原子性
B、一致性
C、隔离性
D、持久性

3、MySQL的事务隔离包括4种级别:读未提交、读提交、可重复读、可串行化

6.2 管理权限随堂测验

1、MySQL数据库中,用于事务授权控制的关键词是下面哪个
A、GRANT
B、REVOKE
C、FLUSH
D、SHOW

2、MySQL数据库的权限表中,以下哪张表用于存放用户的基本信息,如用户名、密码等
A、user表
B、db表
C、tables_priv表
D、columns_priv表

3、MySQL数据库中,将权限设为localhost,可允许所有ip访问

6.3 数据库的备份与恢复随堂测验

1、以下哪种备份类型用于在数据库关闭状态下进行备份操作
A、冷备份
B、热备份
C、温备份
D、双机备份

2、数据库恢复的基础是利用转储的冗余数据

3、使用MySQL自带的MYSQLDUMP备份工具,可以在业务不中断时,把表结构和数据从表中备份出来,生成SQL语句的文件

6.4 管理日志随堂测验

1、某SQL语句,每次执行时,都要等很久才能返回结果,为了分析其性能,应从以下哪个日志下手检查
A、错误日志
B、查询日志
C、慢查询日志
D、二进制日志

2、MySQL数据库中,查询日志默认开启,可手动禁用

单元6测验

1、MySQL的事务控制语句中,以下哪个关键词表示“回滚”操作。( )
A、COMMIT
B、ROLLBACK
C、BEGIN
D、END

2、MySQL数据库的权限表中,以下哪张表用于存放用户的基本信息,如用户名、密码等。( )
A、User表
B、Db表
C、Tables_priv表
D、Columns_priv表

3、MySQL数据库中,用于事务授权控制的关键词是下面哪个( )
A、GRANT
B、REVOKE
C、FLUSH
D、SHOW

4、以下哪种备份类型用于在数据库关闭状态下进行备份操作( )
A、冷备份
B、热备份
C、温备份
D、双机备份

5、某SQL语句,每次执行时,都要等很久才能返回结果,为了分析其性能,应从以下哪个日志下手检查( )
A、错误日志
B、查询日志
C、慢查询日志
D、二进制日志

6、MySQL的事务包含以下哪些特性( )
A、原子性
B、一致性
C、隔离性
D、持久性

7、对数据库有哪些权限设置( )
A、CREATE
B、INSERT
C、SELECT
D、UPDATE

8、MySQL的事务隔离包括4种级别:读未提交、读提交、可重复读、可串行化( )

9、MySQL数据库中,将权限设为localhost,可允许所有ip访问( )

10、使用MySQL自带的MYSQLDUMP备份工具,可以在业务不中断时,把表结构和数据从表中备份出来,生成SQL语句的文件( )

11、数据库恢复的基础是利用转储的冗余数据( )

12、MySQL数据库中,错误日志默认开启,可手动禁用( )

单元7 图书管理系统的实现

7.1 图书管理系统数据库的创建随堂测验

1、在PowerDesigner工具中,可根据概念模型生成物理模型

2、概念模型是对真实数据库的描述。数据库中的一些对象包括:表、视图、字段、数据类型、长度、主键、外键、索引等

3、物理模型是对现实世界中问题域内的事物的描述,其常用表示形式为“实体-关系”图。

7.2 图书管理系统与MySQL的连接随堂测验

1、在以下哪种程序结构中,不适合进行数据库连接操作
A、顺序
B、选择
C、循环
D、跳转

2、PHP中,以下哪个函数,用于将MySQL结果集返回到数组中
A、mysqli_connect()
B、mysqli_fetch_array()
C、mysqli_fetch_object()
D、mysqli_close()

3、若数据库连接用完后,不使用mysqli_close()函数关闭连接,则会造成连接无法释放

7.3 图书管理系统页面的实现随堂测验

1、在开发PHP网站页面时,应尽可能分离PHP后端代码和HTML前端代码到不用文件中

2、在HTML页面文件中,无法添加PHP动态代码

3、为了保证各页面格调统一并增强页面的可维护性,应在各页面中使用引用语句来包含相同效果的展示代码,如header、footer等

单元7测验

1、PHP中,以下哪个函数,用于将MySQL结果集返回到数组中( )
A、mysqli_connect()
B、mysqli_fetch_array()
C、mysqli_fetch_object()
D、mysqli_close()

2、PHP中,以下哪个函数,用于实现与MySQL数据库的连接( )
A、mysqli_connect()
B、mysqli_fetch_array()
C、mysqli_fetch_object()
D、mysqli_close()

3、CDM是指以下哪种模型( )
A、概念数据模型
B、物理数据模型
C、逻辑数据模型
D、数据库模型

4、实体与实体之间的联系包括以下哪几种( )
A、一对一
B、一对多
C、多对多
D、多对一

5、以下哪些工具都可以操作MySQL数据库( )
A、Navicat
B、Workbench
C、phpMyAdmin
D、startUML

6、物理模型是对现实世界中问题域内的事物的描述,其常用表示形式为“实体-关系”图( )

7、概念模型是对真实数据库的描述。数据库中的一些对象包括:表、视图、字段、数据类型、长度、主键、外键、索引等。( )

8、利用PowerDesigner工具可将概念模型生成物理模型。( )

9、若数据库连接用完后,不使用mysqli_close()函数关闭连接,则会造成连接无法释放( )

10、为了保证各页面格调统一并增强页面的可维护性,应在各页面中使用引用语句来包含相同效果的展示代码,如header、footer等( )

MySQL数据库期末考试

MySQL数据库技术期末考试

1、MySQL默认使用TCP/IP的端口号是( )
A、3307
B、3306
C、3311
D、8080

2、在SQL语言中,删除基本表的命令是( )
A、DESTROY TABLE 表名
B、REMOVE TABLE 表名
C、DELETE TABLE 表名
D、DROP TABLE 表名

3、查看数据库中数据表列表的命令是( )
A、SHOW DATABASE;
B、SHOW DATABASES;
C、SHOW TABLES;
D、SHOW TABLE;

4、商品关系P(商品名,条形码,产地,价格)中的( )属性可以作为该关系的主键。
A、价格
B、商品名
C、条形码
D、产地

5、先按学号升序排列,再按成绩降序排列检索出选课表中的所有信息,下面SQL语句正确的是( )。
A、SELECT * FROM 选课表 ORDER BY 学号, 成绩
B、SELECT * FROM 选课表 GROUP BY 学号, 成绩
C、SELECT * FROM 选课表 ORDER BY 学号, 成绩 DESC
D、SELECT * FROM 选课表 ORDER BY 学号 DESC, 成绩

6、在教师表中查找“工龄”还没有输入数据的记录,使用的SQL语句是( )。
A、SELECT * FROM 教师表 WHERE 工龄 IS NOT NULL;
B、SELECT * FROM 教师表 WHERE 工龄=NULL;
C、SELECT * FROM 教师表 WHERE 工龄=0;
D、SELECT * FROM 教师表 WHERE 工龄 IS NULL;

7、以下哪一个关键字是用来创建唯一索引的。
A、UNIUQE INDEX
B、FULLTEXT INDEX
C、INDEX
D、CREATE INDEX

8、调用带一个输入参数的存储过程,正确的语句是( )
A、CALL p1(“101101”);
B、CALL p1();
C、CALL p1(@A);
D、CALL p1(“101101”,”小明”);

9、在MySQL中存储过程对应的关键字是( )
A、TABLE
B、VIEW
C、PROCEDURE
D、TRIGGER

10、MySQL的事务控制语句中,以下哪个关键词表示“回滚”操作。
A、COMMIT
B、ROLLBACK
C、BEGIN
D、END

11、与WHERE dno IN ('IM', 'CS')条件等价的查询表达式是( )。
A、WHERE dno BETWEEN 'IM' OR 'CS'
B、WHERE dno BETWEEN 'IM' AND 'CS'
C、WHERE dno='IM' OR dno='CS'
D、WHERE dno='IM' AND dno='CS'

12、信贷额度关系credit-in(C_name,limit,Credit_balance)中的三个属性分别表示用户姓名、信贷额度和到目前为止的花费。若要查询每个用户还能花费多少,相应的SQL语句应为:SELECT ( ) FROM credit-in。
A、C_name,Credit balance-limit
B、C_name,limit-Credit_balance
C、C_name,limit,Credit_balance
D、C_name,Credit_balance

13、商品关系P(商品名,条形码,产地,价格)中的条形码可以作为该关系的主键。查询由“北京”生产的185升电冰箱的SQL语句应该是: SELECT 商品名,产地 FROM P WHERE 产地=‘北京’AND ( );
A、条形码=185升电冰箱
B、条形码=‘185升电冰箱’
C、商品名=185升电冰箱
D、商品名=‘185升电冰箱’

14、在成绩表中,查找数学分数最高的学生记录,下列SQL语句的空白区应填入的是( )。 SELECT * FROM 成绩 WHERE 数学>=( )(SELECT 数学 FROM 成绩表)
A、SOME
B、EXISTS
C、ANY
D、ALL

15、要求满足连接条件的记录,以及连接条件左侧的表中记录都包含在结果中,应使用( )
A、左连接
B、右连接
C、内部连接
D、完全连接

16、完全卸载MySQL,需要执行以下哪几项( )
A、点击控制面板→卸载程序,卸载掉所有相关的MySQL软件
B、删除目录C:\Program Files下的 MySQL文件夹
C、删除目录C:\ProgramData下下的MySQL文件夹
D、删除注册表中HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application下的MySQL文件夹

17、如果要在数据表中正确地显示中文,必须将( )设置为UTF8。
A、default-character-set
B、character-set-server
C、default-storage-engine
D、port

18、根据创建索引的字段,索引可以分为以下几类( )
A、单列索引
B、多列索引
C、普通索引
D、唯一索引

19、在MySQL的触发器中,Trigger_Time主要有那两个种( )
A、Before
B、Insert
C、After
D、Delete

20、对数据库有哪些权限设置( )
A、CREATE
B、INSERT
C、SELECT
D、UPDATE

21、最彻底、最直接修改MySQL的字符集,是在my.ini文件中实现的( )

22、唯一性约束用于保证表中某个字段的值不重复且值不能为空( null),一个表能定义多个唯一性约束。( )

23、外键约束用于保证外键字段值与父表中主键字段值的一致性,外键字段值要么是NULL,要么是父表中主键字段值的复制。( )

24、没有联系的两个表之间也可以实现连接查询。( )

25、MySQL要实现左连接查询,需要使用RIGHT JOIN的方式。( )

26、MySQL中,INSERT语句不能完成一次性向表中插入多条记录。( )

27、SELECT后只能出现表的字段名,不能是表达式。( )

28、视图本质上是数据库中实际存在的物理表。( )

29、创建视图需要使用SELECT语句( )

30、为已存在的表创建索引只能通过 ALTER TABLE方式实现。( )

31、在MySQL中使用关键字OUT表示输入参数?( )

32、在MySQL的插入触发器中能使用的临时表是OLD表。( )

33、MySQL数据库中,将权限设为localhost,可允许所有ip访问( )

34、在MySQL的函数的定义中Returns后面要书写函数的类型( )

35、在MySQL中可以定义没有参数的存储过程。( )

MySQL数据库期末考试

MySQL数据库技术期末考试

1、MySQL默认使用TCP/IP的端口号是( )
A、3307
B、3306
C、3311
D、8080

2、在SQL语言中,删除基本表的命令是( )
A、DESTROY TABLE 表名
B、REMOVE TABLE 表名
C、DELETE TABLE 表名
D、DROP TABLE 表名

3、查看数据库中数据表列表的命令是( )
A、SHOW DATABASE;
B、SHOW DATABASES;
C、SHOW TABLES;
D、SHOW TABLE;

4、商品关系P(商品名,条形码,产地,价格)中的( )属性可以作为该关系的主键。
A、价格
B、商品名
C、条形码
D、产地

5、先按学号升序排列,再按成绩降序排列检索出选课表中的所有信息,下面SQL语句正确的是( )。
A、SELECT * FROM 选课表 ORDER BY 学号, 成绩
B、SELECT * FROM 选课表 GROUP BY 学号, 成绩
C、SELECT * FROM 选课表 ORDER BY 学号, 成绩 DESC
D、SELECT * FROM 选课表 ORDER BY 学号 DESC, 成绩

6、在教师表中查找“工龄”还没有输入数据的记录,使用的SQL语句是( )。
A、SELECT * FROM 教师表 WHERE 工龄 IS NOT NULL;
B、SELECT * FROM 教师表 WHERE 工龄=NULL;
C、SELECT * FROM 教师表 WHERE 工龄=0;
D、SELECT * FROM 教师表 WHERE 工龄 IS NULL;

7、以下哪一个关键字是用来创建唯一索引的。
A、UNIUQE INDEX
B、FULLTEXT INDEX
C、INDEX
D、CREATE INDEX

8、调用带一个输入参数的存储过程,正确的语句是( )
A、CALL p1(“101101”);
B、CALL p1();
C、CALL p1(@A);
D、CALL p1(“101101”,”小明”);

9、在MySQL中存储过程对应的关键字是( )
A、TABLE
B、VIEW
C、PROCEDURE
D、TRIGGER

10、MySQL的事务控制语句中,以下哪个关键词表示“回滚”操作。
A、COMMIT
B、ROLLBACK
C、BEGIN
D、END

11、与WHERE dno IN ('IM', 'CS')条件等价的查询表达式是( )。
A、WHERE dno BETWEEN 'IM' OR 'CS'
B、WHERE dno BETWEEN 'IM' AND 'CS'
C、WHERE dno='IM' OR dno='CS'
D、WHERE dno='IM' AND dno='CS'

12、信贷额度关系credit-in(C_name,limit,Credit_balance)中的三个属性分别表示用户姓名、信贷额度和到目前为止的花费。若要查询每个用户还能花费多少,相应的SQL语句应为:SELECT ( ) FROM credit-in。
A、C_name,Credit balance-limit
B、C_name,limit-Credit_balance
C、C_name,limit,Credit_balance
D、C_name,Credit_balance

13、商品关系P(商品名,条形码,产地,价格)中的条形码可以作为该关系的主键。查询由“北京”生产的185升电冰箱的SQL语句应该是: SELECT 商品名,产地 FROM P WHERE 产地=‘北京’AND ( );
A、条形码=185升电冰箱
B、条形码=‘185升电冰箱’
C、商品名=185升电冰箱
D、商品名=‘185升电冰箱’

14、在成绩表中,查找数学分数最高的学生记录,下列SQL语句的空白区应填入的是( )。 SELECT * FROM 成绩 WHERE 数学>=( )(SELECT 数学 FROM 成绩表)
A、SOME
B、EXISTS
C、ANY
D、ALL

15、要求满足连接条件的记录,以及连接条件左侧的表中记录都包含在结果中,应使用( )
A、左连接
B、右连接
C、内部连接
D、完全连接

16、完全卸载MySQL,需要执行以下哪几项( )
A、点击控制面板→卸载程序,卸载掉所有相关的MySQL软件
B、删除目录C:\Program Files下的 MySQL文件夹
C、删除目录C:\ProgramData下下的MySQL文件夹
D、删除注册表中HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\EventLog\Application下的MySQL文件夹

17、如果要在数据表中正确地显示中文,必须将( )设置为UTF8。
A、default-character-set
B、character-set-server
C、default-storage-engine
D、port

18、根据创建索引的字段,索引可以分为以下几类( )
A、单列索引
B、多列索引
C、普通索引
D、唯一索引

19、在MySQL的触发器中,Trigger_Time主要有那两个种( )
A、Before
B、Insert
C、After
D、Delete

20、对数据库有哪些权限设置( )
A、CREATE
B、INSERT
C、SELECT
D、UPDATE

21、最彻底、最直接修改MySQL的字符集,是在my.ini文件中实现的( )

22、唯一性约束用于保证表中某个字段的值不重复且值不能为空( null),一个表能定义多个唯一性约束。( )

23、外键约束用于保证外键字段值与父表中主键字段值的一致性,外键字段值要么是NULL,要么是父表中主键字段值的复制。( )

24、没有联系的两个表之间也可以实现连接查询。( )

25、MySQL要实现左连接查询,需要使用RIGHT JOIN的方式。( )

26、MySQL中,INSERT语句不能完成一次性向表中插入多条记录。( )

27、SELECT后只能出现表的字段名,不能是表达式。( )

28、视图本质上是数据库中实际存在的物理表。( )

29、创建视图需要使用SELECT语句( )

30、为已存在的表创建索引只能通过 ALTER TABLE方式实现。( )

31、在MySQL中使用关键字OUT表示输入参数?( )

32、在MySQL的插入触发器中能使用的临时表是OLD表。( )

33、MySQL数据库中,将权限设为localhost,可允许所有ip访问( )

34、在MySQL的函数的定义中Returns后面要书写函数的类型( )

35、在MySQL中可以定义没有参数的存储过程。( )

学习通MySQL数据库技术_2

MySQL是一种常用的关系型数据库管理系统,用户可以通过SQL语言操作数据库。本文将介绍MySQL的一些高级内容,包括索引、事务和触发器等。

索引

索引是一种优化数据库查询的技术。它可以让数据库系统更快地查找数据,减少查询的时间。

在MySQL中,可以使用CREATE INDEX语句创建索引,例如:

CREATE INDEX idx_lastname ON customers (lastname);

这条语句将在customers表的lastname列上创建一个索引。

使用索引时需要注意以下几点:

  • 索引需要占用存储空间,因此过多的索引可能会影响性能。
  • 索引只是一种优化技术,不应该滥用。如果查询的数据量很小,使用索引可能并不会提高性能。
  • 当表中的数据发生变化时,索引也需要进行更新,因此对于频繁更新的表,索引的使用需要谨慎。

事务

MySQL支持事务的处理方式。事务是指一组操作,要么全部提交,要么全部回滚。如果其中一个操作失败,整个事务将被回滚。

在MySQL中,可以使用START TRANSACTION语句开始一个事务,使用COMMIT语句提交一个事务,使用ROLLBACK语句回滚一个事务。例如:

START TRANSACTION;UPDATE account SET balance = balance - 1000 WHERE id = 1;UPDATE account SET balance = balance + 1000 WHERE id = 2;COMMIT;

这段代码中,先将账户1的余额减去1000元,再将账户2的余额加上1000元。如果这两个操作都成功,则提交事务。

使用事务可以保证数据库的一致性和完整性。例如,在上述例子中,如果只有一个操作成功,那么整个事务将被回滚,不会产生不一致的情况。

触发器

触发器是一种特殊的存储过程,它可以在特定的事件发生时自动执行。例如,在插入或删除数据时,可以通过触发器自动更新其他表中的数据。

在MySQL中,可以使用CREATE TRIGGER语句创建触发器。例如:

CREATE TRIGGER upd_check BEFORE UPDATE ON account    FOR EACH ROW    BEGIN        IF NEW.balance < 0 THEN            SET NEW.balance = 0;        END IF;    END;

这段代码中,创建了一个在更新account表时触发的触发器。当更新操作完成后,如果账户余额小于0,则将余额设置为0。

使用触发器可以简化数据库的操作流程,并且保证数据的一致性。但是,需要注意触发器的效率和复杂度,不要滥用触发器。

总结

本文介绍了MySQL的一些高级内容,包括索引、事务和触发器等。这些技术可以帮助用户优化数据库的查询和操作,保证数据的完整性和一致性。

需要注意的是,这些技术需要根据具体情况进行选择和使用,不应该滥用或者误用。只有正确地使用这些技术,才能让MySQL发挥最大的效益。

中国大学MySQL数据库技术_2

MySQL是一个开源的关系型数据库管理系统,广泛应用于互联网应用、企业信息化等领域。在中国的大学中,MySQL数据库技术也逐渐开始成为一门必修课程,以满足不同专业学生的需要。

MySQL数据库的优势

MySQL数据库具有以下几点优势:

  • 开源免费:MySQL数据库是免费的,可以在任何计算机上安装。
  • 高性能:MySQL数据库具有高速读写能力,能够快速处理大量数据。
  • 高可靠性:MySQL数据库采用多种技术保证数据可靠性,如备份、日志、事务等。
  • 易于使用:MySQL数据库采用标准SQL语言,易于学习和使用。

MySQL数据库的应用

MySQL数据库在各个领域都有广泛的应用,以下是其中的几个方面:

  • 互联网应用:MySQL数据库是互联网应用的首选数据库之一,它用于存储用户信息、日志记录、数据分析等。
  • 企业信息化:MySQL数据库可以存储企业的各种信息,如人力资源数据、财务数据、销售数据等。
  • 科研领域:MySQL数据库可以用于科学数据的存储和管理,如气象数据、生物数据等。

MySQL数据库的学习

MySQL数据库的学习需要从基础开始,逐步深入掌握数据库的原理和应用。以下是MySQL数据库学习的几个阶段:

  1. MySQL数据库的安装和配置。
  2. MySQL数据库的基本操作,如创建数据库、表、插入数据、查询数据等。
  3. MySQL数据库的高级操作,如事务处理、存储过程、触发器等。
  4. MySQL数据库的优化和调试。
  5. MySQL数据库的应用开发,如与编程语言的集成、数据分析等。

MySQL数据库的未来

随着互联网应用和企业信息化的不断发展,MySQL数据库在未来的应用中也将继续发挥重要作用。同时,MySQL数据库也在不断完善和优化,以应对大规模数据存储和查询的需求。

总之,MySQL数据库技术是中国大学中不可或缺的一门课程,通过学习MySQL数据库技术,能够提升学生的数据处理能力和应用开发能力,为他们日后的职业发展打下坚实的基础。

文章版权及转载声明

本文地址:http://www.zzxhsh.org/97a799507.html发布于 2024-05-19 06:51:31
文章转载或复制请以超链接形式并注明出处五煦查题

评论列表 (暂无评论,44人围观)参与讨论