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、查询部门人数最多的前两个部门编号
- 创建数据库company并设置字符集为utf8:
CREATE DATABASE company CHARACTER SET utf8;
- 在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);
- 插入数据:
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号部门的所有员工薪资更改为3000.00:
UPDATE employees SET employ_salary = 3000 WHERE employ_department_id = 1;
- 删除表中年龄在16岁以下的员工信息:
DELETE FROM employees WHERE employ_age < 16;
- 查询表中年龄大于30岁并且薪资小于5000的员工信息:
SELECT * FROM employees WHERE employ_age > 30 AND employ_salary < 5000;
- 查询表中每个部门的总人数:
SELECT employ_department_id, COUNT(*) FROM employees GROUP BY employ_department_id;
- 查询表中性别为man的所有员工中薪资最高的员工信息:
SELECT * FROM employees WHERE employ_sex = "男" AND employ_salary = (SELECT MAX(employ_salary) FROM employees WHERE employ_sex = "男");
- 查询不同部门的平均薪资avg:
SELECT employ_department_id, AVG(employ_salary) FROM employees GROUP BY employ_department_id;
- 查询部门人数最多的前两个部门编号:
SELECT employ_department_id, COUNT(*) as count FROM employees GROUP BY employ_department_id ORDER BY count DESC LIMIT 2;
关键词: