MySQL
文章平均质量分 86
介绍与MySQL以及其他的数据库相关的知识,仅限于学习使用,其参考的是http://www.atguigu.com/download_detail.shtml?v=349的康师傅的MySQL部分
桜キャンドル淵
凑个整,就1024吧
展开
-
JAVA【Apache-DBUtils实现CRUD】
* 自定义ResultSetHandler的实现类*/@Testtry {";//我们自己定义了一个handler并且重写了其中的方法//其实下面的query的返回值,其实就是我们现在这个当前方法的返回值// return new Customer(12, "成龙", "Jacky@126.com", new Date(234324234324L));}}};}}...原创 2022-08-10 09:57:49 · 200 阅读 · 0 评论 -
JAVA【数据库连接池】【MySQL】【c3p0】【DBCP】【Druid】
3.maxIdle:连接池中最大的空闲的连接数,超过的空闲连接将被释放,如果设置为负数表示不限制(默认为8个,maxIdle不能设置太小,因为假如在高负载的情况下,连接的打开时间比关闭的时间快,会引起连接池中idle的个数 上升超过maxIdle,而造成频繁的连接销毁和创建,类似于jvm参数中的Xmx设置)4.minIdle:连接池中最小的空闲的连接数,低于这个数量会被创建新的连接(默认为0,调整为5,该参数越接近maxIdle,性能越好,因为连接的创建和销毁,都是需要消耗资源的;...原创 2022-08-09 23:27:24 · 524 阅读 · 0 评论 -
JAVA【DAO及其实现类】
DAO:Data Access Object访问数据信息的类和接口,包括了对数据的CRUD(Create、Retrival、Update、Delete),而不包含任何业务相关的信息。有时也称作:BaseDAO作用:为了实现功能的模块化,更有利于代码的维护和升级。...原创 2022-08-09 11:00:24 · 2393 阅读 · 1 评论 -
JAVA【数据库事务】【MySQL】
事务的隔离性是指一个事务的执行不能被其他事务干扰,即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。用zhuyuan账户将我们cc的余额改成5000,(没有提交),这时再用root用户查询我们的cc的账户余额,就是5000了(这就是脏读)因为在结束的时候我们的下面那个test也没有提交committ,而连接也没有关,所以刚才的没有提交的临时数据是无效的。只有我们的root用户提交了,然后这就代表着root用户的当前事务关闭了,然后再次查询就是3000了。...原创 2022-08-08 22:38:43 · 1066 阅读 · 0 评论 -
JAVA【操作BLOB类型字段】【批量操作】
MySQL中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳不同大小的数据。插入BLOB类型的数据必须使用PreparedStatement,因为BLOB类型的数据无法使用字符串拼接写的。MySQL的四种BLOB类型(除了在存储的最大信息量上不同外,他们是等同的)...原创 2022-08-08 10:54:19 · 2164 阅读 · 0 评论 -
JAVA【JDBC】【使用PreparedStatement操作数据库】
这里我们是先连接到了我们上述的数据表,然后将数据表中的user和password的内容独取出来,然后编成sql语句,交给我们的mysql,并且如果查询失败就返回用户名不存在或者密码错误,如果查询成功就返回登陆成功。针对于不同的表我们想要获取到的查询数据的结构一定是不同的,所以我们需要在查询的时候将我们查询的结构传入,然后利用反射机制构造出对应的对象,然后将对应的对象返回。原来我们想表达的是 xx and xx是一个并且的关系,也就是我们的use和password同时正确的时候才返回结果。...原创 2022-08-07 21:00:05 · 4941 阅读 · 0 评论 -
JAVA【JDBC】
java.sql.Driver 接口是所有 JDBC 驱动程序需要实现的接口。这个接口是提供给数据库厂商使用的,不同数据库厂商提供不同的实现。在程序中不需要直接去访问实现了 Driver 接口的类,而是由驱动程序管理器类(java.sql.DriverManager)去调用这些Driver实现。...原创 2022-08-07 10:41:57 · 405 阅读 · 0 评论 -
MySQL【窗口函数】【共用表表达式】
如果a是b的管理者,那么,我们可以把b叫做a的下属,如果同时b又是c的管理者,那么c就是b的下属,是a的下下属。从下面的测试结果中我们可以看出我们的row_num中的第二行和第三行的排名是一样的,因为他们的价格是一样的,所以它们的排名都是2,而再下面一行的排名就变成了4。这里我们注意到与RANK()函数最大的区别就是,在我们下面的测试代码中第二行和第三行的价格是一样的,所以排名都是3,然后第四行的排名并不是从4开始,而是3。这里看似也是 3 步,实际上是一个查询的 3 个部分,只需要执行一次就可以了。...原创 2022-08-04 10:57:59 · 288 阅读 · 0 评论 -
MySQL【触发器】
MySQL从 5.0.2 版本开始支持触发器。MySQL的触发器和存储过程一样,都是嵌入到MySQL服务器的一段程序。触发器是由 事件来触发 某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会 自动 激发触发器执行相应的操作。当对数据表中的数据执行插入、更新和删除操作,需要自动执行一些数据库逻辑时,可以使用触发器来实现。1、触发器可以确保数据的完整性。...原创 2022-08-04 09:14:16 · 205 阅读 · 0 评论 -
MySQL【变量、流程控制与游标】
定义条件是事先定义程序执行过程中可能遇到的问题,处理程序定义了在遇到问题时应当采取的处理方式,并且保证存储过程或函数在遇到警告或错误时能继续执行。这样可以增强存储程序处理问题的能力,避免程序异常停止运行。说明:定义条件和处理程序在存储过程、存储函数中都是支持的。#2.1 错误演示:#错误代码: 1364出现如下的措施是因为我们设定的employees的email是不允许为空值的,而我们不传入email的数据,MySQL默认又是空值。#错误演示:BEGINEND //...原创 2022-08-03 17:35:43 · 151 阅读 · 0 评论 -
MySQL【存储过程与函数】
含义:存储过程的英文是 Stored Procedure。它的思想很简单,就是一组经过 预先编译 的 SQL 语句的封装。执行过程:存储过程预先存储在 MySQL 服务器上,需要执行的时候,客户端只需要向服务器端发出调用存储过程的命令,服务器端就可以把预先存储好的这一系列 SQL 语句全部执行。好处:1、简化操作,提高了sql语句的重用性,减少了开发程序员的压力2、减少操作过程中的失误,提高效率3、减少网络传输量(客户端不需要把所有的 SQL 语句通过网络发给服务器)...原创 2022-08-03 10:57:06 · 1323 阅读 · 0 评论 -
MySQL【视图】
视图一方面可以帮我们使用表的一部分而不是所有的表,另一方面也可以针对不同的用户制定不同的查询视图。比如,针对一个公司的销售人员,我们只想给他看部分数据,而某些特殊的数据,比如采购的价格,则不会提供给他。再比如,人员薪酬是个敏感的字段,那么只给某个级别以上的人员开放,其他人的查询视图中则不提供这个字段。视图是一种 虚拟表 ,本身是不具有数据的,占用很少的内存空间,它是 SQL 中的一个重要概念。视图建立在已有表的基础上, 视图赖以建立的这些表称为基表。...原创 2022-08-03 09:33:39 · 330 阅读 · 0 评论 -
MySQL【约束】
数据完整性(DataIntegrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条件限制。例如,同一个表中,不能存在两条完全相同无法区分的记录例如年龄范围0-120,性别范围“男/女”例如员工所在部门,在部门表中要能找到这个部门例如。...原创 2022-08-02 17:04:27 · 378 阅读 · 0 评论 -
MySQL【数据类型】
浮点数和定点数类型的特点是可以处理小数,你可以把整数看成小数的一个特例。因此,浮点数和定点数的使用场景,比整数大多了。MySQL支持的浮点数类型,分别是FLOAT、DOUBLE、REAL。FLOAT表示单精度浮点数;DOUBLE表示双精度浮点数;REAL默认就是DOUBLE。如果你把SQL模式设定为启用“REAL_AS_FLOAT”,那么,MySQL就认为REAL是FLOAT。MySQL存储浮点数的格式为符号(S)、尾数(M)和阶码(E)。#获取时间戳。...原创 2022-08-02 11:39:43 · 849 阅读 · 0 评论 -
MySQL【数据处理的增删改】
简单来说就是某一列的值是通过别的列计算得来的。例如,a列值为1、b列值为2,c列不需要手动插入,定义a+b的结果为c的值,那么c就是计算列,是通过别列计算得来的。这里我们修改了一下a的数据,我们发现我们的c会自动变化。...原创 2022-08-01 11:05:38 · 171 阅读 · 0 评论 -
MySQL【创建和管理表】
这里我们实际上是没有表book2的,如果实在MySQL5.0中,因为删除book1在删除book2前面,所以在删除book1之后我们的数据库就提交了操作记录,然后在发现数据库没有会报错,然后我们查看的时候就发现book1没了,但是如果我们在MySQL8.0的环境下,也就是我们下面的测试代码,我们发现我们的book1还在,这是因为MySQL8.0是先删除掉book1之后并没有提交,而是检查book2,发现book2没有之后,就报错,同时回滚删除book1的操作,所以我们的book11又回来了。...原创 2022-08-01 10:13:41 · 722 阅读 · 0 评论 -
MySQL【子查询】
1.由一个具体的需求,引入子查询#需求谁的工资比Abel的高?#方式1这里我们看到Abel的工资是11000,所以我们只需要查询工资大于11000的记录就可以了但是这样写效率非常低,那我们也可以使用自连接的方式做#方式2自连接WHEREe2.`salary`>e1.`salary`#多表的连接条件当然我们也可以使用下面的子查询来操作#方式3子查询);...原创 2022-07-31 12:59:53 · 369 阅读 · 0 评论 -
MySQL【聚合函数】
SQL函数还有一类,叫做聚合(或聚集、分组)函数,它是对一组数据进行汇总的函数,输入的是一组数据的集合,输出的是单个值。原创 2022-07-31 10:39:48 · 1124 阅读 · 0 评论 -
MySQL【单行函数】
不同的数据库之间的函数差别是很大的,这里我们所说的函数仅仅是针对于MySQL中的使用。MySQL提供的内置函数从实现的功能角度可以分为数值函数、字符串函数、日期和时间函数、流程控制函数、加密与解密函数、获取MySQL信息函数、聚合函数等。这里,我将这些丰富的内置函数再分为两类单行函数、聚合函数(或分组函数)。单行函数操作数据对象接受参数返回一个结果只对一行进行变换每行返回一个结果可以嵌套参数可以是一列或一个值。...原创 2022-07-30 16:23:34 · 251 阅读 · 0 评论 -
MySQL【多表查询】
可以,但是为什么不这样做呢,因为假设一个IT部门有300人,我们想要记录每一个员工的编号和员工所属的部门,所以我们创建了员工编号和所属部门两个字段,这是我们发现我们的所属部门字段在我们IT部门每一个人都是一样的,如果就这样存表的话,我们的表格就会显得非常的冗余。并且由于我们的内存是有限的,如果我们的字段越多,我们所能加载的记录就越少。比方说在下面的表中,我们公司的每一个员工都是有对应的员工id的,所以要查询员工的管理者的相关信息,就可以从员工的管理者id找到管理者的相关信息(管理者其实也是一个员工。...原创 2022-07-30 11:38:02 · 219 阅读 · 0 评论 -
MySQL【排序与分页】
为什么不能再where中使用呢?因为我们的MySQL在读取SQL语句的时候是先读取from,where语句,然后再读取select语句,然后再读取orderby语句,而我们起别名是在select语句中,所以from和where的时候还没有别名,所以会报错,但是在运行到orderby的时候已经有了别名,所以可以使用。...原创 2022-07-30 09:15:42 · 102 阅读 · 0 评论 -
MySQL【运算符】
例如,“x*”匹配任何数量的‘x’字符,“[0-9]*”匹配任何数量的数字,而“*”匹配任何数量的任何字符。算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加(+)、减(-)、乘(*)、除(/)和取模(%)运算。比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。如果等号两边的值、字符串或表达式都为字符串,则MySQL会按照字符串进行比较,其比较的是每个字符串中字符的ANSI编码是否相等。..原创 2022-07-29 23:13:10 · 387 阅读 · 0 评论 -
MySQL【基本select语句】
DDL(DataDefinitionLanguages、数据定义语言),这些语句定义了不同的数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。当我们输入下面的代码时,我们是将部门的ID和工资结合形成的一整个整体去去重,虽然这个语句没有报错,但是没啥实际意义。使用下面的代码去我们的数据库中查询的时候,我们会发现大量的重复的部门id,那么我们应该如何去除重复行呢?Type表示字段类型,这里barcode、goodsname是文本型的,price是整数类型的。...原创 2022-07-29 19:48:52 · 1013 阅读 · 0 评论 -
【MySQL】ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
个人猜测可能与MySQL对Mac本地的客户端的优化有关,不太清楚为啥上面那个客户端中点了startMySQLserver就是没啥反应。这里的话我们我们查看我们的mac端的系统偏好设置中的MySQL,点击startMysqlserver试图启动但是还是显示。这个报错就是在我好久都没有使用过MySQL之后,我使用。然后再次输入我们刚刚登录的指令,就可以成功登陆了。这里的话我们需要用到下面这条指令来进行操作。我们这里的MySQL也是显示连接上了。然后就可以看到它说启动成功了。无法连接到我的MySQL。...原创 2022-07-29 09:26:34 · 674 阅读 · 1 评论 -
sqlite3+python+navicat操作MySQL数据库
目录一、首先导入我们的数据包二、创建数据表三、输入数据四、从MySQL中读取数据五、如何使用我们的Navicat来查看我们的刚才创建的数据表一、首先导入我们的数据包import sqlite3import pandas as pd二、创建数据表//定义我们对数据库的操作,创建一个gdp的表格,其中包含以下四个字段//city字段包含的字符串长度为20//province字段,字符串长度为20//year字段类型为整型//gdp字段类型为四字节的浮.原创 2022-05-18 22:01:27 · 1736 阅读 · 14 评论 -
MySQL中的数据类型
数据类型是定义列中可以存储什么类型的数据以及该数据怎样存储的基本规则数据类型限制存储在数据列中的数据。例如,数值数据类型只能接收数值类型的是数据在设计表时,应该特别重视所用的数据类型。使用错误的数据类型可能会严重地影响应用程序的功能和性能。更改包含数据的列不是一件小事(而且这样做可能会导致数据丢失)。数据类型:整型、浮点型、字符串、日期等1、字符串数据类型字常用的数据类型是串数据类型能够存储串,比如名字、地址、电话号码、邮政编码等。不管使用何种形式的串数据类型,串值都必须括在原创 2022-05-14 21:43:16 · 683 阅读 · 9 评论 -
MySQL的简单使用(增删改查)
MySQL是我们的一个开源的数据库,我们可以使用MySQL来存储我们的数据。一、登录MySQL登录mysql,在终端输入以下命令,进行登录mysql -u root -p在输入我们的MySQL的登录密码之后,我们将就成功连接到了MySQL数据库二、对MySQL数据库的一些初级操作1、查看MySQL中的所有库使用如下代码查看我们的数据库show databases;2、打开需要使用的库使用我们的use+对应名字的库,就可以打开我们对应的数据库,这里我们打原创 2022-05-14 20:58:10 · 2005 阅读 · 15 评论