JavaWeb ----- Mysql

1、JavaWeb介绍

Web:全球广域网,也称为万维网(www),能够通过浏览器访问的网站

JavaWeb: 是用 Java技术来解决相关web互联网领域的技术栈

网页:展现数据

数据库:存储和管理数据

JavaWeb程序:逻辑处理

JavaWeb ----- Mysql_第1张图片

2、数据库

2.1数据库相关概念

存储数据的仓库,数据是有组织的进行存储

2.1MySQL 数据库

管理数据库的大型软件

2.3SQL

2.3.1SQL 简介

简称 SQL,结构化查询语言

2.3.2 SQL 通用语法

SQL 语句可以单行或多行书写,以分号结尾。 MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。 注释 单行注释: -- 注释内容 或 #注释内容(MySQL 特有) 多行注释: /* 注释 */

2.3.3 SQL 分类

1、SQL 语句可以单行或多行书写,以分号结尾。

2、MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

3、注释

        单行注释: -- 注释内容 或 #注释内容(MySQL 特有)

        多行注释: /* 注释 */

DDL(Data Definition Language) 数据定义语言,用来定义数据库对象:数据库,表,列等

DML(Data Manipulation Language) 数据操作语言,用来对数据库中表的数据进行增删改

DQL(Data Query Language) 数据查询语言,用来查询数据库中表的记录(数据)

DCL(Data Control Language) 数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

JavaWeb ----- Mysql_第2张图片

 

2.3.4 DDL 

JavaWeb ----- Mysql_第3张图片

 

操作表-查询

查询当前数据库下所有表名称

SHOW TABLES;

查询表结构

DESC 表名称;

操作表-创建

REATE TABLE 表名 (     

字段名1  数据类型1,     字段名2  数据类型2,     …     字段名n  数据类型n );

注意:最后一行末尾,不能加逗号

JavaWeb ----- Mysql_第4张图片

数据类型

MySQL 支持多种类型,可以分为三类:

  • 数值
  • 日期
  • 字符串

JavaWeb ----- Mysql_第5张图片

 需求:设计一张学生表,请注重数据类型、长度的合理性

JavaWeb ----- Mysql_第6张图片

JavaWeb ----- Mysql_第7张图片

 

操作表-删除

1. 删除表

        DROP TABLE 表名;

2. 删除表时判断表是否存在

        DROP TABLE IF EXISTS 表名;

 

操作表-修改

JavaWeb ----- Mysql_第8张图片

 

2.3.5 DML

添加(insert)

1. 给指定列添加数据

 INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);

 2. 给全部列添加数据

INSERT INTO 表名 VALUES(值1,值2,…);

3. 批量添加数据‘

 修改(update)

1. 修改表数据

UPDATE 表名 SET 列名1=值1,列名2=值2,… [WHERE 条件] ;

注意:修改语句中如果不加条件,则将所有数据都修改!

删除(delete)

1. 删除数据

DELETE FROM 表名 [WHERE 条件] ;

注意:删除语句中如果不加条件,则将所有数据都删除!

2.3.6 DQL

查询语法

JavaWeb ----- Mysql_第9张图片

 

条件查询(WHERE)

1. 条件查询语法

SELECT 字段列表 FROM 表名 WHERE 条件列表;

2. 条件

JavaWeb ----- Mysql_第10张图片

 JavaWeb ----- Mysql_第11张图片

 

 

 

 排序查询(ORDER BY)

1. 排序查询语法

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] …;

排序方式:

        ASC:升序排列(默认值)

        DESC:降序排列

注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

聚合函数

1.  概念:

         将一列数据作为一个整体,进行纵向计算。

2. 聚合函数分类:

JavaWeb ----- Mysql_第12张图片

3. 聚合函数语法:

        SELECT 聚合函数名(列名) FROM 表;

        注意:null 值不参与所有聚合函数运算

  分组查询(GROUP BY)

1. 分组查询语法

SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];

注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义

 where 和 having 区别:

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

执行顺序: where > 聚合函数 > having

 分页查询(LIMIT)

1. 分页查询语法

SELECT 字段列表 FROM 表名 LIMIT  起始索引 , 查询条目数;

  • 起始索引:从0开始

计算公式:起始索引 = (当前页码-1)  *  每页显示的条数

tips:

  • 分页查询 limit 是MySQL数据库的方言
  • Oracle 分页查询使用 rownumber
  • SQL Server分页查询使用 top

 2.4 MySQL数据模型

关系型数据库

关系型数据库是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的 二维表 组成的数据库

优点

1、都是使用表结构,格式一致,易于维护。

2、使用通用的 SQL 语言操作,使用方便,可用于复杂查询。

3、数据存储在磁盘中,安全。

 

你可能感兴趣的:(mysql,java,数据库)