Mysql-Day04

  • 简单查询
  1. 条件查询

 

 select   *   from   emp  where  deptid  is  null;

select   *   from   emp  where  deptid  is not  null;

select   *   from   emp  where  salary>7000 and sex=0;

select   *   from   emp  where  salary>7000 && sex=0;

and(&&)  并且,要求两个条件都满足

or( || )  或者,要求两个条件满足其一

 select   *   from   emp  where  salary>=7000 and salary<=10000;

 select   *   from   emp  where  salary<7000  or  salary >10000;

select   *   from   emp  where  deptid=20 or deptid=30;

select   *   from   emp  where  deptid !=10;

select   *   from   emp  where  deptid  in(20,30);    ----简化

select   *   from   emp  where  deptid !=20 and deptid !=30;

select   *   from   emp  where  deptid =10;

select   *   from   emp  where  deptid not in(20,30);    ----简化

  1. 模糊条件查询   -----  like

不明确条件,常用于搜索

示例:查询出姓名中含有字母e的员工有哪些

 select   *   from   emp  where ename   like"%e%";

select   *   from   emp  where ename   like"%e";

练习:查询出员工姓名中倒数第2个字符是e的员工有哪些

 select   *   from   emp  where ename   like"%e_";

%  匹配任意字符 > =0

_  匹配任意1个字符 =1

 以上匹配符号必须结合like关键字使用

  1. 分页查询  ---- limit

查询的结果中,有太多的数据,一次显示不完,可以做成分页显示

需要有两个已知的条件:当前的页码、每页的数据量

每页开始查询的值=(当前页码-1)*每页数据量

 select   *   from   emp  limit 开始查询的值,每页的数据量;

练习:假设每页显示5条数据,查询出前4页的数据

第一页: select   *   from   emp  limit  0,5;

第二页: select   *   from   emp  limit  5,5;

第三页: select   *   from   emp  limit  10,5;

第四页: select   *   from   emp  limit  15,5;

注意事项:limit后的两个值必须是数值型,不能加引号

  • 复杂查询
  1. 聚合查询 /分组查询 group by

示例:查询出所有员工的数量

 select   count(*)   from   emp ;

select   count(eid)   from   emp ;       #推荐使用主键列

select   count(deptid)   from   emp ;

函数:是一个功能体,需要提供若干个数据,返回结果

聚合函数

count() /  sum()  /  avg() /  man()  /  min()

数量      总和     平均    最大     最小

练习:查询出所有女员工的工资总和

select   sum(salary)   from   emp   where sex=0 ;

练习:查询出10号部门的平均工资是多少

select   avg(salary)   from   emp   where  deptid=10;

练习:查询出男员工的最低工资

select   min(salary)   from   emp   where  sex=1;

练习:查询出年龄最小员工的生日(生日的最大值)

select   max(birthday)   from   emp ;

分组查询通常查询聚合函数和分组条件

示例:查询出男女员工的数量、平均工资、工资总和

select   count(eid),avg(salary),sum(salary),sex   from   emp  group by sex;

练习:查询出各部门的工资总和,最高工资,最低工资

select   sum(salary),sum(salary),min(salary),deptid   from   emp  group by deptid;

  1. 子查询

多个SQL命令的组合,把第一个查询的结果作为第二个的条件。

步骤1:查询出平均工资 ---11125

select   avg(salary) from emp

步骤2:查询出工资大于11125的员工

select   ename   from   emp   where salary>11125

select   ename   from   emp   where salary> (select   avg(salary) from emp);

练习:查询出和tao同一个部门的员工有哪些

 select   *  from  emp  where deptid= (select  deptid from emp where ename ="tao")  and  ename  != "tao";  

and  ename  != "tao";   不包含“tao”自己

year() 获取日期中的年份

示例:查询出所有员工出生的年份

 select  year(birthday)  from   emp;

示例:查询出1993年出生的员工

 select  *  from  emp  where  year(birthday)=1993;

练习:查询出和tom同一年出生的员工有哪些

 select  *  from  emp  where  year(birthday)=(select  year(birthday) from emp where ename="tom")   and ename !="tom";;

  1. 多表查询

要查询的数据分布在多个表中,前提是表之间已经建立了关联

示例:查询出所有员工的姓名及其部门名称

select  ename,dname  from  emp,dept    where deptid=did ;

 select emp.ename a,dept.dname b from emp,dept where  emp.deptid=dept.did;

  1. 内连接  ...inner join...on...

select  ename,dname from  emp  inner join  dept  on  deptid=did;

 和之前的查询结果一致

  1. 外连接-----左外连接 ...left outer join...on...

select ename,dname  from emp  left outer join dept on deptid=did;

