千家信息网

Java数据库知识点有哪些

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要介绍"Java数据库知识点有哪些",在日常操作中,相信很多人在Java数据库知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java数据库知识点有
千家信息网最后更新 2026年11月04日Java数据库知识点有哪些

这篇文章主要介绍"Java数据库知识点有哪些",在日常操作中,相信很多人在Java数据库知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java数据库知识点有哪些"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

知识点1:SQL的select语句完整的执行顺序。

(1)from子句组装来自不同数据源的数据;

(2)where子句基于指定的条件对记录行进行筛选;

(3)group by子句将数据划分为多个分组;

(4)使用聚集函数进行计算;

(5)使用having子句筛选分组;

(6)计算所有的表达式;

(7)select的字段;

(8)使用order by对结果集进行排序。

知识点2:SQL 之聚合函数

聚合函数是对一组值进行计算并返回单一的值的函数,它经常与select语句中的group by子句一同使用。

(1)avg():返回的是指定组中的平均值,空值被忽略。

(2)count():返回的是指定组中的项目个数。

(3)max():返回指定数据中的最大值。

(4)min():返回指定数据中的最小值。

(5)sum():返回指定数据的和,只能用于数字列,空值忽略。

(6)group by():对数据进行分组,对执行完group by之后的组进行聚合函数的运算,计算每一组的值。最后用having 去掉不符合条件的组,having子句中的每一个元素必须出现在select列表中。

知识点3:SQL之连接查询

外连接:

左连接(左外连接):以左表作为基准进行查询,左表数据会全部显示出来,右表如果和左表匹配的数据则显示相应字段的数据,如果不匹配则显示为 null。

右连接(右外连接):以右表作为基准进行查询,右表数据会全部显示出来,左表如果和右表匹配的数据则显示相应字段的数据,如果不匹配则显示为 null。

全连接:先以左表进行左外连接,再以右表进行右外连接。

内连接:显示表之间有连接匹配的所有行。

知识点4:SQL之sql注入

通过在 Web 表单中输入(恶意)SQL 语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行 SQL 语句。举例:当执行的 sql 为 select * from user where username = "admin" or "a"="a"时,sql 语句恒成立,参数 admin 毫无意义。防止 sql 注入的方式:

(1)预编译语句:如,select * from user where username = ?,sql 语句语义不会发生改变,sql 语句中变量用?表示,即使传递参数时为"admin or ‘a’= ‘a’",也会把这整体当做一个字符创去查询。

(2)Mybatis 框架中的 mapper 方式中的 # 也能很大程度的防止 sql 注入($无法防止 sql 注入)。

知识点5:Mysql性能优化

(1)当只要一行数据时使用 limit 1

查询时如果已知会得到一条数据,这种情况下加上 limit 1 会增加性能。因为 mysql 数据库引擎会在找到一条结果停止搜索,而不是继续查询下一条是否符合标准直到所有记录查询完毕。

(2)选择正确的数据库引擎

Mysql 中有两个引擎 MyISAM 和 InnoDB,每个引擎有利有弊。MyISAM 适用于一些大量查询的应用,但对于有大量写功能的应用不是很好。甚至你只需要update 一个字段整个表都会被锁起来。而别的进程就算是读操作也不行要等到当前 update 操作完成之后才能继续进行。另外,MyISAM 对于 select count(*)这类操作是超级快的。

InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应用会比 MyISAM 还慢,但是支持"行锁",所以在写操作比较多的时候会比较优秀。并且,它支持很多的高级应用,例如:事物。

(3)用 not exists 代替 not in

Not exists 用到了连接能够发挥已经建立好的索引的作用,not in 不能使用索引。Not in 是最慢的方式要同每条记录比较,在数据量比较大的操作红不建议使用这种方式。

(4)对操作符的优化,尽量不采用不利于索引的操作符

如:in not in is null is not null <>等某个字段总要拿来搜索,为其建立索引:Mysql 中可以利用 alter table 语句来为表中的字段添加索引,语法为:alter table 表明add index (字段名);

知识点6:Mysql 数据库架构图

知识点7:Mysql性能优化

下面代码创建了一个叫 pr_add 的 MySQL 存储过程,这个 MySQL 存储过程有两个 int 类型的输入参数"a"、"b",返回这两个参数的和。

(1)drop procedure if exists pr_add; (备注:如果存在 pr_add 的存储过程,则先删掉)

(2)计算两个数之和(备注:实现计算两个整数之和的功能)

create procedure pr_add ( a int, b int ) begin declare c int; if a is null then set a = 0;

end if;

if b is null then set b = 0; end if;

set c = a + b;

select c as sum;

知识点8:MySQL 中文乱码问题完美解决方案

解决乱码的核心思想是统一编码。我们在使用 MySQL 建数据库和建表时应尽量使用统一的编码,强烈推荐的是 utf8 编码,因为该编码几乎可以兼容世界上所有的字符。

数据库在安装的时候可以设置默认编码,在安装时就一定要设置为 utf8 编码。设置之后再创建的数据库和表如果不指定编码,默认都会使用 utf8 编码,省去了很多麻烦。数据库软件安装好之后可以通过如下命令查看默认编码:

(1)查询数据库软件使用的默认编码格式

show variables like "%colla%";

show varables like "%char%"

(2)修改数据库默认编码为 utf8

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_results='utf8';

(3)创建数据库的时候指定使用 utf8 编码

CREATE DATABASE `test`

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci';

(4)创建表的时候指定使用 utf8 编码

CREATE TABLE `database_user` (

`ID` varchar(40) NOT NULL default '',

`UserID` varchar(40) NOT NULL default '',

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

(5)修改具体某数据库或表的编码

ALTER DATABASE `db_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER TABLE `tb_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

到此,关于"Java数据库知识点有哪些"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 数据库 编码 知识 知识点 语句 查询 字段 子句 两个 函数 引擎 索引 参数 方式 时候 存储 学习 应用 性能 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 蓝思科技飞鸽互联网 互联网科技工作委员会毛军 世界互联网领先科技成果 互联网女皇 腾讯科技 科技互联网公司logo 深圳期待互联网科技 互联网科技大会案例 科技类的互联网平台 北京华百购互联网科技有限公司 宁夏科技产业互联网案例 朱啸虎曾投资哪些互联网科技企业 互联网科技如何创业 山东有哪些互联网科技公司 智帮互联网科技公司最近动向 杭州披云加互联网科技有限公司 扫呗互联网科技有限公司 云南互联网科技学费 利用互联网等科技手段 广州全民伙伴互联网科技有限公司 科技互联网产品 大白互联网科技 国外互联网科技网站 互联网为啥属于高科技 荆州市昕露互联网络科技有限公司 知域互联网科技有限公司大骗子 浙南科技城互联网大厦建设工程 四川慕妮娅互联网科技有限公司 北京市互联网新科技 互联网安防科技感
0