![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据库
文章平均质量分 83
数据库入门学习
溪午闻璐
合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下
展开
-
Navicat:设置Oracle数据库主键自增
Oracle数据库主键自增原创 2022-06-20 09:17:21 · 7010 阅读 · 2 评论 -
Mybatis错误:Error setting non null for parameter #4 with JdbcType null
mybatis报错:Error setting non null for parameter原创 2022-06-19 15:55:06 · 4099 阅读 · 1 评论 -
MySql时间粒度下分组统计
# 我们在做项目或者数据分析时,经常遇到这样的需求:统计不同时间粒度下的数据分布情况-- 按照不同时间粒度进行分组统计-- 按天SELECT date(`下单日期时间`) as date1 ,count(1) as num from ordersgroup by date(`下单日期时间`)order by date1 asc;-- 按照每小时SELECT date_format(`下单日期时间`,'%Y-%m-%d %H:00:00') as date2.转载 2022-04-12 10:20:10 · 260 阅读 · 0 评论 -
MyBatis学习:存储过程
一、存储过程1CREATE PROCEDURE `select_user_by_id`( IN userId BIGINT, OUT userName VARCHAR(50), OUT userPassword VARCHAR(50), OUT userEmail VARCHAR(50), OUT userInfo TEXT, OUT headImg BLOB, OUT createTime DATETIME)BEGIN -- 根据用户id查询数据 SELECT user_nam原创 2022-02-11 11:13:35 · 8340 阅读 · 3 评论 -
MyBatis学习:高级查询(一对一映射)
一、一对一映射假设在权限系统中,一个用户只能拥有一个角色,即用户和角色之间的关系限制为一对一的关系。1.1 使用自动映射处理一对一关系一个用户拥有一个角色,我们在用户类SysUser中添加角色类SysRole字段。如下:public class SysUser { ...原有字段 /** * 用户角色 */ private SysRole role; public SysRole getRole() { ...原创 2022-02-10 15:03:20 · 552 阅读 · 0 评论 -
MyBatis学习:动态SQL
MyBatis 的强大特性之一便是它的动态SQL。一、if用法:if 标签通常用于WHERE语句中,通过判断参数值来决定是否使用某个查询条件,它也经常用于UPDATE语句中判断是否更新某一个字段, 还可以在INSERT 语句中用来判断是否插入某个字段的值。1.1 WHERE条件中使用IF假设现在有一个需求: 实现一个用户管理高级查询功能,根据输入的条件去检索用户信息。这个功能还需要支持以下三种情况: 当只输入用户名时,需要根据用户名进行模糊查询;当只输入邮箱时...原创 2022-02-09 17:07:42 · 1246 阅读 · 0 评论 -
MySql入门学习:JOIN
一、JOIN用法JOIN用来连接两张表,大致分为内连接,外连接,右连接,左连接,自然连接。如下图所示:1.1笛卡儿积(cartesian product)要理解各种JOIN首先要理解笛卡尔积。笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起。所以,如果A表有n条记录,B表有m条记录,笛卡尔积产生的结果就会产生n*m条记录。如下示例,t_type有5条记录,所有他们俩的笛卡尔积有50条记录。产生笛卡尔积的方式如下:SE...原创 2022-02-09 10:23:10 · 165 阅读 · 0 评论 -
MyBaties学习:XML配置
一、XML方式MyBatis 的真正强大之处在于它的映射语句,这也是它的魔力所在。由于它的映射语句异常强大,映射器的XML 文件就显得相对简单。如果将其与具有相同功能的JDBC 代码进行对比, 立刻就会发现,使用这种方法节省了将近95%的代码量。 MyBatis 就是针对SQL构建的,并且比普通的方法做的更好。MyBatis 3.0 的一个最大变化,就是支持使用接口来调用方法。MyBatis 使用Java 的动态代理可以直接通过接口来调用相应的方法,不需要提供接口的实...原创 2022-02-08 16:40:05 · 2986 阅读 · 0 评论 -
MyBatis学习:配置示例
一、配置原创 2022-02-08 09:30:12 · 314 阅读 · 0 评论 -
MySql入门学习:数据类型
数据类型是定义列中可以存储什么数据以及该数据实际怎样存储的基本规则,MySQL提供的数据类型包括数值类型(整数类型和小数类型)、字符串类型、日期类型、复合类型(复合类型包括enum类型和set类型)以及二进制类型 。一、字符串数据类型有两种基本的字符串类型,分别为定长字符串和变长字符串,定长串接受长度固定的字符串,其长度是在创建表时指定的。变长串存储可变长度的文本。有些变长数据类型具有最大的定长,而有些则是完全变长的。数据类型 说明 char(n) ...原创 2022-02-07 14:59:56 · 517 阅读 · 0 评论 -
MySql入门学习:事务处理
一、事务处理事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。事务处理是一种机制,用来管理必须成批执行的MySQL操作,以保证数据库不包含不完整的操作结果。利用事务处理,可以保证一组操作不会中途停止,它们或者作为整体执行,或者完全不执行(除非明确指示)。如果没有错误发生,整组语句提交给(写到)数据库表。如果发生错误,则进行回退(撤销)以恢复数据库到某个已知且安全的状态。...原创 2022-02-07 10:33:53 · 2294 阅读 · 0 评论 -
MySql入门学习:存储过程、游标及触发器
一、存储过程大多数SQL语句都是针对一个或多个表的单条语句。但是,并非所有操作都这么简单,经常会有一个完整的操作需要多条语句才能完成。例如,如下情形:为了处理订单,需要核对以保证库存中有相应的物品。 如果库存有物品,这些物品需要预定以便不将它们再卖给别的人,并且要减少可用的物品数量以反映正确的库存量。 库存中没有的物品需要订购,这需要与供应商进行某种交互。 关于哪些物品入库(并且可以立即发货)和哪些物品退订,需要通知相应的客户。执行这个处理需要针对许多表的多条MySQ...原创 2022-02-06 16:30:57 · 734 阅读 · 1 评论 -
MySql入门学习:视图
一、视图视图是虚拟的表。与包含数据的表不一样,视图包含的不是数据,而是根据需要动态检索数据的查询(即其包含的是一个SQL查询)。使用视图的目的:重用SQL语句 简化复杂的SQL操作。在编写查询后,可以方便地重用它而不必知道它的基本查询细节。 使用表的组成部分而不是整个表 保护数据。可以给用户授予表的特定部分的访问权限而不是整个表的访问权限。 更改数据格式和表示。视图可返回与底层表的表示和格式不同的数据。在视图创建之后,可以用与表基本相同的方式利用它们...原创 2022-02-06 10:23:03 · 247 阅读 · 0 评论 -
MySQL入门学习:创建和操纵表
一、创建表MySQL不仅用于表数据操纵,而且还可以用来执行数据库和表的所有操作,包括表本身的创建和处理。一般有两种创建表的方法:使用具有交互式创建和管理表的工具(如Navicat for MySql) 表也可以直接用MySQL语句操纵为了用程序创建表,可使用SQL的CREATE TABLE语句。为利用CREATE TABLE创建表,必须给出下列信息:新表的名字,在关键字CREATE TABLE之后给出 表列的名字和定义,用逗号分隔。CREATE T...原创 2022-02-05 16:49:00 · 568 阅读 · 0 评论 -
MySql入门学习:数据更新
一、插入数据原创 2022-02-05 15:46:44 · 854 阅读 · 0 评论 -
MySQL入门学习:组合查询
一、组合查询多数SQL查询都只包含从一个或多个表中返回数据的单条SELECT语句。MySQL也允许执行多个查询(多条SELECT语句),并将结果作为单个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)。两种基本情况,需要使用组合查询:在单个查询中从不同的表返回类似结构的数据; 对单个表执行多个查询,按单个查询返回数据。1.1 创建组合查询可用UNION操作符来组合数条SQL查询,利用UNION,可给出多...原创 2022-02-05 14:30:06 · 1445 阅读 · 0 评论 -
MySQL入门学习:子查询
一、子查询SQL允许创建子查询(subquery),即嵌套在其他查询中的查询。1.1 利用子查询进行过滤 我们有两个表,orders表包含订单号、客户ID、订单日期。而各订单的物品存储在相关的orderitems表中。即orders表不存储客户信息。它只存储客户的ID。实际的客户信息存储在customers表中。假如我们需要列出订购物品TNT2的所有客户,那么我们需要进行如下的检索:检索orderitems表中包含物品TNT2的所有订单的编号。 在ord...原创 2022-02-05 13:48:57 · 1131 阅读 · 0 评论 -
MySQL入门学习:函数
一、计算字段存储在数据库表中的数据一般不是应用程序所需要的格式。如下几个例子:如果想在一个字段中既显示公司名,又显示公司的地址,但这两个信息一般包含在不同的表列中。 城市、州和邮政编码存储在不同的列中(应该这样),但邮件标签打印程序却需要把它们作为一个恰当格式的字段检索出来。 列数据是大小写混合的,但报表程序需要把所有数据按大写表示出来。 物品订单表存储物品的价格和数量,但不需要存储每个物品的总价格(用价格乘以数量即可)。为打印发票,需要物品的总价格。 需要根据表数据进行总数、平均数计...原创 2022-02-05 09:14:02 · 346 阅读 · 0 评论 -
MySql入门学习:过滤数据
一、WHERE子句数据库表一般包含大量的数据,很少需要检索表中所有行。通常只会根据特定操作或报告的需要提取表数据的子集。只检索所需数据需要指定搜索条件(search criteria),搜索条件也称为过滤条件(filter condition)。在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤。如下:SELECT prod_price,prod_name FROM products WHERE prod_price=2.5;1.1 ...原创 2022-02-04 14:51:49 · 848 阅读 · 0 评论 -
MySQL入门学习:SELECT数据检索
一、数据库概述 数据库是一个以某种有组织的方式存储的数据集合。理解数据库的一种最简单的办法是将其想象为一个文件柜。此文件柜是一个存放数据的物理位置,不管数据是什么以及如何组织的。 数据库(database):保存有组织的数据的容器(通常是一个文件或一组文件)。1.1 表 表(table): 某种特定类型数据的结构化清单。通常我们将资料放入自己的文件柜时,并不是随便将它们扔进某个抽屉就完事了,而是在文件柜中创建文件,然后将相关的资...原创 2022-02-04 11:27:04 · 445 阅读 · 0 评论 -
DBUtils数据插入报:‘,‘ 附近有语法错误
本文记录一个在使用DBUtils工具更新数据库数据时遇到的一个异常;具体的异常信息为:sqlserver.jdbc.SQLServerException: “,”附近有语法错误。 这个坑爹的错误找了一个下午都没找出来原因,sql语句非常简单,不可能出错!最后,在请教其他人之后,终于的到解决,特此记录!问题描述: 使用DBUtils工具对sqlserver数据进行更新操作时,报错: sqlserver.jdbc.SQLSer...原创 2021-12-06 17:49:16 · 1559 阅读 · 0 评论