MYSQL练习题及答案
MySQL专项测试题附答案

MySQL专项测试题附答案一、单项选择题(本部分共15题,每题2分,共30分。
在每题给出选项中,只有一项符合题目要求,答对得分,答错或不答不得分。
)1.下列说法中,不正确的是( )。
A. 数据库减少了数据冗余B. 数据库中的数据可以共享C. 数据库避免了一切数据的重复D. 数据库具有较高的数据独立性2.SQL 语言的数据操纵语句包括 SELECT, INSERT, UPDATE 和 DELETE,最重要的,也是使用最频繁的语句是( )。
A. SELECTB. INSERTC. UPDATED. DELETE3. 数据库系统的核心是( )。
A.数据模型B.数据库管理系统C.数据库D.数据库管理员4. 在 MySQL 中,下列关于创建数据库表的描述正确的是( )。
A. 在创建表时必须设定列的约束B. 在删除表的时候通过外键约束连接在一起的表会被一同删除C. 在创建表时必须设置列类型D. 通过 CREATE TABLE new_t SELECT FROM old_t 复制表时,表的约束能够一起被复制到新表中5. 有一个关系:学生(学号,姓名,系别),规定学号的值域是 8 个数字组成的字符串,这一规则属于( )A. 实体完整性约束B. 参照完整性约束C. 用户自定义完整性约束D. 关键字完整性约束6. 如果一个字段的数据必须来源另一个表的主键,那么要在这个字段上建立( )。
A. PK(主键)B. FK(外键)C. UK(唯一键)D.复合主键7. 下列描述正确的是( )。
A.一个数据库只能包含一个数据表B.一个数据库可以包含多个数据表C.一个数据库只能包含两个数据表D.一个数据表可以包含多个数据库8. SQL 中,下列操作有语法错误的是( )。
A. AGE IS NOT NULLB. NOT(AGE IS NULL)C. SNAME=‘王五’D. SNAME=‘王%’9. SQL 中,“AGE IN(20, 22)”的语义是( )。
mysql数据库考试试题及答案

mysql数据库考试试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认使用的端口号是多少?A. 3306B. 8080C. 80D. 21答案:A2. 下列哪个不是MySQL的数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:D3. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B4. 如何在MySQL中查看当前所有数据库?A. SHOW DATABASES;B. LIST DATABASES;C. SELECT DATABASES;D. DISPLAY DATABASES;答案:A5. 在MySQL中,以下哪个语句用于删除表?A. DROP TABLEB. REMOVE TABLEC. DELETE TABLED. DESTROY TABLE答案:A6. 下列哪个不是MySQL的索引类型?A. PRIMARYB. UNIQUEC. INDEXD. FOREIGN答案:D7. 在MySQL中,使用哪个命令来查看表结构?A. DESCRIBE table_name;B. EXPLAIN table_name;C. SHOW table_name;D. SELECT table_name;答案:A8. 如何在MySQL中为表添加新列?A. ADD COLUMN column_name;B. INSERT COLUMN column_name;C. CREATE COLUMN column_name;D. APPEND COLUMN column_name;答案:A9. 在MySQL中,使用哪个命令来创建视图?A. CREATE VIEW view_name AS SELECT ...B. VIEW view_name AS SELECT ...C. DEFINE VIEW view_name AS SELECT ...D. CREATE SELECT view_name AS ...答案:A10. 下列哪个命令用于在MySQL中备份数据库?A. BACKUP DATABASEB. COPY DATABASEC. DUMP DATABASED. SAVE DATABASE答案:C二、填空题(每空1分,共10分)1. 在MySQL中,使用______语句可以创建新的表。
MySQL数据库原理设计与应用习题及答案

