精华内容
下载资源
问答
  • 创建员工表和部门表
    2021-01-18 21:50:32

    packagecom.swift.department;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.SQLException;/*SQL语句的编写

    JDBC操作MySQL数据库常用API

    1.在数据库创建部门表和员工表,包含字段如下:

    部门表包含字段有:部门编号,部门名称(唯一且不能为空)

    员工表包含字段有:员工编号,员工姓名(唯一且不能为空),员工性别,员工职位,员工工资,入职日期。部门编号(外键)

    2.先添加多个部门数据,再添加多条员工数据

    3.编写方法接收一个员工编号和工资两个参数,方法内将指定编号的员工工资修改为新的工资。

    4.编写方法查询指定职位所有员工的信息,返回List集合。

    5.编写方法查询指定姓名的员工信息,返回Employee对象。

    6.编写方法根据员工姓名删除指定的员工信息。

    7.编写方法查询所有姓张员工的工资并输出在控制台,输出格式如下:

    张三=10000

    张飞=20000

    …………………..

    8.编写方法接收一个工资参数,方法内查询工资大于等于传入的工资的员工,返回符合条件所有员工信息List集合。

    9.编写方法查询指定部门的所有员工信息,返回List集合*/

    public classDepartment {public static void main(String[] args) throwsClassNotFoundException, SQLException {//createDatabaseTable();

    addData();

    }private static void addData() throwsClassNotFoundException, SQLException {

    Connection con=JdbcUtil.getConnection();

    PreparedStatement statement= con.prepareStatement("INSERT INTO department(did,dname) VALUES(1,'行政'),(2,'研发'),(3,'财务');");int row =statement.executeUpdate();if(row>=1) {

    System.out.println("部门数据添加成功.");

    }

    statement= con.prepareStatement("INSERT INTO employee VALUES\r\n" +

    "(1,'刘备','男','董事长',50000.00,'2002-02-02',1),\r\n" +

    "(2,'关羽','男','项目经理',30000.00,'2008-08-08',2),\r\n" +

    "(3,'张飞','男','程序员',10000.00,'2012-10-24',2);");

    row=statement.executeUpdate();if(row>=1) {

    System.out.println("员工数据添加成功.");

    }

    }private static void createDatabaseTable() throwsClassNotFoundException, SQLException {

    Connection con=JdbcUtil.getConnection();

    PreparedStatement statement= con.prepareStatement("CREATE TABLE IF NOT EXISTS department(\r\n" +

    " did INT PRIMARY KEY ,\r\n" +

    " dname VARCHAR(50) UNIQUE NOT NULL\r\n" +

    ");");int row =statement.executeUpdate();if(row==0) {

    System.out.println("部门表创建成功.");

    }

    statement= con.prepareStatement("CREATE TABLE IF NOT EXISTS employee(\r\n" +

    " eid INT PRIMARY KEY ,\r\n" +

    " NAME VARCHAR(50) UNIQUE NOT NULL,\r\n" +

    " sex VARCHAR(2) ,\r\n" +

    " POSITION VARCHAR(50),\r\n" +

    " salary DECIMAL(10,2),\r\n" +

    " entry_date DATE,\r\n" +

    " did INT,\r\n" +

    " CONSTRAINT fk_did FOREIGN KEY (did) REFERENCES department (did)\r\n" +

    ");");

    row=statement.executeUpdate();if(row==0) {

    System.out.println("员工表创建成功.");

    }

    JdbcUtil.close(con, statement);

    }

    }

    更多相关内容
  • 包含员工表,部门表,工资的建表语句数据,语句适用于mysql数据库
  • mysql创建部门表和员工表,并用sql语句进行查询

    万次阅读 多人点赞 2019-06-14 09:50:45
    创建第一个部门表) CREATE TABLE IF NOT EXISTS bumenTable( bumenTableid INT(11) NOT NULL PRIMARY KEY COMMENT'部门编号(主键)', bumenTablename VARCHAR(50) COMMENT'部门名称', bumenTableaddress ...

    创建第一个表(部门表)

    CREATE TABLE IF NOT EXISTS bumenTable(
    	bumenTableid INT(11) NOT NULL PRIMARY KEY COMMENT'部门编号(主键)',
    	bumenTablename VARCHAR(50) COMMENT'部门名称',
    	bumenTableaddress VARCHAR(50) COMMENT'部门地址'
    

    创建第二个表(员工表)

    CREATE TABLE yuangong(
    	id INT(11) NOT NULL PRIMARY KEY COMMENT'员工编号',
    	yuangongname VARCHAR(50) COMMENT'员工姓名',
    	word VARCHAR(50) COMMENT'员工工作',
    	lineManagerId INT(11) COMMENT'员工直属领导编号',
    	entryTime datetime COMMENT'员工入职时间',
    	wage INT(11) COMMENT'员工工资',
    	bonus INT(11) COMMENT'员工奖金',
    	bumenTableId INT(11) NOT NULL COMMENT'对应部门表的外键',
    	FOREIGN KEY(bumenTableId) REFERENCES bumenTable(bumenTableid)
    

    添加部门表信息

    INSERT INTO  bumenTable(bumenTableid,bumenTablename,bumenTableaddress) VALUES 
    (1,'销售部','销售部地址'),
    (2,'学业部','学业部地址'),
    (3,'董事部','董事部地址'),
    (4,'人力资源部','人力资源部地址'),
    (5,'产品部','产品部地址')
    

    添加员工表信息

    INSERT INTO yuangong VALUES ('1', '小王', '职员', '2', '2017-06-14 14:30:50', '4000', null, '1');
    INSERT INTO yuangong VALUES ('2', '小李', '销售经理', '4', '2016-08-16 14:32:08', '20800', '5000', '1');
    INSERT INTO yuangong VALUES ('3', '小张', '产品经理', '4', '2016-05-04 14:33:05', '22700', null, '5');
    INSERT INTO yuangong VALUES ('4', '小高', '职员', null, '2015-07-08 14:33:54', '5000', null, '2');
    INSERT INTO yuangong VALUES ('5', '小刘', 'HR经理', '4', '2017-11-08 14:35:35', '10000', null, '4');
    INSERT INTO yuangong VALUES ('6', '王一', '学业经理', '4', '2016-11-01 14:36:28', '20000', '5000', '2');
    INSERT INTO yuangong VALUES ('7', '王二', '职员', '3', '2018-03-22 14:38:44', '5000', null, '5');
    INSERT INTO yuangong VALUES ('8', '李四', '职员', '5', '2017-04-01 14:39:53', '5000', null, '4');
    INSERT INTO yuangong VALUES ('9', '李一', '职员', '6', '2018-08-01 14:40:43', '5000', null, '2');
    INSERT INTO yuangong VALUES ('10', '李二', '职员', '2', '2018-05-17 14:41:30', '5000', null, '1');
    INSERT INTO yuangong VALUES ('11', '李三', '职员', '2', '2017-05-01 14:42:20', '5000', null, '1');
    INSERT INTO yuangong VALUES ('12', '公司人员', '其他', null, '2015-07-08 15:31:52', '1234567', '1234567', '5');
    

    找出从事职员工作的员工的编号、姓名、部门号。

    SELECT id,yuangongname,bumenTableId FROM yuangong WHERE word = '职员';
    

    找出1部门的经理、2部门的职员 的员工信息。

    SELECT * FROM yuangong WHERE id in(SELECT id FROM yuangong WHERE bumenTableId=1 AND word LIKE '%经理')
    || id in (SELECT id FROM yuangong WHERE bumenTableId=2 AND word = '职员')
    

    找出1部门的经理、2部门的职员 或者既不是经理也不是职员但是工资高于2000元的员工信息

    SELECT * FROM yuangong WHERE id in (
    SELECT id FROM yuangong WHERE id in (SELECT id FROM yuangong WHERE bumenTableId=1 AND word LIKE '%经理')
    || id in (SELECT id FROM yuangong WHERE bumenTableId=2 AND word = '职员')
    ) || 
    id in (SELECT id FROM yuangong WHERE word NOT LIKE '%经理' && word !='职员' && wage >2000)
    

    找出获得奖金的员工的工作。

    SELECT word FROM yuangong WHERE bonus !=0
    

    返回员工的详细信息并按姓名排序。

    SELECT * FROM yuangong , bumenTable WHERE bumenTable.bumenTableid = yuangong.bumenTableId
    ORDER BY yuangong.yuangongname
    

    找出姓名以小、王、李开始的员工信息

    SELECT * FROM yuangong WHERE yuangongname LIKE '小%' || yuangongname LIKE '王%' || yuangongname LIKE '李%'
    

    #返回拥有员工的部门名、部门号

    SELECT bumenTableid,bumenTablename FROM bumenTable WHERE bumenTableid in
    (SELECT bumenTableId FROM yuangong GROUP BY bumenTableId)
    

    工资水平多于小刘的员工信息。

    SELECT * FROM yuangong WHERE wage > 
    (SELECT wage FROM yuangong WHERE yuangongname = '小刘')
    
    

    返回员工姓名及其所在的部门名称。

    SELECT yuangongname as 员工姓名,bumenTablename 所在部门 FROM yuangong,bumenTable
    WHERE yuangong.bumenTableId = bumenTable.bumenTableid
    
    

    查询入职时间由高到低的员工编号,姓名,以及所在部门。

    SELECT id 员工编号,yuangongname as 员工姓名,bumenTablename 所在部门 FROM yuangong,bumenTable
    WHERE yuangong.bumenTableId = bumenTable.bumenTableid ORDER BY entryTime DESC
    
    展开全文
  • -- 部门表: create table dept( deptno int(2) not null, dname varchar(14), loc varchar(13) ...-- 创建员工表: create table emp( empno int(4) primary key, ename varchar(10), job varchar(9),
    -- 部门表:
    create table dept(
    	deptno int(2) not null,
    	dname varchar(14),
    	loc varchar(13)
    );
    
    -- 设置主键
    alter table dept add constraint pk_dept primary key (deptno);
    
    -- 创建员工表:
    create table emp(
    	empno int(4) primary key,
    	ename varchar(10),
    	job varchar(9),
    	mgr int(4), -- 上级领导 自身表 自关联
    	hiredate date,
    	sal double(7,2),
    	comm double(7,2), -- 补助
    	deptno int(2)
    );
    
    -- 设置外键:
    alter table emp add constraint fk_deptno foreign key (deptno) references dept (deptno);
    
    
    -- 创建薪资等级表:
    create table salgrade(
    	grade int primary key,
    	losal double(7,2), -- 最低
    	hisal double(7,2) -- 最高
    );
    
    -- 创建奖金表:
    create table bonus(
    	ename varchar(18),
    	job varchar(9),
    	sal double(7,2),
    	comm double(7,2)
    );
    
    -- 插入数据:
    
    insert into dept (deptno,dname,loc) values(10,'accounting','new york');
    insert into dept (deptno,dname,loc) values(20,'research','dallas');
    insert into dept (deptno,dname,loc) values(40,'sales','chicago');
    insert into dept (deptno,dname,loc) values(30,'oprations','boston');
    
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7369, 'smith', 'clerk', 7902, '1980-12-17', 800.00, NULL, 20);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7499, 'allen', 'salesman', 7698, '1982-11-12', 1600.00, 300.00, 30);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7521, 'ward', 'salesman', 7698, '1981-03-13', 1250.00, 500.00, 30);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7566, 'jones', 'manager', 7839, '1981-04-02', 2975.00, NULL, 20);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7654, 'martin', 'salesman', 7698, '1980-01-10', 1250.00, 1400.00, 30);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7698, 'blake', 'manager', 7839, '1984-05-14', 2850.00, NULL, 30);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7782, 'clark', 'manager', 7839, '1983-07-02', 2450.00, NULL, 10);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7788, 'scott', 'analyst', 7566, '1986-02-04', 3000.00, NULL, 20);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7839, 'king', 'president', NULL, '1987-11-02', 5000.00, NULL, 10);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7844, 'turner', 'salesman', 7698, '1983-05-03', 1500.00, 0.00, 30);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7875, 'adams', 'clerk', 7788, '1984-11-12', 1100.00, NULL, 20);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7900, 'jamesford', 'clerk', 7698, '1987-12-11', 950.00, NULL, 30);
    INSERT INTO `mytestdb`.`emp` (`empno`, `ename`, `job`, `mgr`, `hiredate`, `sal`, `comm`, `deptno`) VALUES (7902, 'analyst', 'analyst', 7566, '1980-12-17', 3000.00, NULL, 20);
    
    
    insert into salgrade(grade,losal,hisal) values(1,700,1200);
    insert into salgrade(grade,losal,hisal) values(2,1201,1400);
    insert into salgrade(grade,losal,hisal) values(3,1401,2000);
    insert into salgrade(grade,losal,hisal) values(4,2001,3000);
    insert into salgrade(grade,losal,hisal) values(5,3001,9999);
    
    
    -- 查看表:
    select * from dept;
    select * from emp;
    select * from salgrade;
    select * from bonus;
    
    show create table emp;
    desc emp;
    
    
    展开全文
  • 作业:创建员工表(employee),要求包含字段(工号、姓名、年龄、性别、薪资、部门),主键为工号。要求命令行完成以下操作:(禁止使用图形工具软件)1)添加三条员工信息分别是:1,张三,18 , 男,5000 , IT部门3,李四...

    作业:

    创建员工表(employee),要求包含字段(工号、姓名、年龄、性别、薪资、部门),主键为工号。

    要求命令行完成以下操作:(禁止使用图形工具软件)

    1)添加三条员工信息

    分别是:

    1,张三,18 , 男,5000 , IT部门

    3,李四,20,男,6000,市场部

    2,小红,28,女,10000,人事部

    2)删除关于“张三“的记录

    3)将“李四“的性别改为”女”

    4)查询并显示员工表中所有的员工信息

    首先我们需要运行MySQL软件,来操作;

    1.首先,我们要在database数据库中创建一个员工表:create table employee( ① );

    ①为各个属性,比如姓名,年龄,性别,薪水,部门;

    注意:

    1)MySQL中的属性和该属性的类型是和java中相反的,如,在java中为:int age;而在MySQL中为 age int;

    2)primary key为“主键”约束符,用来唯一标识某个属性,如id int primary key

    3)auto_increment是自动顺序增长,用来逐个增加某个自然数;word文档里面,如果标记了序号,换行是可能会自动增长;

    4)各个属性之间用逗号隔开"  , ",这个逗号必须是英文的逗号,中文的逗号不可以;

    5)如果属性是字符串属性,不能用String,而是varchar( ),并且括号里必须规定长度;如果是字符,就使用char( );

    6)可以在属性后面加上not null的约束条件来不让该属性的值为空;

    7)使用show tables来查看名为employee的table表格中的状态;使用show table employee是错误的,下图第一次系统反馈ERROR ;

    输入语句如下:

    61a1785239b3c98f4dc90aa8773aa1d7.png

    系统会提示,Query OK ——增删改查OK;

    0 rows affected(0.47s)——共0行(音hang2)受到影响(系统共花费0.47s);

    使用select*from +[tableName]来查看结果

    c3086923422cb695c72917a1efc1f63e.png

    2)删除关于“张三“的记录

    这里的删除用delete from + [tableName]+ where+条件,其中中括号的是表名;

    例如:delete from employee where id=1;

    017495eed624a3af8fffe50574cef1c4.png

    这里的条件id=1表示id=1的那一行;

    3)将“李四“的性别改为”女”;

    使用updata employee set +[更改后的项目] +where +条件;

    如:(注意不要混入中文符号,例如第一次查看时,结尾用了2个分号,而且都是中文的分好)

    ba8869ddf3519e1b174191a561c3c982.png

    4.查询并显示员工表中所有的员工信息;

    使用 select *from employee;语句,结果如下:

    2d6f22a1f8cc97949f14e4b318efb6e1.png

    结束!

    展开全文
  • mysql三联合查询(员工表,部门表,工资)

    万次阅读 多人点赞 2019-01-07 17:07:52
    部门 员工 工资三联查有关问题 ,面试常见 列出薪金比关羽高的所有员工。 列出所有员工的姓名及其直接上级的姓名。 列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称。 列出部门名称这些部门员工...
  • 企业部门表员工表建表sql带数据;mysql练手sql语句集合,带讲义; 计算员工的年薪;列出员工的编号,姓名年薪 > select empno, ename, sal*12 as yearsal > from emp; 计算部门平均薪水;列出部门编号...
  • 企业员工工资信息.doc
  • 如下是员工表部门表内容。 查询月薪最高的员工姓名月薪(子查询) select ename, sal from tb_emp where sal = ( select max(sal) from tb_emp ); -- 如果月薪最高的员工有多个,则结果不正确。 -- ...
  • 1、用于企业管理的员工管理数据库,数据库名为YGGL,包含员工信息Employees、部门信息Departments、员工薪水情况Salary。...(3)在员工管理数据库YGGL中创建员工信息Employees,Departments,Salary
  • 声明:其中大概有错误的地方 希望大佬指出来 set foreign_key_checks = 0;...`deptno` int(2) not null comment '部门编号', `dname` varchar(14) default null comment '部门名称', `loc` varchar(13
  • oracle员工表和部门表基本操作

    万次阅读 2017-05-23 16:38:37
    emp 员工表(empno 员工号/ename 员工姓名/job 工作/mgr 上级编号/hiredate 受雇日期/sal 薪金/comm 佣金/deptno 部门编号) dept 部门表(deptno 部门编号/dname 部门名称/loc 地点) 工资 = 薪金 + 佣金 题目...
  • 文章目录一、34道SQL综合练习二、测试使用的数据三、创建测试的SQL语句 一、34道SQL综合练习 1.查询取得每个部门最高工资的人员信息。 select e.ename,t.* from emp e join (select deptno,max(sal) as maxsal ...
  • 里面包含dept(部门),emp(员工),salgrade(薪资等级)三张表的构建与数据的插入。主要用于初学者对表的操作练习。该脚本是Mysql官方创建,用于初学者的案例。该SQL脚本适用于大部分大学里面Mysql老师的教学练习。
  • /*数据库部分*/ -- 删除数据库 DROP DATABASE IF EXISTS employee; -- 创建数据库 CREATE DATABASE employee DEFAULT CHARACTER SET utf8; -- 切换数据库 USE employee;...-- 创建部门表 CREATE TABLE t_de.
  • day02_mysql:数据表创建

    千次阅读 2021-01-31 06:26:56
    基于不同的操作目的,为提高效率,创建数据库时可使用不同的数据库存储引擎,最常见时事务型InnoDBmysql 常见数据类型字符串: char 固定长度, varchar(n) 可变长度数值: int , float(m, d) , double(m, d) m为...
  • MySQL 部门员工工资 综合练习

    千次阅读 多人点赞 2021-03-08 09:17:59
    目录员工部门工资 数据库综合练习数据准备部门员工工资等级数据处理 员工部门工资 数据库综合练习 数据准备 部门 -- 创建部门 DROP TABLE IF EXISTS dept; CREATE TABLE dept( -- 部门编号 deptno ...
  • mysql练习:员工部门表(含答案)

    千次阅读 多人点赞 2020-07-25 15:10:53
    创建部门表 CREATE TABLE dept( deptno INT, dname varchar(14), loc varchar(13) ); 添加部门数据 INSERT INTO dept values(10, ‘ACCOUNTING’, ‘NEW YORK’); INSERT INTO dept values(20, ‘RESEARCH’, ...
  • 互联网技术学院周测机试题(二) 一、需求分析 为进一步完善连锁超市经营管理,提高管理效率,减少管理成本,决定...1:员工信息(employee) 序号 字段名 说明 数据类.
  • 细说 MySQL 创建表的三种方法

    万次阅读 多人点赞 2021-08-15 21:38:02
    SQL 标准使用 CREATE TABLE 语句创建数据;MySQL 则实现了三种创建表的方法,支持自定义结构或者通过复制已有的结构(CREATE TABLE ..... SELECT)来创建,本文给大家分别介绍一下这些方法的使用注意事项。
  • oracle之创建和管理之练习题

    千次阅读 2021-05-07 01:02:58
    51. 利用子查询创建表 myemp,该中包含 employees 的 employee_id(id), last_name(name), salary(sal), email 字段1). 创建表的同时复制 employees 对应的记录create table myempasselect employee_id id, last_...
  • MySQL建员工表案例

    千次阅读 2022-03-23 13:05:46
    MySQL建员工表案例 create table DEPT( DEPTNO int(2) not null, DNAME VARCHAR(14), LOC VARCHAR(13) ); alter table DEPT add constraint PK_DEPT primary key (DEPTNO); create table EMP ( ...
  • 【单选题】设有部门和职员两个实体,每个职员只能属于一个部门,...【简答题】使用下面 sql 语句创建 yggl (员工管理)数据库、 employees (员工表)、 departments (部门)、 salary (工资)。 set foreign_key_...
  • 员工部门表综合查询SQL

    千次阅读 2017-10-11 17:39:04
    [sql] view plain copy print?–数据库的设计如下: –部门部门编号,部门... –创建部门表: CREATE TABLE dept( deptno INT PRIMARY KEY,dname VARCHAR(20),loc VARCHAR(20) ); --数据库的设计
  • emp员工表(empno员工号/ename员工姓名/job工作/mgr上级编号/hiredate受雇日期/sal薪金/comm佣金/deptno部门编号) dept部门表(deptno部门编号/dname部门名称/loc地点) 注意:工资 = 薪金 + 佣金 2、创建表 create ...
  • 员工追踪器 描述 该项目演示了利用mySQL数据库和查询的命令行输入(CLI)应用程序。 Employee Tracker应用程序包含部门,角色和雇员的... 部门和角色的删除功能考虑了其他中是否也需要删除相关数据。 例如,如果有
  • 万年不变的Oracle Scott练习题,带答案;Oracle简单Scott用户练习;使用scott/tiger用户下的emp表和dept完成下列练习
  • 查询 、数据库事务 –> 面试重点(概念,三个步骤,四个特征) 一 多查询 —-> 难点 1、笛卡尔积 A.语法: SELECT * FROM 名称1,名称2; B.查询出来的数据条目数: a....
  • SQL语句练习—员工表

    千次阅读 2021-11-21 17:17:39
    以下面三个为例: create database jepsondb; /*新建数据库*/ grant all privileges on jepsondb.* to jepsonuser@'%' identified...一、部门表:dept部门表(deptno部门编号/dname部门名称/loc地点) create tab...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,253
精华内容 30,501
关键字:

创建员工表和部门表