<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ticklzz的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ticklzz</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ticklzz]]></copyright><item><title><![CDATA[win10、win11家庭中文版共享打印机以及0x00000709报错]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/142414282</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/142414282</guid><author>ticklzz</author><pubDate>Sat, 21 Sep 2024 11:53:24 +0800</pubDate><description><![CDATA[7.输入gpedit.msc，计算机配置-windows设置-安全设置-本地策略-用户权限分配-拒绝从网络访问这台计算机，右键-> 属性 -> 删除 Guest 即可【或者双击，然后删除 Guest】。5.输入gpedit.msc，计算机配置-windows设置-安全设置-本地策略-安全选项-账户：使用空密码的本地账户只允许进行控制台登录，设置为已禁用。4.重启，win+r输入mmc,文件-添加或删除管理单元-本地用户和组-添加-确定，本地用户和组-用户-Guest-取消账户已禁用，默认保存。]]></description><category></category></item><item><title><![CDATA[数据库事务]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123220556</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123220556</guid><author>ticklzz</author><pubDate>Wed, 02 Mar 2022 02:02:39 +0800</pubDate><description><![CDATA[目录

概述

事务处理

事务的ACID属性

数据库的并发问题

四种隔离级别

在MySql中设置隔离级别



概述

事务：一组逻辑操作单元,使数据从一种状态变换到另一种状态。
	事务处理（事务操作）：保证所有事务都作为一个工作单元来执行，即使出现了故障，都不能改变这种执行方式。当在一个事务中执行多个操作时，要么所有的事务都被提交(commit)，那么这些修改就永久地保存下来；要么数据库管理系统将放弃所作的所有修改，整个事务回滚(rollback)到最初状态。
为确保数据库中数据的一致性，数据的操]]></description><category></category></item><item><title><![CDATA[sql语句批量插入]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123220552</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123220552</guid><author>ticklzz</author><pubDate>Wed, 02 Mar 2022 02:00:53 +0800</pubDate><description><![CDATA[目录

批量处理语句

实现方式

方式1

方式2



批量处理语句

JDBC的批量处理语句包括下面三个方法：

addBatch(String)：添加需要批量处理的SQL语句或是参数；
	executeBatch()：执行批量处理语句；
clearBatch():清空缓存的数据


实现方式

方式1

/*

* 修改1： 使用 addBatch() / executeBatch() / clearBatch()

* 修改2：mysql服务器默认是关闭批处理的，我们需要通过一个参数，让mysql]]></description><category></category></item><item><title><![CDATA[操作BLOB数据]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123220546</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123220546</guid><author>ticklzz</author><pubDate>Wed, 02 Mar 2022 01:59:11 +0800</pubDate><description><![CDATA[目录

MySQL BLOB类型

插入修改大数据类型

从数据表中读取大数据类型



MySQL BLOB类型

MySQL中，BLOB是一个二进制大型对象，是一个可以存储大量数据的容器，它能容纳不同大小的数据。
	插入BLOB类型的数据必须使用PreparedStatement，因为BLOB类型的数据无法使用字符串拼接写的。
MySQL的四种BLOB类型(除了在存储的最大信息量上不同外，他们是等同的)


实际使用中根据需要存入的数据大小定义不同的BLOB类型。
	需要注意的是：如果存储的文件过大，数]]></description><category></category></item><item><title><![CDATA[PreparedStatement实现CRUD操作]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123220539</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123220539</guid><author>ticklzz</author><pubDate>Wed, 02 Mar 2022 01:57:00 +0800</pubDate><description><![CDATA[目录

java.sql 包中有 3 个接口的区别

Statement：

PrepatedStatement：

CallableStatement：用于执行 SQL 存储过程



java.sql 包中有 3 个接口的区别



Statement：

用于执行静态 SQL 语句并返回它所生成结果的对象。

使用Statement操作数据表存在弊端：

问题一：存在拼串操作，繁琐
	问题二：存在SQL注入问题
PrepatedStatement：

SQL 语句被预编译并存储在此对象中，可以使用此对]]></description><category></category></item><item><title><![CDATA[获取数据库连接]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123220535</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123220535</guid><author>ticklzz</author><pubDate>Wed, 02 Mar 2022 01:55:36 +0800</pubDate><description><![CDATA[目录

要素一：Driver接口介绍

要素二：URL

要素三：用户名和密码

数据库连接方式（最终版）



要素一：Driver接口介绍

java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的，不同数据库厂商提供不同的实现。
	在程序中不需要直接去访问实现了 Driver 接口的类，而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现。
com.mysql.jdbc.cj.Driver



要素二：]]></description><category></category></item><item><title><![CDATA[JDBC概述]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123220530</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123220530</guid><author>ticklzz</author><pubDate>Wed, 02 Mar 2022 01:54:00 +0800</pubDate><description><![CDATA[目录

Java中的数据存储技术

JDBC介绍

JDBC体系结构

JDBC编写步骤（图解）



Java中的数据存储技术

在Java中，数据库存取技术可分为如下几类：

JDBC直接访问数据库
	JDO (Java Data Object )技术
第三方O/R工具，如Hibernate, Mybatis 等
JDBC是java访问数据库的基石，JDO、Hibernate、MyBatis等只是更好的封装了JDBC。



JDBC介绍

JDBC(Java Database Connectivity]]></description><category></category></item><item><title><![CDATA[MySQL触发器简述]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123192526</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123192526</guid><author>ticklzz</author><pubDate>Mon, 28 Feb 2022 21:17:18 +0800</pubDate><description><![CDATA[概述

触发器是由 事件来触发 某个操作，这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。所谓事件就是指 用户的动作或者触发某项行为。如果定义了触发程序，当数据库执行这些语句时候，就相当于事件发生 了，就会 自动 激发触发器执行相应的操作。

当对数据表中的数据执行插入、更新和删除操作，需要自动执行一些数据库逻辑时，可以使用触发器来 实现。



触发器的创建

CREATE TRIGGER 触发器名称

{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON]]></description><category></category></item><item><title><![CDATA[变量、流程控制与游标]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123191872</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123191872</guid><author>ticklzz</author><pubDate>Mon, 28 Feb 2022 20:50:54 +0800</pubDate><description><![CDATA[目录

变量

系统变量

系统变量分类

查看指定的系统变量

修改系统变量的值

用户变量

用户变量分类

会话用户变量

局部变量

对比会话用户变量与局部变量

定义条件与处理程序（省略）

流程控制

分支结构之 IF

分支结构之 CASE

循环结构之LOOP

循环结构之WHILE

循环结构之REPEAT

跳转语句之LEAVE语句

跳转语句之ITERATE语句

游标

用法：



变量

分为系统变量、用户自定义变量



系统变量

不是用户自定义，属于服务器层面。

系统变量]]></description><category></category></item><item><title><![CDATA[存储过程与存储函数]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123191245</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123191245</guid><author>ticklzz</author><pubDate>Mon, 28 Feb 2022 20:24:20 +0800</pubDate><description><![CDATA[目录

存储过程

使用存储过程的好处

和视图、函数的对比

分类

创建存储过程

调用存储过程

存储函数

用法：

调用存储函数



存储过程

使用存储过程的好处

1、简化操作，提高了sql语句的重用性，减少了开发程序员的压力

2、减少操作过程中的失误，提高效率

3、减少网络传输量（客户端不需要把所有的 SQL 语句通过网络发给服务器）

4、减少了 SQL 语句暴露在 网上的风险，也提高了数据查询的安全性



和视图、函数的对比

它和视图有着同样的优点，清晰、安全，还可以减少网络传]]></description><category></category></item><item><title><![CDATA[MySQL视图的讲解]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123190844</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123190844</guid><author>ticklzz</author><pubDate>Mon, 28 Feb 2022 20:07:26 +0800</pubDate><description><![CDATA[目录

为什么使用试图

创建视图

视图的优点



为什么使用试图

视图一方面可以帮我们使用表的一部分而不是所有的表，另一方面也可以针对不同的用户制定不同的查 询视图。比如，针对一个公司的销售人员，我们只想给他看部分数据，而某些特殊的数据，比如采购的 价格，则不会提供给他。再比如，人员薪酬是个敏感的字段，那么只给某个级别以上的人员开放，其他 人的查询视图中则不提供这个字段。

刚才讲的只是视图的一个使用场景，实际上视图还有很多作用。最后，我们总结视图的优点。



创建视图



用法：

CREAT]]></description><category></category></item><item><title><![CDATA[MySQL的约束详解]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123190456</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123190456</guid><author>ticklzz</author><pubDate>Mon, 28 Feb 2022 19:51:57 +0800</pubDate><description><![CDATA[为什么需要约束

数据完整性（Data Integrity）是指数据的精确性（Accuracy）和可靠性（Reliability）。它是防止数据库中 存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。



SQL规范以约束的方式对表数据进行额外的条件限制 

实体完整性（Entity Integrity） ：例如，同一个表中，不能存在两条完全相同无法区分的记录

域完整性（Domain Integrity） ：例如：年龄范围0-120，性别范围“男/女”

引用完整性（Re]]></description><category></category></item><item><title><![CDATA[数据处理之增删改]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123171133</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123171133</guid><author>ticklzz</author><pubDate>Sun, 27 Feb 2022 21:41:50 +0800</pubDate><description><![CDATA[目录

插入数据

更新数据

删除数据

MySQL8新特性：计算列



插入数据

方式1：

INSERT INTO 表名

VALUES (value1,value2,....);



方式2：

INSERT INTO 表名(column1 [, column2, …, columnn])

VALUES (value1 [,value2, …, valuen]);



方式3：

INSERT INTO table_name

VALUES (value1 [,value2, …, val]]></description><category></category></item><item><title><![CDATA[创建和管理表]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123170387</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123170387</guid><author>ticklzz</author><pubDate>Sun, 27 Feb 2022 21:02:36 +0800</pubDate><description><![CDATA[一条数据的存储过程





MySQL中的数据类型





创建数据库的三种方式





创建表

方式1：创建新表





方式2： 根据已有表的结构创建





修改表

向已有的表中添加列 add
	修改现有表中的列 modify
删除现有表中的列 drop
	重命名现有表中的列 change
重命名表明 rename to（可省略）


删除表


DROP TABLE dept80; --不可以回滚



清空表


TRUNCATE TABLE detail_dept; --不可以回滚]]></description><category></category></item><item><title><![CDATA[MySQL子查询]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123168540</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123168540</guid><author>ticklzz</author><pubDate>Sun, 27 Feb 2022 19:10:22 +0800</pubDate><description><![CDATA[子查询的基本使用



子查询（内查询）在主查询之前一次执行完成。
	子查询的结果被主查询（外查询）使用 。
注意事项
子查询要包含在括号内

将子查询放在比较条件的右侧

单行操作符对应单行子查询，多行操作符对应多行子查询



子查询的分类

单行子查询




SELECT department_id, MIN(salary)

FROM employees

GROUP BY department_id

HAVING MIN(salary) &gt;

(SELECT MIN(salary)

F]]></description><category></category></item><item><title><![CDATA[MySQL聚合函数及SELECT过程]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123166893</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123166893</guid><author>ticklzz</author><pubDate>Sun, 27 Feb 2022 17:13:54 +0800</pubDate><description><![CDATA[目录

什么是聚合函数

GROUP BY

WITH ROLLUP

HAVING

WHERE和HAVING的对比

SELECT的执行过程

关键字的编写顺序

SELECT语句的执行顺序



什么是聚合函数

聚合函数作用于一组数据，并对一组数据返回一个值。



问题：用count(*)，count(1)，count(列名)谁好呢? 

其实，对于MyISAM引擎的表是没有区别的。这种引擎内部有一计数器在维护着行数。 Innodb引擎的表用count(*),count(1)直接读行数，复杂度是O]]></description><category></category></item><item><title><![CDATA[SQL92和SQL99多表查询]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123159330</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123159330</guid><author>ticklzz</author><pubDate>Sun, 27 Feb 2022 01:56:47 +0800</pubDate><description><![CDATA[笛卡尔积的错误



笛卡尔积：

笛卡尔乘积是一个数学运算。假设我有两个集合 X 和 Y，那么 X 和 Y 的笛卡尔积就是 X 和 Y 的所有可能 组合，也就是第一个对象来自于 X，第二个对象来自于 Y 的所有可能。组合的个数即为两个集合中元素 个数的乘积数。



产生笛卡尔积的原因：

省略多个表的连接条件（或关联条件）
	连接条件（或关联条件）无效
所有表中的所有行互相连接


解决笛卡尔积的方法：

在WHERE中加入有效的连接条件

SELECT table1.column, table2.co]]></description><category></category></item><item><title><![CDATA[排序与分页]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123158699</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123158699</guid><author>ticklzz</author><pubDate>Sun, 27 Feb 2022 00:08:37 +0800</pubDate><description><![CDATA[目录

排序基本用法

单列排序

多列排序

分页的目的

分页的基本用法

分页显示公式

使用limit的好处



排序基本用法

使用 ORDER BY 子句排序

ASC（ascend）: 升序

DESC（descend）:降序

ORDER BY 子句在SELECT语句的结尾。

可以使用不在SELECT列表中的列排序。



单列排序


SELECT last_name, job_id, department_id, hire_date

FROM employees

ORDER BY]]></description><category></category></item><item><title><![CDATA[Mysql运算符]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123158228</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123158228</guid><author>ticklzz</author><pubDate>Sat, 26 Feb 2022 23:28:19 +0800</pubDate><description><![CDATA[目录

+号的辨析

比较运算符

逻辑运算符

位运算符

运算符优先级

正则表达式



+号的辨析

在Java中，+的左右两边如果有字符串，那么表示字符串的拼接。但是在MySQL中+只表示数 值相加。如果遇到非数值类型，先尝试转成数值，如果转失败，就按0计算。（补充：MySQL 中字符串拼接要使用字符串函数CONCAT()实现）



比较运算符



比较的结果为真则返回1，比较的结果 为假则返回0，其他情况则返回NULL。



1.等号运算符 = 、 &lt;=&gt;

规则：

如果等号]]></description><category></category></item><item><title><![CDATA[基本的select语句]]></title><link>https://blog.youkuaiyun.com/ticklzz/article/details/123157224</link><guid>https://blog.youkuaiyun.com/ticklzz/article/details/123157224</guid><author>ticklzz</author><pubDate>Sat, 26 Feb 2022 22:10:32 +0800</pubDate><description><![CDATA[目录



SQL语言的分类：

SQL大小写的规范（建议遵守）

注释

数据导入指令

基本的select语句



SQL语言的分类：

DDL（Data Definition Languages、数据定义语言），这些语句定义了不同的数据库、表、视图、索 引等数据库对象，还可以用来创建、删除、修改数据库和数据表的结构。
主要的语句关键字包括 CREATE 、 DROP 、 ALTER 等。

DML（Data Manipulation Language、数据操作语言），用于添加、删除、更新和查询数据库]]></description><category></category></item></channel></rss>