MySQL数据库原理设计与应用习题及答案一、单选题(共31题,每题1分,共31分)1.以下()只有完全符合给定的判断条件才返回1。
A、带ANY关键字的子查询B、带ALL关键字的子查询C、带IN关键字的子查询D、以上答案都不正确正确答案:B2.下列()可以在命令提示符下停止MySQL服务器。
A、netstopmysqlB、netstartmysqlC、stopmysqlD、netstop正确答案:A3.以下选项()可返回比较后最大的值。
A、GREATEST(10,1,98)B、LEAST(10,1,98)C、MAX(10,1,98)D、以上答案都不正确正确答案:A4.事务的()特性要求事务必须被视为一个不可分割的最小工作单元。
A、一致性B、持久性C、原子性D、隔离性正确答案:C5.下面用于存储二进制数据的是()。
A、INTB、FLOATC、DECIMALD、BIT正确答案:D6.MySQL提供的()语句可查看数据表的创建语句。
A、DESCRIBEB、SHOWFULLCOLUMNSC、SHOWCOLUMNSD、SHOWCREATETABLE正确答案:D7.若依据一个视图创建另一个视图,那么添加()选项,视图的数据操作会进行级联检查。
A、DEFINERB、CASCADEDC、LOCALD、以上选项都不正确正确答案:B8.下面关于联合查询描述错误的是()。
A、联合排序默认去除完全重复的记录B、联合查询必须保证查询的字段数量相同C、联合查询的SELECT语句添加LIMIT并使用圆括号包裹才能使排序生效D、以上说法全部不正确正确答案:D9.若视图是由调用视图的用户执行时,SQLSECURITY的值为()。
A、DEFINERB、INVOKERC、rootD、以上答案都不正确正确答案:B10.以下选项中,不属于MySQL特点的是()。
A、界面良好B、跨平台C、体积小D、速度快正确答案:A11.以下模式之间的映像能体现逻辑独立性的是()。
mysql测试题及答案

mysql测试题及答案MySQL测试题及答案一、选择题1. MySQL的默认端口号是什么?A. 22B. 3306C. 80D. 443答案:B2. 下列哪个SQL语句用于查询表中的所有记录?A. SELECT * FROM table_name WHERE condition;B. SELECT * FROM table_name;C. SELECT table_name.*;D. SELECT ALL FROM table_name;答案:B3. 在MySQL中,以下哪个命令用于创建新的数据库?A. CREATE DATABASE database_name;B. NEW DATABASE database_name;C. START DATABASE database_name;D. INIT DATABASE database_name;答案:A二、填空题4. 在MySQL中,使用____语句可以删除一个表。
答案:DROP TABLE5. 要查看当前MySQL服务器上所有数据库的名称,可以使用____命令。
答案:SHOW DATABASES;6. 以下SQL语句的作用是____:SELECT column1, column2 FROMtable_name WHERE column1 = value1 ORDER BY column2 DESC LIMIT 1;答案:查询表table_name中column1等于value1的记录,并按column2降序排列,返回第一条记录。
三、简答题7. 请简述主键(Primary Key)和外键(Foreign Key)的区别。
答案:主键是表中用于唯一标识每条记录的字段,一个表只能有一个主键,并且主键的值不能为NULL。
外键是表中用于与另一个表的主键建立链接的字段,用于维护两个表之间的数据一致性,一个表可以有多个外键。
8. 解释什么是事务(Transaction)以及它的特性。
mysql语言练习题答案

