MYSQL练习题及答案
- 格式:doc
- 大小:99.00 KB
- 文档页数:8
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数据库考试试题及答案一、选择题(每题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数据库原理设计与应用习题及答案一、单选题(共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测试题及答案一、选择题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语言练习题答案一、选择题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试题及答案一、选择题(每题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数据库基础题库及答案一、填空题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考试题及答案一、单项选择题(每题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.数据库系统的核心是________。
A.数据模型B.数据库管理系统C.数据库D.数据库管理员2.E-R图提供了表示信息世界中实体、属性和________的方法。
A.数据B.联系C.表D.模式3.E-R图是数据库设计的工具之一,它一般适用于建立数据库的________。
A.概念模型B.结构模型C.物理模型D.逻辑模型4.将E.R图转换到关系模式时,实体与联系都可以表示成________。
A.属性B.关系C.键D.域5.在关系数据库设计中,设计关系模式属于数据库设计的________。
A.需求分析阶段B.概念设计阶段C.逻辑设计阶段D.物理设计阶段6.从E—R模型向关系模型转换,一个M:N的联系转换成一个关系模式时,该关系模式的键是________。
A.M端实体的键B.Ⅳ端实体的键端实体键组合N端实体键与M.C.D.重新选取其他属性二、填空题1.数据库系统的三级模式结构是指数据库系统是由________、________和________三级构成。
2.数据库系统的运行与应用结构有客户/服务器结构(C/S结构)和________两种。
3.在数据库的三级模式体系结构中,外模式与模式之间的映射实现了数据库的________独立性。
4.用二维表结构表示实体以及实体间联系的数据模型称为________数据模型。
5.数据库设计包括概念设计、________和物理设计。
6.在E-R图中,矩形表示________。
三、简答题1.请简述什么是数据库管理系统,以及它的主要功能有哪些?2.请简述什么是数据库系统?3.请简述什么是模式、外模式和内模式?4.请简述C/S结构与B/S结构的区别。
5.请简述关系规范化过程。
第一章一、选择题1.A 2.B 3.A 4.B 5.C 6.C二、填空题1.模式外模式内模式 2.浏览器/服务器结构(B/S结构) 3.逻辑4。
关系 5.逻辑设计 6.实体三、简答题1.略。
可参考第1章1.1节内容。
mysql笔试题目及答案一、选择题(每题2分,共20分)1. MySQL数据库默认的存储引擎是()。
A. InnoDBB. MyISAMC. MemoryD. Archive答案:B2. 下列哪个选项不是MySQL的索引类型?()A. B-TreeB. HashC. R-TreeD. Full-Text答案:B3. MySQL中,以下哪个函数用于获取当前时间?()A. NOW()B. CURDATE()C. CURTIME()D. DATE()答案:A4. 在MySQL中,以下哪个选项是正确的创建数据库的语法?()A. CREATE DATABASE database_name;B. CREATE DATABASE database_name COLLATE utf8_general_ci;C. CREATE TABLE database_name;D. CREATE DATABASE database_name IF NOT EXISTS;答案:D5. 在MySQL中,以下哪个选项是正确的创建表的语法?()A. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10));B. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10)) ENGINE=InnoDB;C. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10)) CHARSET=utf8;D. CREATE TABLE table_name (column1 INT, column2 VARCHAR(10)) ENGINE=InnoDB CHARSET=utf8;答案:D6. MySQL中,以下哪个选项是正确的删除表的语法?()A. REMOVE TABLE table_name;B. DROP TABLE table_name;C. DELETE TABLE table_name;D. REMOVE table_name;答案:B7. 在MySQL中,以下哪个选项是正确的插入数据的语法?()A. INSERT INTO table_name (column1, column2) VALUES (value1, value2);B. INSERT INTO table_name VALUES (value1, value2);C. INSERT INTO table_name (column1, column2) SET value1,value2;D. INSERT INTO table_name SET (column1, value1), (column2, value2);答案:A8. 在MySQL中,以下哪个选项是正确的更新数据的语法?()A. UPDATE table_name SET column1 = value1, column2 = value2WHERE condition;B. UPDATE table_name SET column1 = value1 WHERE condition;C. UPDATE table_name SET column1 = value1, column2 = value2;D. UPDATE table_name column1 = value1, column2 = value2 WHERE condition;答案:A9. 在MySQL中,以下哪个选项是正确的查询数据的语法?()A. SELECT * FROM table_name WHERE condition;B. SELECT * FROM table_name;C. SELECT table_name WHERE condition;D. SELECT * FROM table_name WHERE condition LIMIT 10;答案:A10. 在MySQL中,以下哪个选项是正确的删除数据的语法?()A. DELETE FROM table_name WHERE condition;B. REMOVE FROM table_name WHERE condition;C. DELETE table_name WHERE condition;D. REMOVE table_name WHERE condition;答案:A二、填空题(每题3分,共15分)1. MySQL中,使用________函数可以获取当前日期。
题目一问题描述:为管理岗位业务培训信息,建立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。