二级MySQL数据库程序设计-6
- 格式:doc
- 大小:17.13 KB
- 文档页数:4
2023年计算机二级《MySQL数据库程序设计》考试历年真题摘选附带答案第1卷一.全考点综合测验(共20题)1.【单选题】以下能正确定义二维数组的是( )A.int a[][3];B.int a[][3]={2*3);C.int a[][3]={};D.int a[2][3] 一{{1) ,{2} ,{3,4}};2.【单选题】设有学生表student(sno ,sname,sage,smajor) ,要从student 表中检索sname字段值第 2 个字是" 红" 的所有学生信息。
以下能够按照上述条件进行检索的WHERE表达式是______。
A.sname LIKE "_ 红%"B.sname LIKE "_ 红_"C.sname LIKE "% 红%"D.sname LIKE "% 红_"3.【单选题】模式/ 内模式映像保证数据库系统中的数据能够具有较高的______。
A.逻辑独立性B.物理独立性C.共享性D.结构化4.【单选题】SQL语言具有____的功能。
A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵5.【单选题】恢复MySQL数据库可使用的命令是______。
A.mysqldumpB.mysqladminC.mysqlD.mysqld6.【单选题】在MySQL数据库中,以下不会受字符集设置影响的数据类型有______。
A.CHARB.INTC.VARCHARD.TEXT7.【单选题】以下关于二进制日志文件的叙述中,错误的是______。
A.使用二进制日志文件能够监视用户对数据库的所有操作B.二进制日志文件记录所有对数据库的更新操作C.启用二进制日志文件,会使系统性能有所降低D.启用二进制日志文件,会浪费一定的存储空间8.【单选题】下列关于触发器的叙述中,错误的是______。
2023年计算机二级《MySQL数据库程序设计》考试全真模拟易错、难点汇编叁(带答案)(图片大小可自由调整)一.全考点综合测验(共45题)1.【单选题】事务是数据库进行的基本工作单位。
如果一个事务执行成功,则全部更新提交;如果一个事务执行失败,则已做过的更新被恢复原状,好像整个事务从未有过这些更新,这样保持了数据库处于________状态。
A.安全性B.一致性C.完整性D.可靠性正确答案:B2.【单选题】部门表tb_dept 的定义如下:下列说法中正确的是______。
CREATE TABLE tb_dept(deptno CHAR(2) primary key ,dname CHAR(20) Not null ,manager CHAR(12),telephone CHAR(15));A.deptno 的取值不允许为空,不允许重复B.dname 的取值允许为空,不允许重复C.deptno 的取值允许为空,不允许重复D.dname的取值不允许为空,不允许重复正确答案:A3.【单选题】模式/ 内模式映像保证数据库系统中的数据能够具有较高的______。
A.逻辑独立性B.物理独立性C.共享性D.结构化正确答案:B4.【单选题】设有一个成绩表Student_JAVA(id,name,grade) ,现需要编写一个触发器,监视对该表中数据的插入和更新,并判断学生的成绩grade ,如果成绩超过100分,在触发器中强制将其修改为100( 最高分) ,那么应该将触发器定义为______。
A.AFTER触发器和BEFORE触发器都不可以B.AFTER触发器C.AFTER触发器和BEFORE触发器都可以D.BEFORE触发器正确答案:D5.【单选题】下列关于外键的叙述中,错误的是______。
A.外键是在一个或一组属性上定义的约束B.外键的取值可以为空C.外键是所参照关系的主键或唯一性索引的属性列D.外键是唯一标识元组的一个或一组属性正确答案:D6.【单选题】MySQL中,不能创建索引的语句是______。
全国计算机等级考试二级教程——mysql数据库程序设计全国计算机等级考试二级教程——MySQL数据库程序设计MySQL是一种广泛使用的关系型数据库管理系统,被广泛应用于Web应用程序的开发中。
在全国计算机等级考试二级中,MySQL数据库程序设计是一个重要的考点。
本文将介绍MySQL数据库程序设计的基础知识,包括数据库的创建、表的设计、数据的插入、查询与更新等内容。
首先,我们需要了解如何创建一个MySQL数据库。
在MySQL中,可以使用CREATE DATABASE语句来创建一个新的数据库。
例如,我们可以通过以下语句创建一个名为'mydb'的数据库:```CREATE DATABASE mydb;```创建完数据库后,我们需要设计数据库中的表。
表是MySQL数据库中存储数据的基本单位,类似于Excel中的一个个工作表。
可以使用CREATE TABLE语句来创建一个新的表。
例如,我们可以创建一个名为'students'的表,包含学生的姓名、年龄和成绩等字段:```CREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT,score FLOAT);```在表创建完成后,我们可以使用INSERT INTO语句向表中插入数据。
例如,插入一条学生信息的语句如下:```INSERT INTO students (id, name, age, score) VALUES (1, '张三', 20, 80.5);```插入数据后,我们可以使用SELECT语句来查询数据。
例如,查询所有学生信息的语句如下:```SELECT * FROM students;```除了查询,我们还可以使用UPDATE语句来更新表中的数据。
例如,将学生张三的成绩更新为90.5的语句如下:```UPDATE students SET score = 90.5 WHERE name = '张三'; ```以上介绍了MySQL数据库程序设计的基础知识,希望能对全国计算机等级考试二级的考生们有所帮助。
计算机二级MySQL 数据库笔记1、在需求分析阶段可以使用的工具有数据流图DFD、数据字典DD、判定树与判定表。
2、对象有如下一些基本特点:标示唯一性、分类性、多态性、封装性、模块独立性好。
3、具有相同码的关系模式可以合并。
一个联系转换为一个关系模式,与该联系相连的的各实体的码以及联系的属性转换为关系的属性。
一个1:n的联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
三个实体间一个联系可以转换为一个关系模式。
4、联系可以有自己的属性,联系不仅存在于两个实际之间,也可以存在于多个实体之间,如实体分别是售货员、顾客、商品、联系销售、两个实体型之间的联系课分为1:1、1:n、m:n。
通常使用E-R图建立数据库的概念模型。
5、使用Union时,必须满足字段的类型和个数必须相同。
Union中不能使用order by。
6、Alter table命令中使用modify,用于修改某些列的数据类型。
Alter table语句用于在已有的表中添加。
修改。
或删除列,也可以改字段的默认值,改表名。
7、数据流图中带箭头的的线段表示的是数据流,即沿箭头方向传送数据的通道,一般在旁边标注数据流名。
流程图中带箭头的线段表示的控制流。
8、视图不可创建索引。
视图是数据库数据的特定子集,可以和表一起使用。
(1)如果视图中有一个基本关系的简单查询生成,而且他还包含了基本关系中的主关键字或候选关键字,则可以通过这个视同进行更新操作。
(2)不允许对涉及多个基本关系的视图经行更新。
(3)如果视图的生成中涉及到聚集或是分组操作,则不允许通过这个视图进行更新。
视图中包含分组或聚合的语句就不允许进行更新修改。
9、PhpAdmin是在php环境下管理mysql数据库的工具,是一款功能强大的mysql页面管理工具。
Avivat是一套快速、可靠并价格相宜的数据库图形管理工具,专为简化数据库的管理及降低系统的管理成本而设。
Workbench是操作数据库的界面环境。
2023年计算机二级《MySQL数据库程序设计》考试全真模拟易错、难点汇编贰(答案参考)(图片大小可自由调整)一.全考点综合测验(共50题)1.【单选题】面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。
A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题D.不强调模拟现实世界中的算法而强调概念正确答案:C2.【单选题】若有定义“ int a=5 ,b=7;”,则表达式a%一(b%2) 运算后, a 的值为( )。
A.0B.1C.11D.3正确答案:A3.【单选题】恢复MySQL数据库可使用的命令是______。
A.mysqldumpB.mysqladminC.mysqlD.mysqld正确答案:C4.【单选题】下列关于表和视图的叙述中错误的是______。
A.视图可以和表一起使用B.表和视图上都可以创建索引C.表和视图的数据都可以进行更新操作,但视图的更新受限D.表和视图都可以使用SQL语句进行查询正确答案:B5.【单选题】查找学生表student 中姓名的第二个字为"t" 的学生学号Sno 和姓名sname,下面A.SELECT SRO ,shame FROM student WHERE sname="_t%";B.SELECT Sno,sname FROM student WHERE shame LIKE "_t%" ;C.SELECT sno,shame FROM student WHERE sname="%t_";D.SELECT sno,shame FROM student WHERE sname LIKE "%t_" ;正确答案:B6.【单选题】关于E-R 图,以下描述中正确的是______。
2020年计算机二级《MySQL》数据库技术章节习题及答案第一章数据库技术的基本概念与方法1[填空题]数据库系统的三级模式结构是指数据库系统是由________、________和________三级构成。
参考解析:模式外模式内模式2[填空题] 数据库设计包括概念设计、________和物理设计。
参考解析:逻辑设计3[单选题]数据模型反映的是( )A.事物本身的数据和相关事物之间的联系B.事物本身所包含的数据C.记录中所包含的全部数据D.记录本身的数据和相关关系参考答案:A4[填空题]一个关系R的3NF是指它们的( )都不传递依赖它的任一候选关键字参考解析:非主属性5[单选题]假设数据库中表A与表B建立了“一对多”关系,表B 为“多”一方,则下述说法中准确的是( )A.表A中的一个记录与表B中的多个记录匹配B.表B中的一个记录与表A中的多个记录匹配C.表A中的一个字段与表B中的多个字段匹配D.表B中的一个字段与表A中的多个字段匹配参考答案:A6[填空题]如果x->y,y->z成立,那么x->z也成立,这个推理规则称为( )参考解析:传递函数依赖7[填空题] 在数据库的三级模式体系结构中,外模式与模式之间的映射实现了数据库的________独立性。
参考解析:逻辑8[填空题]模式/内模式映射为数据库提供了数据的( )独立性参考解析:物理9[填空题]数据库设计分为以下六个阶段:需求分析、( )、逻辑结构设计、( )、数据库实施、数据库运行与维护参考解析:概念结构设计、物理结构设计10[单选题]下列实体类型的联系中,属于多对多的联系的是( )A.学生与课程之间的联系B.学校与老师之间的联系C.商品条形码与商品之间联系D.班组与班长之间联系参考答案:A11[填空题]因为数据库系统在三级模式之间提供了( )和( )两层映射功能,所以就保证了数据库系统具有较高的数据独立性。
参考解析:外模式/模式、模式/内模式12[单选题] 对于现实世界中事物的特征,在实体-联系模型中使用( )A.属性描述B.关键字描述C.二维表格描述D.实体描述参考答案:A13[单选题] 将E-R图转换到关系模式时,实体与联系都能够表示成________。
2021计算机二级考试MySQL数据库考试习题库(附答案)试题1习题一一、编程题在数据库db_test中创建一个存储过程,用于实现给定表content中一个留言人的姓名即可修改表content中该留言人的电子邮件地址为一个给定的值。
二、简答题1.请解释什么是存储过程?2.请列举使用存储过程的益处。
3.请简述游标在存储过程中的作用。
4.请简述存储过程与存储函数的区别。
习题答案:一、编程题在MySQL命令行客户端输入如下SQL语句即可实现:mysql>USE db_test;Database changedmysql>DELIMITER$$mysql>CREATE PROCEDURE sp_update email(IN USer_name VARCHAR(50),IN e_mail VARCHAR(50))一>BEGIN一> UPDATE content SET email=e_mail WHERE username=user_name;一>END$$Query OK,0 rows affected(0.06 SeC)二、简答题1.存储过程是一组为了完成某特定功能的SQL语句集,其实质上就是一段存放在数据库中的代码,它可以由声明式的SQL 语句(如CREATE、UPDATE和SELECT等语句)和过程式SQL 语句(如IF-THEN-ELSE控制结构语句)组成。
2.略。
可参考第11章11.1节内容。
3.游标是一个被SELECT语句检索出来的结果集。
在存储了游标后,应用程序或用户就可以根据需要滚动或浏览其中的数据。
4.存储函数与存储过程之间存在这样几点区别:(1)存储函数不能拥有输出参数,这是因为存储函数自身就是输出参数;而存储过程可以拥有输出参数。
(2)可以直接对存储函数进行调用,且不需要使用CALL语句;而对存储过程的调用,需要使用CALL语句。
(3)存储函数中必须包含一条RETURN语句,而这条特殊的SQL语句不允许包含于存储过程中。
2020年计算机二级《MySQL》数据库章节练习题及答案第三章数据库和表1[单选题]在MySQL中,通常使用________语句来指定一个已有数据库作为当前工作数据库。
INGEDESE参考答案:D2[简答题]请使用MySQL命令行客户端在MySQL中创建一个名为db_test的数据库。
参考解析:在MySQL命令行客户端输入如下SQL语句即可实现:mysql>CREATE DATABASE db_test;Query OK,1 row affected(0.05 see)3[简答题]列名name修改为username参考解析:alter table user change column name username varchar(20);4[单选题]设置表的默认字符集关键字是( )A.DEFAULT CHARACTERB.DEFAULT SETC.DEFAULTD.DEFAULT CHARACTER SET参考答案:D5[填空题]在创建数据库时,能够使用( )子句确保如果数据库不存有就创建它,如果存有就直接使用它。
参考解析:IF NOT EXISTS6[简答题]创建数据库sxcj,引擎采用InnoDB,在sxcj中创建表xs包含字段如下字段名称数据类型说明snoint主键snameChar(8)名字ZhuanyemingChar(10)专业名sexChar(1)性别sbirdate生日photoblob照片commenttext注释参考解析:create database sxcj;use sxcjcreate table xs( sno int not null auto_increment primary key ,sname char(8) not null,zhuanyeming char(10) null,sex char(1) not null,sbir date not null,photo blob null,comment text null)engine=InooDB;7[填空题] 在CREATE TABLE语句中,通常使用________关键字来指定主键。
全国计算机等级考试二级全国计算机等级考试二级MySQL MySQL MySQL数据库程序设计考试大数据库程序设计考试大纲(2013(2013年版年版年版) )基本要求基本要求: :1. 1. 初步掌握数据库技术的基本概念、原理、方法和技术初步掌握数据库技术的基本概念、原理、方法和技术初步掌握数据库技术的基本概念、原理、方法和技术; ;2. 2. 熟练掌握熟练掌握熟练掌握MySQL MySQL MySQL 的安装及配置技能的安装及配置技能的安装及配置技能; ;3. 3. 熟练使用熟练使用熟练使用MySQL MySQL MySQL 平台下的平台下的平台下的SQL SQL SQL 语言实现数据库的交互操作语言实现数据库的交互操作语言实现数据库的交互操作; ;4. 4. 熟悉一种熟悉一种熟悉一种MySQL MySQL MySQL 平台下的一个应用系统开发的主语言平台下的一个应用系统开发的主语言平台下的一个应用系统开发的主语言(C/ Perl/ PHP),(C/ Perl/ PHP),(C/ Perl/ PHP),并初步具备利用并初步具备利用该语言进行简单应用系统的开发能力该语言进行简单应用系统的开发能力; ;5. 5. 掌握掌握掌握MySQL MySQL MySQL 平台下的数据库管理与维护技术。
平台下的数据库管理与维护技术。
考试内容考试内容: :一、基本概念与方法1. DBS 1. DBS 三级三级三级((模式、外模式、内模式模式、外模式、内模式))结构结构; ;2. DBS 2. DBS 的运行与应用结构的运行与应用结构的运行与应用结构(C/ S (C/ S (C/ S、、B/ S);3. 3. 关系规范化的基本方法。
关系规范化的基本方法。
二、数据库设计1. 1. 概念设计概念设计概念设计; ;2. 2. 逻辑设计逻辑设计逻辑设计; ;3. 3. 物理设计。
物理设计。
三、三、SQL SQL SQL 交互操作交互操作利用利用MySQL MySQL MySQL 进行数据库表、数据及索引的创建、使用和维护。
mysql计算机二级考试题库含答案1. 以下哪个是MySQL中用于创建数据库的命令?A. CREATE DATABASEB. CREATE TABLEC. CREATE INDEXD. CREATE VIEW答案:A2. MySQL中,如何查看当前数据库中所有表的名称?A. SHOW DATABASES;B. SHOW TABLES;C. SHOW INDEXES;D. SHOW VIEWS;答案:B3. 在MySQL中,以下哪个命令用于添加新的数据行到表中?A. INSERT INTOB. UPDATEC. DELETED. SELECT答案:A4. 如果需要在MySQL查询中选择多个列,并且列之间需要用逗号分隔,那么正确的语法是什么?A. SELECT column1 column2 FROM table_name;B. SELECT column1, column2 FROM table_name;C. SELECT column1; column2 FROM table_name;D. SELECT column1|column2 FROM table_name;5. MySQL中,如何删除表中的重复行?A. DELETE DUPLICATE FROM table_name;B. DELETE FROM table_name WHERE id IN (SELECT MIN(id) FROM table_name GROUP BY column_name);C. DELETE FROM table_name WHERE column_name = 'value';D. DELETE FROM table_name WHERE id NOT IN (SELECT MAX(id) FROM table_name GROUP BY column_name);答案:B6. 在MySQL中,以下哪个命令用于更新表中的现有数据?A. INSERT INTOB. UPDATEC. DELETED. SELECT答案:B7. MySQL中,如何使用LIKE关键字进行模糊查询?A. SELECT * FROM table_name WHERE column_name = 'value';B. SELECT * FROM table_name WHERE column_name LIKE '%value%';C. SELECT * FROM table_name WHERE column_name LIKE 'value%';D. SELECT * FROM table_name WHERE column_name LIKE '%value'; 答案:B8. 在MySQL中,如何使用GROUP BY子句对查询结果进行分组?A. SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name;B. SELECT column_name FROM table_name GROUP BY COUNT(*);C. SELECT COUNT(*) FROM table_name GROUP BY column_name;D. SELECT column_name, COUNT(*) FROM table_name;9. MySQL中,如何使用HAVING子句对分组后的结果进行过滤?A. SELECT column_name, COUNT(*) FROM table_name GROUP BY column_name HAVING COUNT(*) > 1;B. SELECT column_name FROM table_name GROUP BY COUNT(*) HAVING COUNT(*) > 1;C. SELECT COUNT(*) FROM table_name GROUP BY column_name HAVING column_name > 1;D. SELECT column_name, COUNT(*) FROM table_name WHERE column_name > 1 GROUP BY column_name;答案:A10. 在MySQL中,以下哪个命令用于删除数据库中的表?A. DROP DATABASEB. DROP TABLEC. DROP INDEXD. DROP VIEW答案:B。
二级MySQL数据库程序设计-6
(总分:100.00,做题时间:90分钟)
一、选择题(总题数:13,分数:26.00)
1.数据库系统的核心是______。
(分数:2.00)
A.数据模型
B.数据库管理系统√
C.数据库
D.数据库管理员
解析:
2.E-R图提供了表示信息世界中的方法,主要有实体、属性和______。
(分数:2.00)
A.数据
B.联系√
C..表
D.模式
解析:
3.E-R图是数据库设计的工具之一,它一般适用于建立数据库的______。
(分数:2.00)
A.概念模型√
B.结构模型
C.物理模型
D.逻辑模型
解析:
4.将E-R图转换到关系模式时,实体与联系都可以表示成______。
(分数:2.00)
A.属性
B.关系√
C..键
D..域
解析:
5.在关系数据库设计中,设计关系模式属于数据库设计的______。
(分数:2.00)
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段√
D.物理设计阶段
解析:
6.从E-R模型向关系模型转换,一个M:N的联系转换成一个关系模式时,该关系模式的键是______。
(分数:2.00)
A.M端实体的键
B.N端实体的键
C.M端实体键与N端实体键组合√
D.重新选取其他属性
解析:
7.DBMS的中文含义是______。
(分数:2.00)
A.数据库
B.数据库管理员
C.数据库系统
D.数据库管理系统√
解析:
8.以下不属于数据模型的是______。
(分数:2.00)
A.关系模型
B.网络模型√
C.网状模型
D.层次模型
解析:
9.以下不属于数据库保护的是______。
(分数:2.00)
A.数据结构化√
B.安全性
C.故障恢复
D.并发控制
解析:
10.在关系R中,属性A不是主键,而是另一个关系S的主键,则在R中,属性A是______。
(分数:2.00)
A.R的候选键
B.R的外键√
C.S的候选键
D.S的外键
解析:
11.SQL语言又称为______。
(分数:2.00)
A.结构化定义语言
B.结构化控制语言
C.结构化查询语言√
D.结构化操纵语言
解析:
12.在MySQL中,通常用来指定一个已有数据库作为当前数据库的语句是______。
(分数:2.00)
ING
ED
ES
E √
解析:
13.下列选项中不是MySQL中常用数据类型的是______。
(分数:2.00)
A.INT
B.VAR √
C.TIME
D.CHAR
解析:
二、填空题(总题数:7,分数:14.00)
14.数据库系统的运行与应用结构有客户/服务器结构(C/S结构)和 1两种。
(分数:2.00)
解析:浏览器/服务器结构(B/S结构)
15.用二维表结构表示实体以及实体间联系的数据模型称为 1数据模型。
(分数:2.00)
解析:关系
16.数据库设计的步骤包括需求分析、概念结构设计、 1、物理结构设计、 2和数据库运行与维护。
(分数:2.00)
解析:逻辑结构设计数据库实施
17.在E-R图中,矩形表示 1。
(分数:2.00)
解析:实体
18.在MySQL中,通常使用 1值来表示一个字段没有值或缺值。
(分数:2.00)
解析:NULL
19.在CREATE TABLE语句中,通常使用 1关键字来指定主键。
(分数:2.00)
解析:PRIMARY KEY
20.MySQL支持关系模型中 1、 2和 3三种不同的完整性约束。
(分数:2.00)
解析:实体完整性参照完整性用户定义的完整性
三、简答题(总题数:2,分数:30.00)
21.请简述什么是数据库系统?
(分数:15.00)
__________________________________________________________________________________________ 正确答案:()
解析:数据库、数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台和与数据库有关的人员(如DBA、程序设计者等)一起,就构成了一个完整的数据库系统。
22.请解释SQL是何种类型的语言。
(分数:15.00)
__________________________________________________________________________________________ 正确答案:()
解析:SQL是结构化查询语言(Structured Query Language)的英文首字母,它是一种专门用来与数据库通信的语言。
四、应用题(总题数:1,分数:30.00)
给定供应商供应零件的数据库db_sp,其中包含供应商表S、零件表P和供应情况表SP,表结构如下:
供应商S( SNO ,SNAME,STATUS,CITY),各字段的含义依次为供应商编号、供应商名称、状态和所在城市,其中STATUS为整型,其他均为字符型。
零件P( PNO ,PNAME,COLOR,WEIGHT),各字段的含义依次为零件编号、零件名称、颜色和重量,其中WEIGHT 为浮点型,其他均为字符型。
供应SP( SNO,PNO ,JNO,QTY),各字段的含义依次为供应商编号、零件编号和供应量,其中QTY为整型,其他均为字符型。
(分数:30.00)
(1).请使用MySQL命令行客户端创建一个名称为db_sp的数据库。
(分数:15.00)
__________________________________________________________________________________________ 正确答案:()
解析:在MySQL命令行客户端输入如下SQL语句即可实现:
mysql>CREATE DATABASE db_sp
->DEFAULT CHARACTER SFT CR2312
->DEFAULT COLLATE GB2312_chinese_ci;
Query OK, 1 row affected (0.05 sec)
(2).请使用MySQL命令行客户端在数据库db_sp中创建S表、P表、J表和SP表,要求定义如下完整性:
(1)定义S表、P表和SP表上的主码和外码,以保证实体完整性和参照完整性。
(2)S表中的SNAME属性取值不为空且唯一。
(3)定义产品的颜色只允许取“Red”“Yellow”“Green”或“Blue”。
(4)定义供应商所在城市为“London”时其STATUS(状态)均为20。
(分数:15.00)
__________________________________________________________________________________________ 正确答案:()
解析:在MySQL命今行客户端输入如下SQL语句即可实现:
mysql> USE db_sp;
Database changed
mysql> CREATE TABLE S
-> (SNO CHAR(5),
-> SNAME VARCHAR(20) NOT NULL UNIQUE,
-> STATUS SMALLINT,
-> CITY VARCHAR(20),
-> CONSTRAINT PK_S Primary key (SNO),
-> CONSTRAINT CK_S CHECK(CITY ! = "London "OR STATUS = 20)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected (0.06 sec)
mysql> CREATE TABLE P
-> (PNO CHAR(5),
-> PNAME VARCHAR(15) NOT NULL,
-> COLOR VARCHAR(10) CHECK(COLOR IN ("Red", "Yellow", "Green", "Blue")),
-> WEIGHT INT,
-> CONSTRAINT PK_P Primary key (PNO)
-> ) ENGINE=InnoDB;
Query OK, 0 rows affected(0.12 sec)
mysql> CREATE TABLE SP
-> (SNO CHAR(5),
-> PNO CHAR(5),
-> QTY INT,
-> CONSTRAINT PK_SPJ Primary key (SNO,PNO),
-> CONSTRAINT FK_SPJ1 FOREIGN KEY (SNO) REFERENCES S (SNO),
-> CONSTRAINT FK_SPJ2 FOREIGN KEY (PNO) REFERENCES P(PNO)
-> ) ENGINE = InnoDB;
Query OK, 0 rows affected (0.17 sec)。