显示左侧表中所有记录,先写哪个表就是左(outer可省略

  1. 外连接----右外连接  ...right outer join...on...

 select ename,dname  from emp  right outer join dept on deptid=did;

显示右侧表中所有记录,后写哪个表哪个就是右 (outer可省略

左外和右外连接中outer 关键字可以省略

(4)全连接    ...full  join... on ....

同时显示左侧和右侧表中所有记录

....full  join... on ....

mysql不支持全连接

union all 联合后不合并相同的项

union 联合后合并相同的项

union all 联合后不合并相同的项↓

(select ename,dname  from emp  left outer join dept on deptid=did) union all  

(select ename,dname  from emp  right outer join dept on deptid=did);

union  联合后合并相同的项↓

(select ename,dname  from emp  left outer join dept on deptid=did) union 

(select ename,dname  from emp  right outer join dept on deptid=did);

解决方案:将左外和右外连接进行联合,合并相同的项

JS  JavaScript

学习一门编程语言的步骤:

  1. 了解他的背景知识:历史、现状、特点、应用场景
  2. 搭建开发环境,编写 hello world
  3. 变量和常量
  4. 数据类型
  5. 运算符
  6. 逻辑结构
  7. 通用小程序
  8. 函数和对象  
  9. 第三方的库和框架
  10. 个人项目

JavaScript高级程序设计(第3版)
链接:https://pan.baidu.com/s/1k-KXRC0p9gzz1X0xLe42Vw
提取码:fhjj

  • JS应用场景

JS可以开发浏览器端的交互效果

JS还可以进行服务器端的开发,例如:访问数据库、调用其他服务器....

  • 搭建开发环境
  1. 浏览器

 浏览器内部都有自带的JS解释器,可以执行JS代码

内核

谷歌/火狐/Safari/edge/欧朋

  1. Node.js

JS在服务器端的运行环境

  1. 运行JS
  1. 浏览器

创建01.js和01.html文件,把html中编写代码,将js嵌入进去

 <script src="../day04/01.js"></script>

<script  src="js路径"></script>

  1. Node.js

在命令行cmd下

node 直接拖拽要运行的文件(js路径)  回车

  • JS的语法规范

区分大小写

每行代码结束的分号可省略

分为单行注释//和多行注释/*....*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
mysql-connector-j 是 MySQL 官方提供的 Java 连接器,用于在 Java 程序中连接 MySQL 数据库。它的文件结构如下: ``` mysql-connector-java-x.x.xx.jar ├── META-INF │ ├── MANIFEST.MF │ └── maven │ └── mysql │ └── mysql-connector-java │ ├── pom.properties │ └── pom.xml ├── com │ └── mysql │ ├── jdbc │ │ ├── Blob.class │ │ ├── CallableStatement.class │ │ ├── Clob.class │ │ ├── Connection.class │ │ ├── DatabaseMetaData.class │ │ ├── Date.class │ │ ├── Driver.class │ │ ├── DriverManager.class │ │ ├── ParameterMetaData.class │ │ ├── PreparedStatement.class │ │ ├── ResultSet.class │ │ ├── ResultSetMetaData.class │ │ ├── RowId.class │ │ ├── Savepoint.class │ │ ├── SQLClientInfoException.class │ │ ├── SQLException.class │ │ ├── SQLData.class │ │ ├── SQLInput.class │ │ ├── SQLOutput.class │ │ ├── SQLPermission.class │ │ ├── SQLWarning.class │ │ ├── SQLXML.class │ │ ├── Statement.class │ │ ├── Struct.class │ │ ├── Time.class │ │ ├── Timestamp.class │ │ └── Types.class │ ├── jdbc2 │ │ ├── optional │ │ │ ├── Blob.class │ │ │ ├── Clob.class │ │ │ ├── Connection.class │ │ │ ├── DatabaseMetaData.class │ │ │ ├── Date.class │ │ │ ├── ParameterMetaData.class │ │ │ ├── PreparedStatement.class │ │ │ ├── ResultSet.class │ │ │ ├── ResultSetMetaData.class │ │ │ ├── Statement.class │ │ │ ├── Time.class │ │ │ ├── Timestamp.class │ │ │ └── Types.class │ │ ├── optional │ │ │ ├── Blob.class │ │ │ ├── Clob.class │ │ │ ├── Connection.class │ │ │ ├── DatabaseMetaData.class │ │ │ ├── Date.class │ │ │ ├── ParameterMetaData.class │ │ │ ├── PreparedStatement.class │ │ │ ├── ResultSet.class │ │ │ ├── ResultSetMetaData.class │ │ │ ├── Statement.class │ │ │ ├── Time.class │ │ │ ├── Timestamp.class │ │ │ └── Types.class │ │ └── optional │ │ ├── Blob.class │ │ ├── Clob.class │ │ ├── Connection.class │ │ ├── DatabaseMetaData.class │ │ ├── Date.class │ │ ├── ParameterMetaData.class │ │ ├── PreparedStatement.class │ │ ├── ResultSet.class │ │ ├── ResultSetMetaData.class │ │ ├── Statement.class │ │ ├── Time.class │ │ ├── Timestamp.class │ │ └── Types.class │ └── statements │ ├── CallableStatement.class │ ├── PreparedStatement.class │ ├── Statement.class │ └── StatementImpl.class └── java └── time ├── Clock.class ├── Duration.class ├── Instant.class ├── LocalDate.class ├── LocalDateTime.class ├── LocalTime.class ├── Month.class ├── MonthDay.class ├── OffsetDateTime.class ├── OffsetTime.class ├── Period.class ├── Year.class ├── YearMonth.class ├── ZonedDateTime.class └── ZoneId.class ``` 其中,最重要的文件是 `mysql-connector-java-x.x.xx.jar`,这是一个 Java 归档文件,包含了连接 MySQL 所需的所有类和资源。在该文件中,`META-INF` 目录下是元数据信息,`com.mysql.jdbc` 是连接 MySQL 所需的核心类,`java.time` 是 Java 8 中的时间 API,用于与 MySQL 中的日期和时间数据交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值