IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> JAVA_Web(持续更新。。。) -> 正文阅读

[大数据]JAVA_Web(持续更新。。。)

什么是JavaWeb
web:全球广域网,也称为万维网(www.)能过通过浏览器访问网站
javaWeb:用来开发网站。使用java技术解决相关web互联网领域的技术

javaWeb介绍

web系统就是从网页中把数据库里存储的数据拿出来展现。但是网页不能直接从数据库拿去数据,必须借助Javaweb程序
在这里插入图片描述

概念

数据库

存储数据的仓库。数据是有组织的进行存储
关系型数据库
关系型数据库是建立在关系模型基础上的数据库,简单说、关系型数据库是由多张能互相联系的二维表组成的数据库
优点:
1、都使用表结构、格式一致、易于维护
2、使用通用的SQL语言操作、方便使用,可用于复杂查询
3、数据存储在磁盘中,安全
在这里插入图片描述

数据管理系统

管理数据库的大型软件。管理数据库,比如mysql

sql

常见的关系型数据库管理系统

数据库介绍
Oracle非常昂贵(可达40w)的大型数据库,广泛用于银行(Oracle公司)
MySql免费的中小型数据库(最后被oracle公司收购),广泛用于互联网公司
SQLServer收费的中型数据库
PostgreSQL免费的中小型数据库
DB2IBM公司大型收费数据库
SQLite嵌入式微型数据库

sql编程语言

sql:

  • 结构化程序语言
  • 操作关系型数据库编程语言
  • 定义所有关系型数据库的统一标准

