1、以自己的姓名(拼音)创建一个mysql数据库。(10分) 2、在数据库中创建如下两个表(要求设置表之间的关系)(40分) 员工表:EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工 号、姓名、工资和所在部门号 部门表:DEPT(DNO,DNAME,MANAGER),其中各属性含义依次为部门号、 部门名称、部门经理的职工号。 二:写出SQL语句: 1、列出各部门中工资不低于600元的职工的平均工资。(10分) 2、查询001号职工所在部门名称。(10分) 3、将“销售部”的那些工资数额低于600的职工的工资上调10%。(10分) 4、在EMP表中增加“EID(员工身份证)”字段,数据类型varchar(18),不 可空,并将其设定为UNIQUE约束。(10分) 5、创建一存储过程,通过输入参数员工姓名(如“张三"),筛选出该员工 的基本信息,对不存在此员工姓名的输入值,必须作一检测,打印信息“不存在 此员工”。等讲了存储过程再做(10分)
时间: 2024-03-08 09:51:16 浏览: 494
好的,以下是根据您的要求创建MySQL数据库和表,并回答您提出的SQL语句问题。
1. 创建MySQL数据库
创建MySQL数据库的SQL语句如下:
```
CREATE DATABASE your_name;
```
请将"your_name"替换为您的拼音姓名。
2. 创建EMP表和DEPT表
创建EMP表和DEPT表的SQL语句如下:
```
CREATE TABLE EMP (
ENO INT PRIMARY KEY,
ENAME VARCHAR(20) NOT NULL,
SALARY DECIMAL(8,2) NOT NULL,
DNO INT,
FOREIGN KEY (DNO) REFERENCES DEPT(DNO)
);
CREATE TABLE DEPT (
DNO INT PRIMARY KEY,
DNAME VARCHAR(20) NOT NULL,
MANAGER INT,
FOREIGN KEY (MANAGER) REFERENCES EMP(ENO)
);
```
3. SQL语句问题
(1) 列出各部门中工资不低于600元的职工的平均工资。
```
SELECT AVG(SALARY) FROM EMP
WHERE SALARY >= 600
GROUP BY DNO;
```
(2) 查询001号职工所在部门名称。
```
SELECT DNAME FROM DEPT
WHERE DNO = (SELECT DNO FROM EMP WHERE ENO = 001);
```
(3) 将“销售部”的那些工资数额低于600的职工的工资上调10%。
```
UPDATE EMP SET SALARY = SALARY * 1.1
WHERE DNO = (SELECT DNO FROM DEPT WHERE DNAME = '销售部')
AND SALARY < 600;
```
(4) 在EMP表中增加“EID(员工身份证)”字段,数据类型varchar(18),不可空,并将其设定为UNIQUE约束。
```
ALTER TABLE EMP ADD EID VARCHAR(18) NOT NULL UNIQUE;
```
(5) 创建一存储过程,通过输入参数员工姓名(如“张三"),筛选出该员工的基本信息,对不存在此员工姓名的输入值,必须作一检测,打印信息“不存在此员工”。等讲了存储过程再做。
阅读全文