mysql语言练习题答案一、选择题1. C2. A3. B4. D5. A6. C7. B8. D9. B10. C二、填空题1. SELECT *FROM employeesWHERE department = 'Sales';2. UPDATE productsSET price = price * 1.1;3. DELETE FROM customersWHERE age > 60;4. INSERT INTO orders (customer_id, product_id, quantity)VALUES (1, 5, 10);5. INSERT INTO employees (first_name, last_name)VALUES ('John', 'Doe');三、简答题1. 索引是一种数据结构,用于加快数据库的数据检索速度。
在MySQL中,可以使用CREATE INDEX语句来创建索引。
2. MySQL中的关键字是指被数据库系统预先定义并具有特殊含义的词汇。
常见的关键字包括SELECT、UPDATE、DELETE、INSERT 等。
3. 视图(View)是一种虚拟的表,其内容是从一个或多个基本表中导出的结果集。
通过视图可以将复杂的查询简化,提高查询的灵活性和安全性。
4. 事务(Transaction)是由一组数据库操作组成的逻辑工作单元,要么全部执行成功,要么全部执行失败。
事务具有ACID特性,即原子性、一致性、隔离性和持久性。
5. 外键(Foreign Key)是用于建立表与表之间联系的一种约束。
通过外键,可以在两个相关表中建立引用关系,保证数据的一致性和完整性。
四、编程题1. 创建表格:CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,gender VARCHAR(10));2. 插入数据:INSERT INTO students (id, name, age, gender) VALUES (1, 'John Doe', 20, 'Male'),(2, 'Jane Smith', 22, 'Female'),(3, 'Tom Brown', 19, 'Male');3. 查询数据:SELECT name, ageFROM studentsWHERE gender = 'Female';4. 更新数据:UPDATE studentsSET age = 21WHERE name = 'John Doe';5. 删除数据:DELETE FROM studentsWHERE age > 20;以上是根据给定的MySQL语言练习题所编写的答案,希望对您有所帮助。
mysql试题及答案

mysql试题及答案一、选择题(每题2分,共20分)1. MySQL数据库默认的端口号是多少?A. 21B. 22C. 3306D. 80答案:C2. 在MySQL中,以下哪个命令用于创建数据库?A. CREATE DATABASEB. CREATE TABLEC. CREATE USERD. CREATE INDEX答案:A3. 如何在MySQL中选择所有的行和列?A. SELECT * FROM table_name;B. SELECT ALL FROM table_name;C. SELECT ALL table_name;D. SELECT table_name;答案:A4. 下列哪个选项不是MySQL的数据类型?A. INTB. DATEC. FLOATD. STRING答案:D5. 在MySQL中,如何删除一个数据库?A. DROP DATABASE database_name;B. DELETE DATABASE database_name;C. REMOVE DATABASE database_name;D. REMOVE database_name;答案:A6. 如何在MySQL中为一个表添加一个新列?A. ADD COLUMN column_name datatype;B. CREATE COLUMN column_name datatype;C. INSERT COLUMN column_name datatype;D. ADD NEW COLUMN column_name datatype;答案:A7. 在MySQL中,以下哪个命令用于删除表中的行?A. DELETE FROM table_name;B. REMOVE FROM table_name;C. DROP FROM table_name;D. REMOVE table_name;答案:A8. 如何在MySQL中更新表中的记录?A. UPDATE table_name SET column1=value1, column2=value2 WHERE condition;B. CHANGE table_name SET column1=value1, column2=value2 WHERE condition;C. MODIFY table_name SET column1=value1, column2=value2 WHERE condition;D. ALTER table_name SET column1=value1, column2=value2WHERE condition;答案:A9. MySQL中的事务是什么?A. 一系列原子性的SQL操作B. 单个SQL语句C. 一组数据D. 一个数据库答案:A10. 如何在MySQL中查看当前数据库的版本?A. SELECT VERSION();B. SHOW VERSION;C. VERSION();D. SHOW DATABASE VERSION;答案:A二、填空题(每题2分,共20分)1. MySQL的默认用户是________。
MySQL基础题库及答案

