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、查询不同部门的平均薪资avg10、查询部门人数最多的前两个部门编号
  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;

关键词: