JSP_5.8_课堂笔记

发布时间 2023-05-09 15:34:47作者: qi_fen_zhong

5.9笔记

一、JDBC技术

Java DataBase Connect  Java数据库连接技术,专门负责Java程序连接各种数据库,操作数据的。

1、MySQL基本概念

MySQL是用来管理数据的,MySQL是使用数据库和数据表这两个概念来管理数据。

数据库相当于是一个文件夹,MySQL中可以有很多的数据库,数据表只能存在于数据库下,一个数据库可以有多个数据表。

MySQL操作库和表,借助一个编程语法来完成,SQL语言来完成库和表的操作。

在MySQL中的SQL语言一共分为4类:

(1)DDL语言:数据定义语言,管理数据库和数据表的语言,创建、删除、修改、查询数据库和数据表的语言。

   create drop alter  show  desc  use

(2)DML语言:数据操纵语言,管理表数据的语言,创建、删除、修改表数据的语言

   insert delete  update

(3)DQL语言:数据查询语言,查询表数据的语言

   select  from where group by  order by  limit

   join union

(4)DCL/TCL语言:事务控制语言,控制MySQL数据事务

2、安装MySQL和使用

(1)MySQL的启动(自启动的)

   windowsà服务—>MySQLxx的服务—>右键 启动、关闭

   如果没有MySQLxx服务,使用如下方式开始MySQL服务:

   在cmd命令行输入mysqld命令

(2)连接MySQL

   mysql  -uroot  -p密码  -P端口

3、MySQL中常用命令

1、查看MySQL中有哪些数据库

show databases;

2、删除数据库·

drop database 数据库名;

3、创建数据库

create database if not exists 数据库名 charset “utf8”;

4、使用数据库

use 数据库名;

5、查看当前数据库下有哪些数据表

show tables;

6、创建数据表

   create table if not exists 数据表名( 

       字段名  字段类型   字段约束,

       字段名  字段类型   字段约束,

       ………

)charset=”utf8”;

7、查看表字段

   desc  数据表名;

8、删除数据表

drop table  数据表名;

9、向数据表中增加数据

   insert into 数据表名(表字段列表)  values(字段值列表),(字段值列表);

10、修改表数据

   update 数据表名  set 字段名=字段值,字段名=字段值  where 筛选条件;

11、删除表数据

delete from 数据表名 where 筛选条件;

12、查询表数据

   select * from 表名;  查询表中的所有字段的所有行

   select  a,b,c  from 表名; 查询表中所有行的a b c三列

   select  查询列表 from  表名  where  筛选条件;  查询表中指定的数据

   select 分组字段,聚合韩式   from  表名   group  by  分组字段; 分组查询

   select  * from 表名  order by  排序字段  asc|desc; 排序查询

   select * from 表名 limit  n;  限制查询前n条数据

二、作业
1、要求创建一个数据库叫做company 数据库支持中文;

2、在company数据库下创建一个员工employees数据表,员工数据表有如下字段:

    employ_id   员工编号 整数类型 自动递增的主键

    employ_name  员工的姓名

   employ_age  员工的年龄

    employ_sex   员工的性别

    employ_salary  员工的薪资   小数double

   employ_department_id  员工部门编号   整数

3、增加数据(自己增加)

4、将表中1号部门的所有员工薪资更改为3000.00;

5、删除表中年龄在16岁以下的员工信息

6、查询表中年龄大于30岁并且薪资小于5000的员工信息

7、查询表中每个部门的总人数

8、查询表中性别为man的所有员工中薪资最高的员工信息

9、查询不同部门的平均薪资avg

10、查询部门人数最多的前两个部门编号
  1. 创建数据库company并设置字符集为utf8:
CREATE DATABASE company CHARACTER SET utf8;
  1. 在company数据库下创建员工employees数据表:
USE company;
CREATE TABLE employees (
employ_id INT AUTO_INCREMENT PRIMARY KEY,
employ_name VARCHAR(50),
employ_age INT,
employ_sex VARCHAR(10),
employ_salary DOUBLE,
employ_department_id INT
);
  1. 插入数据:
INSERT INTO employees (employ_name, employ_age, employ_sex, employ_salary, employ_department_id) VALUES
('张三', 25, '男', 5000, 1),
('李四', 30, '女', 6000, 1),
('王五', 35, '男', 7000, 2),
('赵六', 40, '女', 8000, 2),
('钱七', 45, '男', 9000, 3),
('孙八', 50, '女', 10000, 3);
  1. 将表中1号部门的所有员工薪资更改为3000.00:
UPDATE employees SET employ_salary = 3000 WHERE employ_department_id = 1;
  1. 删除表中年龄在16岁以下的员工信息:
DELETE FROM employees WHERE employ_age < 16;
  1. 查询表中年龄大于30岁并且薪资小于5000的员工信息:
SELECT * FROM employees WHERE employ_age > 30 AND employ_salary < 5000;
  1. 查询表中每个部门的总人数:
SELECT employ_department_id, COUNT(*) FROM employees GROUP BY employ_department_id;
  1. 查询表中性别为man的所有员工中薪资最高的员工信息:
SELECT * FROM employees WHERE employ_sex = '男' AND employ_salary = (SELECT MAX(employ_salary) FROM employees WHERE employ_sex = '男');
  1. 查询不同部门的平均薪资avg:
SELECT employ_department_id, AVG(employ_salary) FROM employees GROUP BY employ_department_id;
  1. 查询部门人数最多的前两个部门编号:
SELECT employ_department_id, COUNT(*) as count FROM employees GROUP BY employ_department_id ORDER BY count DESC LIMIT 2;