MySql数据库基础题库及答案一、填空题1.数据库是按照某种数据结构对数据进行____、_____和______的容器。
组织、存储、管理2.结构化查询语言SQL 分为_______、_______、_______和________四种语言。
DDL、DML、DQL、DCL3.MySQL中常用的约束有_____、_____、_____、_____、_____。
主键、外键、唯一、默认、非空4.MySQL配置文件my.ini常用的参数选项组有_____、_____、_____。
[client]、[mysql]、[mysqld]5.MySQL字符序命名规则中:ci 表示_____、cs 表示_____、bin 表示_____。
大小写不敏感、大小写敏感、二进制编码值比较6.查看MySQL 字符集的命令是:___________________________。
show variables like 'character%’7.MySQL5.6默认支持的存储引擎是______。
InnoDB8.显示表结构的命令_________、_____________。
desc <table_name> 、show create table <table_name>9.查看全局系统变量的命令_________,查看当前会话系统变量的命令_________。
show global variables; show session variables;10.MySQL提供的数据类型包括:_____、_____、_____、_____和_____。
数值类型、字符串类型、日期类型、复合类型、二进制类型11.MySQL 支持两种复合数据类型:_____和_____。
enum枚举类型、set集合类型12.默认情况下,MySQL自增型字段的值从1开始递增,且步长为1,设置自增字段的语法:______。
<字段名> <数据类型> auto_increment13.创建表时,设置表的字符集语法格式:____________________。
大学mysql考试题及答案