简介:

  • 英文: Structured Query Langusge,简称SQL
  • 结构化查询语言,一门操作关系型数据库的编程语言
  • 定义操作所有关系型数据库的统一标准
  • 对于同一需求,每一种数据库操作的方式可能会存在一些不一样的地方,简称为“方言”
    SQL通用语法
    1、SQL语句可以单行或多行书写,以分号结尾
    2、Mysql数据库的SQL语句不区分大小写,关键字建议使用大写
    3、注释
    • 单行注释:- 注释内容或 # 注释内容(Mysql特有)
    • 多行注释/* 注释 * /
      SQL分类
  • DDL : 数据定义语言,用来定义数据库对象:数据库,表,列等
  • DML:数据操作语言,用来对数据库中表的数据进行增删改查
  • DQL:数据查询语言,用来查询数据库中表的记录(数据)
  • DCL;数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

DDL(操作数据库)

1、查询数据库SHOW DATABASES;
2、创建

  • 创建数据库CREATE DATABASE 数据库名称
  • 创建数据库(判断,如果不存在则创建)CREATE DATABASE IF NOT EXISTS
    3、删除
  • 删除数据库DROP DATABASE 数据库名称
  • 删除数据库(判断,如果存在则删除)DROP DATABASE IF EXISTS 数据库名称
    4、使用数据库
  • 查看当前使用数据库SELECT DATABASE();
  • 使用数据库USE 数据库名称
    数据类型
    MySQL支持多种类型,可分为三类:
  • 数值
  • 日期
  • 字符串
    在这里插入图片描述
    修改表
    1、修改表名:ALTER TABLE 表名 RENAME TO 新的表名
    2、添加一列:ALTER TABLE 表名 ADD 列名 数据类型;
    3、修改数据类型;ALTER TABLE 表名 MODIFY 列名 新的数据类型
    4、修改列名和数据类型ALTER TABLE 表名 CHANGE 列名 新列名
    5、删除列ALTER TABLE 表名 DROP 列名

DML(操作表)

  • 添加(insert)
  • 修改(updata)
  • 删除(delete)
    添加数据
    1、给指定列添加数据INSERT INTO 表名(列名1,列名2,....) VALUES(值1,值2,...)
    2、给全部列添加数据INSERT INTO 表名VALUES(值1,值2,....)
    3、批量添加数据INSERT INTO 表名(列名1,列名2,....)VALUSES(值1,值2,....)(值1,值2,....) 或者INSERT INTO 表名VALUES(值1,值2,....)(值1,值2,....).....
    删除数据
    DELECT FROM 表名[WHERE 条件]
    注意:删除语句如果不加条件,则将所有数据删除

DQL(查询)

基础查询

查询语法
在这里插入图片描述

1、查询多个字段SELECT 字段列表 FROM 表名; 或者SEECT * FROM 表名
注意从代码规范的角度不建议使用*号
2、去除重复记录SELECT DISTINCT 字段列表FROM 表名
3、起别名AS:AS可以省略

条件查询(where)

1、条件查询语法SELECT 字段名 FROM 表名 WHERE 条件列表
2、条件
在这里插入图片描述

排序查询(order by)

1、排序查询语法SELECT 字段列表 FROM 表名 GROUP BY 排序字段名 [排序方式],排序字段名 [排序方式]
排序方式

  • ASC: 升序排列(默认值)
  • DESC:降序排列
    ==注意:如果有多个排序条件,当前面的条件一样时,才会进行第二个
分组查询

聚合函数
1、概念:
将一列数据作为一个整体,进行纵向计算
2、聚合函数的分类
在这里插入图片描述
3、聚合函数语法:SELECT 聚合函数名 (列名) FROM 表;
注意:null值不参与所有聚合函数运算
分组查询
1、分组查询语法SELECT 字段列表 FROM 表名[分组前条件限定] GROUP BY分组字段名 [HAVING 分组后过滤条件]
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where和having区别

  • 执行时机不一样:where是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过滤
  • 可判断的条件不一样:where不能对聚合函数进行判断,having可以
    =执行顺序 :where >聚合函数 > having
分页查询

1、分页查询语法SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;
起始索引:从0开始
计算公式:起始索引 = (当前页数-1)* 每页显示的条数
tip

  • 分页查询limit是MySql数据库的方言
  • Oracle分页查询使用的是rownumber
  • SqlServer分页查询使用top
练习题
-- 查询男女同学各自的数学平均分
SELECT sex AVG(math) FROM student GROUP BY ssex; 
SELECT ssex ,AVG(math) FROM student GROUP BY ssex; 
-- 查询男女同学各自的数学平均分,以及各自人数
SELECT ssex ,AVG(math),COUNT(*) FROM student GROUP BY ssex; 
-- 查询男女同学各自的数学平均分,以及各自人数,要求分数小于70的不参与分组
SELECT ssex ,AVG(math),COUNT(*) FROM student WHERE math >70 GROUP BY ssex;
-- 分页查询######################
-- 从0开始查询,查询3条数据
-- 每页显示三条数据,查询第一页数据
SELECT * FROM student LIMIT 0,3;
-- 每页显示三条数据,查询第二页数据
SELECT * FROM student LIMIT 3,3;

-- 每页显示三条数据,查询第三页数据
SELECT * FROM student LIMIT 6,3;

约束

约束

概念&分类

1、约束的概念和分类

  • 约束是作用于表中列上的规则,用于限制加入表中的数据
  • 约束的存在保证了数据库中数据的正确性,有效性和完整性
    2、约束的分类
    在这里插入图片描述
    mysql不支持检查约束
非空约束

1、概念:

  • 非空约束用于保证列中所有数值不能有NULL值
    2、语法
    (1)添加约束
-- 创建约束时添加非空约束
CREATE TABLE 表名(
	列名  数据类型 NOT NULL,
	....
);
-- 建表完后添加非空约束(不常用)
ALTER TABLE 表名 MODIFY 字段名 数据类型 NOT NULL;

(2)删除约束

ALTER TABLE 表名 MODIFY 字段名 数据类型
唯一约束

1、概念:

  • 唯一约束用于保证列中所有数据各不相同
    2、语法
-- 创建约束时添加唯一约束
CREATE TABLE 表名(
	列名  数据类型 UNIQUE
	....
);
-- 建表完后添加非空约束(不常用)
ALTER TABLE 表名 MODIFY 字段名 数据类型 UNIQUE;

(2)删除约束

ALTER TABLE 表名 DROP INDEX 字段名;
主键约束

1、概念

  • 主键是一行数据的唯一标识,要求非空且唯一
  • 一张表只能有一个主键
    2、语法
    (1)添加约束
-- 创建约束时添加主键约束
CREATE TABLE 表名(
	列名  数据类型 PRIMARY KEY,
	....
);
-- 建表完后添加非空约束(不常用)
ALTER TABLE 表名 ADD PRIMARY KEY 字段名 ;
```sql
-- 建表完后添加非空约束(不常用)
ALTER TABLE 表名 DROP PRIMARY KEY;
####  默认约束
1、概念
- 保存数据时,未指定值则采用默认值
2、语法
(1)添加约束
```sql
-- 创建约束时添加唯一约束
CREATE TABLE 表名(
	列名  数据类型 DEFAULT 默认值,
	
	....
);
-- 建表完后添加非空约束(不常用)
ALTER TABLE 表名 ALTER 列名 SET DEFALUT 默认值;

(2)删除约束

ALTER TABLE 表名 ALTER 列名 DROP DEFAULT
外键约束

1、概念:

  • 外键用来让两个表数据之间建立链接,保证数据的一致性和完整性
    2、语法
    (1)添加约束
-- 建表时添加外键约束
CREATE TABLE 表名(
	列表 数据类型 ,
	...
	[CONSTRAINT][外键名称] FOREIGN KEY (外键列名) REFERENCES 主表(主表列名)
);
-- 建表后添加主键约束
ALTER TABLE 表名ADD CONSTRAINT 外键名称 FOREIGN KEY (外键字段名称) REFERENCES 主表名称(主表列名称);

(2)删除约束

ALTER TABLE 表名 DROP FOREIGN KEY 外键名称

数据库设计

软件研发步骤
在这里插入图片描述
数据库设计概念:

  • 数据设计就是根据业务系统的具体要求,结合我们所选用的DBMS,为这个业务系统构造出最优的数据库存储模型
  • 建立数据库中的表结构以及表与表之间的关联关系的过程
  • 有哪些表?表中有哪些字段?表与表之间有什么关系
    3、数据库设计的步骤
  • 需求分析(数据是什么?数据有哪些属性?数据与属性的特点是什么)
  • 逻辑分析(通过ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)
  • 物理设计(根据数据库自身特点把逻辑设计转化为物理设计)
  • 维护设计(对新的需求进行建表2、表优化)
    表关系
    一对一
  • 如:用户与用户详情
    一对多(多对一)
  • 部门和员工 一个部门有多个员工,一个员工从属于一个部门
    多对多
  • 商品和订单 一个商品对应多个订单,一个订单包含多个商品

多表查询

  • 笛卡尔积:取A,B集合所有组合情况
  • 在这里插入图片描述
    连接查询
  • 内连接:相当于查询A B 交集数据
    1、内连接查询语法
--隐式内连接
SELECT 字段列表 FROM1,表2... WHERE条件;
-- 显示内连接
SELECT 字段列表 FROM1[INNER] JOIN2 ON 条件;

内连接相当于查询A B 交集的数据
在这里插入图片描述

  • 外连接:
    1、左外连接:相当于查询A表所有数据和交集部分数据
    2、右外连接:相当于查询B表所有数据和交集部分数据
-- 左外连接
SELECT 字段列表 from1 LEFT [OUTER]JOIN2 ON 条件
-- 右外连接
SELECT 字段列表 from1 RIGHT [OUTER]JOIN2 ON 条件

子查询
1、子查询概念

  • 查询中镶嵌查询,称镶嵌查询为子查询
    2、子查询根据查询结果不同,作用不同
  • 单行单列:作为条件值,使用= !=< >等进行条件判断
SELECT 字段列表 FROMwhere 字段名 =(子查询)
  • 多行单列 :作为条件值使用in等关键字进行条件判断
SELECT 字段列表 FROMwhere 字段名 in(子查询)
  • 多行多列:作为虚拟表
SELECT 字段列表 FROM (子查询) where 条件

事物

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2021-12-02 16:50:07  更:2021-12-02 16:52:48 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 8:40:28-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码