MySql阶段案例
案例一
涉及的知识点:数据库和表的基本操作,添加数据,多表操作
题目
使用sql语句请按照要求完成如下操作:
(1)创建一个名称为test的数据库。
(2)在test数据库中创建两张表,Department部门表和Employee雇员表,表名和字段信息如下表所示。
Department部门表
字段类型是否空是否主键
didint(4)NOPRI
dnamevarchar(36)YES
Employee雇员表
字段类型是否空是否主键
idint(4)NOPRI
namevarchar(36)YES
ageint(2)YES
didint(4)NO
(3)在部门表和雇员表中插入三条数据,要求雇员信息分别为:人事部张三(20岁),院校产品部李四(35岁)以及咨询部王五(19岁)。
(4)查出人事部员工的姓名和年龄。
(5)查询雇员中年龄最大的员工的姓名、年龄以及所在部门。
答案
(1)-建库
CREATE DATABASE TEST;
(2)-建表
USETEST;CREATE TABLEdepartment
(didINT(4) PRIMARY KEY,
dnameVARCHAR(36) NOT NULL );
CREATE TABLEemployee
(idINT(4) PRIMARY KEY,
NAMEVARCHAR(36) NOT NULL,
ageINT(2) NOT NULL,
didINT(4)
);
(3)--向表中插入数据
向部门表插入数据:
INSERT INTO department(did,dname) VALUES(1,'人事部');INSERT INTO department(did,dname) VALUES(2,'院校产品部');INSERT INTO department(did,dname) VALUES(3,'咨询部');
向雇员表插入数据:
INSERT INTO employee(id,NAME,age,did) VALUES(1,'张三',20,1);INSERT INTO employee(id,NAME,age,did) VALUES(2,'李四',35,2);INSERT INTO employee(id,NAME,age,did) VALUES(3,'王五',19,3);
(4)-条件查询
SELECTNAME, ageFROMemployeeWHERE did = (SELECTdidFROMdepartmentWHERE dname = '人事部');
(5)-条件查询
SELECTdname, NAME,ageFROMdepartment d,employee eWHERE age = (SELECT MAX(age)FROM employee)AND d.did=e.did;
案例二
涉及的知识点:数据库和表的基本操作,添加数据,存储过程
题目
已知张三在传智播客网上书城订购了的几本教材。请按照以下要求建表、定义存储过程并利用存储过程统计出教材的订购数量和总价。
要求如下:
(1)创建book表,字段明细如下,name代表书名,price代表书的价格:
字段名数据类型主键外键非空唯一自增
idINT(10)是否是是否
nameVARCHAR(50)否否是否否
priceFLOAT否否是否否<