大学mysql考试题及答案一、单项选择题(每题2分,共20分)1. MySQL数据库系统中,用于对数据进行查询操作的语句是:A. INSERTB. UPDATEC. DELETED. SELECT答案:D2. 在MySQL中,创建数据库的命令是:A. CREATE DATABASEB. NEW DATABASEC. BUILD DATABASED. START DATABASE答案:A3. 如果想要在MySQL中删除一个已经存在的数据表,应该使用哪个命令?A. REMOVE TABLEB. DELETE TABLEC. DROP TABLED. DESTROY TABLE答案:C4. MySQL中,用于添加数据到表中的语句是:A. INSERT INTOB. ADD INTOC. PUT INTOD. CREATE INTO答案:A5. 在MySQL中,哪个命令用于修改已存在的数据记录?A. UPDATEB. MODIFYC. CHANGED. ALTER答案:A6. 下列哪个不是MySQL的数据类型?A. INTB. VARCHARC. DATED. BOOLEAN答案:D7. 在MySQL中,用于删除数据库的命令是:A. DELETE DATABASEB. REMOVE DATABASEC. DROP DATABASED. DESTROY DATABASE答案:C8. MySQL中的事务具有哪些特性?(多选)A. 原子性B. 一致性C. 隔离性D. 持久性答案:ABCD9. 在MySQL中,哪个命令用于查询数据库中所有数据表的名称?A. SHOW TABLESB. LIST TABLESC. DISPLAY TABLESD. SELECT TABLES答案:A10. 如果想要在MySQL中查询某个表的结构,应该使用哪个命令?A. DESCRIBE table_nameB. EXPLAIN table_nameC. SHOW table_nameD. SELECT table_name答案:A二、多项选择题(每题3分,共15分)11. 在MySQL中,可以使用哪些方法来保证事务的原子性和一致性?(多选)A. 使用存储过程B. 使用事务控制语句C. 使用外键约束D. 使用触发器答案:BCD12. 下列哪些是MySQL支持的索引类型?(多选)A. PRIMARYB. UNIQUEC. INDEXD. FOREIGN KEY答案:ABC13. 在MySQL中,哪些操作可以导致事务的回滚?(多选)A. 执行ROLLBACK命令B. 违反外键约束C. 违反唯一性约束D. 执行COMMIT命令答案:ABC14. MySQL中,哪些因素会影响查询性能?(多选)A. 数据库设计B. 索引的使用C. 查询语句的编写D. 服务器硬件配置答案:ABCD15. 在MySQL中,哪些命令可以用于数据备份?(多选)A. BACKUPB. DUMPC. COPYD. EXPORT答案:BD三、简答题(每题10分,共20分)16. 请简述MySQL中主键和唯一索引的区别。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目一问题描述:为管理岗位业务培训信息,建立3个表:S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄C (C#,CN ) C#,CN 分别代表课程编号、课程名称SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名--实现代码:SELECT SN,S# FROM SWHERE [S#] IN(SELECT [S#] FROM C,SCWHERE C.[C#]=SC.[C#]AND CN=N\'税收基础\')2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位--实现代码:SELECT S.SN,S.SD FROM S,SCWHERE S.[S#]=SC.[S#]AND SC.[C#]=\'C2\'3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位--实现代码:SELECT SN,SD FROM SWHERE [S#] NOT IN(SELECT [S#] FROM SCWHERE [C#]=\'C5\')4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位--实现代码:SELECT SN,SD FROM SWHERE [S#] IN(SELECT [S#] FROM SCRIGHT JOINC ON SC.[C#]=C.[C#] GROUP BY [S#]HAVING COUNT(*)=COUNT([S#]))5. 查询选修了课程的学员人数--实现代码:SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC6. 查询选修课程超过5门的学员学号和所属单位--实现代码:SELECT SN,SD FROM SWHERE [S#] IN(SELECT [S#] FROM SCGROUP BY [S#]HAVING COUNT(DISTINCT [C#])>5)题目二问题描述:本题用到下面三个关系表:CARD 借书卡。
CNO 卡号,NAME 姓名,CLASS 班级BOOKS 图书。
BNO 书号,BNAME 书名,AUTHOR 作者,PRICE 单价,QUANTITY 库存册数BORROW 借书记录。
CNO 借书卡号,BNO 书号,RDATE 还书日期备注:限定每人每种书只能借一本;库存册数随借书、还书而改变。
要求实现如下15个处理:1.写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束。
2.找出借书超过5本的读者,输出借书卡号及所借图书册数。
3.查询借阅了\"水浒\"一书的读者,输出姓名及班级。
4.查询过期未还图书,输出借阅者(卡号)、书号及还书日期。
5.查询书名包括\"网络\"关键词的图书,输出书号、书名、作者。
6.查询现有图书中价格最高的图书,输出书名及作者。
7.查询当前借了\"计算方法\"但没有借\"计算方法习题集\"的读者,输出其借书卡号,并按卡号降序排序输出。
8.将\"C01\"班同学所借图书的还期都延长一周。
9.从BOOKS表中删除当前无人借阅的图书记录。
10.如果经常按书名查询图书信息,请建立合适的索引。
11.在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是\"数据库技术及应用\",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)。
12.建立一个视图,显示\"力01\"班学生的借书信息(只要求显示姓名和书名)。
13.查询当前同时借有\"计算方法\"和\"组合数学\"两本书的读者,输出其借书卡号,并按卡号升序排序输出。
14.假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句。
15.对CARD表做如下修改:a. 将NAME最大列宽增加到10个字符(假定原为6个字符)。
b. 为该表增加1列NAME(系名),可变长,最大20个字符。
1. 写出建立BORROW表的SQL语句,要求定义主码完整性约束和引用完整性约束--实现代码:CREATE TABLE BORROW(CNO int FOREIGN KEY REFERENCES CARD(CNO),BNO int FOREIGN KEY REFERENCES BOOKS(BNO),RDATE datetime,PRIMARY KEY(CNO,BNO))2. 找出借书超过5本的读者,输出借书卡号及所借图书册数--实现代码:SELECT CNO,借图书册数=COUNT(*)FROM BORROWGROUP BY CNOHAVING COUNT(*)>53. 查询借阅了\"水浒\"一书的读者,输出姓名及班级--实现代码:SELECT * FROM CARD cWHERE EXISTS(SELECT * FROM BORROW a,BOOKS bWHERE a.BNO=b.BNOAND b.BNAME=N\'水浒\'AND O=O)4. 查询过期未还图书,输出借阅者(卡号)、书号及还书日期--实现代码:SELECT * FROM BORROWWHERE RDATE<GETDATE()5. 查询书名包括\"网络\"关键词的图书,输出书号、书名、作者--实现代码:SELECT BNO,BNAME,AUTHOR FROM BOOKSWHERE BNAME LIKE N\'%网络%\'6. 查询现有图书中价格最高的图书,输出书名及作者--实现代码:SELECT BNO,BNAME,AUTHOR FROM BOOKSWHERE PRICE=(SELECT MAX(PRICE) FROM BOOKS)7. 查询当前借了\"计算方法\"但没有借\"计算方法习题集\"的读者,输出其借书卡号,并按卡号降序排序输出--实现代码:SELECT OFROM BORROW a,BOOKS bWHERE a.BNO=b.BNO AND b.BNAME=N\'计算方法\'AND NOT EXISTS(SELECT * FROM BORROW aa,BOOKS bbWHERE aa.BNO=bb.BNOAND bb.BNAME=N\'计算方法习题集\'AND O=O)ORDER BY O DESC8. 将\"C01\"班同学所借图书的还期都延长一周--实现代码:UPDATE b SET RDATE=DATEADD(Day,7,b.RDATE)FROM CARD a,BORROW bWHERE O=OAND a.CLASS=N\'C01\'9. 从BOOKS表中删除当前无人借阅的图书记录--实现代码:DELETE A FROM BOOKS aWHERE NOT EXISTS(SELECT * FROM BORROWWHERE BNO=a.BNO)10. 如果经常按书名查询图书信息,请建立合适的索引--实现代码:CREATE CLUSTERED INDEX IDX_BOOKS_BNAME ON BOOKS(BNAME)11. 在BORROW表上建立一个触发器,完成如下功能:如果读者借阅的书名是\"数据库技术及应用\",就将该读者的借阅记录保存在BORROW_SAVE表中(注ORROW_SAVE表结构同BORROW表)--实现代码:CREATE TRIGGER TR_SAVE ON BORROWFOR INSERT,UPDATEASIF @@ROWCOUNT>0INSERT BORROW_SAVE SELECT i.*FROM INSERTED i,BOOKS bWHERE i.BNO=b.BNOAND b.BNAME=N\'数据库技术及应用\'12. 建立一个视图,显示\"力01\"班学生的借书信息(只要求显示姓名和书名)--实现代码:CREATE VIEW V_VIEWASSELECT ,b.BNAMEFROM BORROW ab,CARD a,BOOKS bWHERE O=OAND ab.BNO=b.BNOAND a.CLASS=N\'力01\'13. 查询当前同时借有\"计算方法\"和\"组合数学\"两本书的读者,输出其借书卡号,并按卡号升序排序输出--实现代码:SELECT OFROM BORROW a,BOOKS bWHERE a.BNO=b.BNOAND b.BNAME IN(N\'计算方法\',N\'组合数学\')GROUP BY OHAVING COUNT(*)=2ORDER BY O DESC14. 假定在建BOOKS表时没有定义主码,写出为BOOKS表追加定义主码的语句--实现代码:ALTER TABLE BOOKS ADD PRIMARY KEY(BNO)15.1 将NAME最大列宽增加到10个字符(假定原为6个字符)--实现代码:ALTER TABLE CARD ALTER COLUMN NAME varchar(10)15.2 为该表增加1列NAME(系名),可变长,最大20个字符--实现代码:ALTER TABLE CARD ADD 系名 varchar(20)题目三假设有下面两个关系模式:职工(职工号、姓名、年龄、职务、工资、部门号),其中职工号为主码;部门(部门号、名称、部门经理、电话),其中部门号为主码;用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:定义每个模式的主码和非空约束;定义参照完整性;定义职工年龄不得超过60岁。
答:Create table bm(bmno char(10)primary key,Bmname char(20)not null,Bmjl char(10)not null,Bmtel char(10)unique);Create table zhigong(zgno char(10),Zgname char(20),Zgage int,Zgsal numeric(10),Bmno char(10),Primary key(zgno),Foreign key(bmno) reference bm(bmno)On delete no actionOn update cascade,Constraint zg1 check(zgage<=60));题目四1、有以下三个关系模式:学生关系S,包括学号SNo、姓名SN、年龄SA、系别SD;课程关系C,包括课程号CNo、课程名CN、学分CC;学生选课关系SC,包括SNo、CNo和成绩G。