栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA学习数据库阶段day03

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA学习数据库阶段day03

根据老师讲解,自己对学习的整理,非本人原创知识

条件查询

1.order by 排序

select * from 表名 order by 字段名

根据字段名排序

select * from 表名 order by 字段名 desc / hiredate

按照字段名排序(倒序)/(升序)

默认为升序

2.limit 分页

select * from 表名 limit 2

limit后跟一个数字代表只查询多少条数据

select * from 表名 limit 2,3

limit后跟两个数字代表从第n+1条开始展示,展示n条

3.统计

select 字段名 from 表名 where 条件

展示满足条件来自某表的该字段

例如 select 工资(字段名) from 员工表(表名) where year(入职年份)=某年

统计某年入职的员工的工资

聚合函数

可以把一列的数据聚合起来,继续分析

常见的聚合函数:MAX MIN SUM AVG COUNT

                          最大值 最小值 求和 平均值 统计

SQL语句

select max(字段名) from 表名

查询该字段中的最大值

select max(字段名) from 表名 where 条件

查询该字段中满足条件的最大值

select min(字段名) from 表名

查询最小值

select avg(字段名) from 表名

查询平均值

select sum(字段名) from 表名

求和

select count(1) from 表名

统计有多少条数据                1为通配符表示所有,同*星号

select count(字段名) from 表名

不推荐,因为不能统计null元素

分组 group by        分组

select avg(字段名),字段名 from 表名

报错,出现了混合列,查询结果包含着聚合列和非聚合列

聚合列:使用了聚合函数的列

select 函数(字段名),字段名 from 表名 group by 字段名

按照字段名分组

分组,解决查询中出现的混合列报错

口诀:为什么要分组?查询中出现了混合列

           按照什么分组合理,通常按照非聚合列进行分组

having        类似where

select 函数(字段名),字段名 from 表名 group by 字段名 having 条件

按照字段名分组,且满足条件

事务

英文名transaction 主要作用是来保证多条sql,要么全成功,要么全失败

四大特征:ACID

考试题

原子性:同一个事务里的多条SQL语句,是一个原子密不可分,要么全成功,要么全失败

一致性:保证多台服务器里的数据是一致的(分布式系统)

隔离性:数据库为了提高操作的效率允许高并发的访问,并采用了隔离性保证了数据的安全性

持久性:是指,我们对数据库的操作(增删改)是持久生效的

查询不会让数据发生变化

隔离级别:

read uncommitted:读未提交,安全性最差,但是效率最高

read committed:读已提交,安全性有所提升,但是效率降低一些,Oracle数据库的默认隔离级别

repeatable read:可重复读,安全性有所提升,但是效率会更低一些,MySQL数据库的默认隔离级别

Serializable:串行化,安全性最高,但是性能最低

事务的管理

方式1:使用MySQL数据库默认会为每条SQL提供事务,自动事务管理

方式2:手动管理事务,必须有两个过程:开启事务...结束事务(commit/rollback)

start transaction;         #开启事务

insert into 表名 values valuses(数据);        #执行SQL

commit;        #提交事务

查看需要先将事务全部完成才可以查看的到,如果没有提交事务,数据不会上传

字段约束 默认约束

给字段赋默认值

create table 表名(

字段名 类型 primary key auto_incarement,        主键         自动增加

字段名 类型(长度)default   '数据'               #default默认约束 

检查约束

添加判断条件

create table 表名(

字段名 类型 primary key auto_incarement,

字段名 类型,

check(判断条件)        #check检查约束,当满足条件时才可以添加数据

外键约束

create table  表1(

主键 类型 primary key auto_incarement,

字段名 类型,

...

create table  表2(

主键 类型 primary key ,        #不可以主键自增,因为要关联其他表

字段名 类型,

...

foreign key (表2主键) references 表1(表1主键)

#连接表1,让主键随着表1的主键增加而增加

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/691287.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号