![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
乔木晨子
花落花开又一轮回,化茧成蝶飞得更美
展开
-
win10 cmd导入oracle dmp 数据文件
imp system/123456@213.234.12.32/mydb file=D:\example.dmp full=y ignore=yimp 用户名/密码@主机ip地址/数据库名称(实例) file=文件名全路径 full=y ignore=y前提是这个用户拥有dba权限和导入的权限原创 2022-04-07 11:41:47 · 630 阅读 · 1 评论 -
sqlserver 建表语句
CREATE TABLE [dbo].[teacher]( [teacher_id] [tinyint] IDENTITY(1,1) NOT NULL, [teacher_name] [nvarchar](max) NOT NULL DEFAULT (N'无'), [gender] [nvarchar](max) NOT NULL DEFAULT (N'无'), [birthday] [date] DEFAULT (N'1990-01-01'), [address.原创 2022-03-12 16:02:53 · 9158 阅读 · 1 评论 -
文件导入需要添加工序,以备不时之需
//获取excel里面的对象的工序名称(由于工序名称可以重复,所以此处的编码就可能出错了)String processName = e.getProcessName();//使用这个工序名称查询工序对象,再得到其工序编码String processHql = "select t from TmProcessStep t where t.stepName = ?";List<TmProcessStep> processStepList = tmProcessStepService.fin.原创 2022-03-01 18:13:32 · 227 阅读 · 0 评论 -
mysql动态获取列(使用存储过程版)
1.先看sql(创建一个存储过程的实际代码)第一行的“root”是你mysql的用户名、“p_test2”是函数名CREATE DEFINER=`root`@`localhost` PROCEDURE `p_test2`()BEGIN SET @num1 = NULL;/*定义变量*/ SET SESSION group_concat_max_len =1024*10; /*为拼接字符的函数设置最大长度*/ SELECT GROUP_CONCAT(DISTINCT /*将去重后的所有的n原创 2021-06-11 14:21:37 · 731 阅读 · 2 评论 -
mysql 一句SQL批量插入数据(存储过程,循环插入)
-- 如果该名字存储过程已存在,则删除DROP PROCEDURE IF EXISTS proc_initData1;-- 创建CREATE PROCEDURE proc_initData1 () BEGIN -- 声明一堆变量 DECLARE i INT DEFAULT 0; DECLARE uid VARCHAR ( 255 ) DEFAULT 0; DECLARE count DECIMAL(20,8) DEFAULT 0; DECLARE op INT.原创 2021-05-12 16:45:09 · 1353 阅读 · 0 评论 -
MySQL with 写法
1.with 写法,让两个表的相同等级人数相除统计出两张表每个等级的人数,再使用等级进行join,再计算。with t1 as ( select emp.emp_level as type, count(emp.id) as n from emp group by emp.emp_level),t2 as ( select d.depot_level as type, count(d.id原创 2021-05-12 09:51:22 · 21819 阅读 · 3 评论 -
mysql查询出当前年份的12个月
1.核心的部分-- 不依赖任何表,只是用mysql自带函数方法select concat((select year(now())),'01') as '月份'union select concat((select year(now())),'02')union select concat((select year(now())),'03')union select concat((select year(now())),'04')union select concat((select yea原创 2021-04-19 17:49:03 · 3668 阅读 · 1 评论 -
mysql语句的一些例子
1.inner join就是在去除关联完后出现的null值情况,本身就是一个交集的存在。select st.* from student st inner join score sc on sc.s_id = st.s_idinner join course c on c.c_id=sc.c_id and c.c_id="01"where st.s_id in ( select st2.s_id from student st2 inner join score sc2 on原创 2021-04-16 08:53:52 · 219 阅读 · 0 评论 -
2020-10-21开发过程中oracle的低级错误
1.需要在实体类上面加上@TableId("")放在实体类主键字段上面;@TableName("")放在实体类的类名上面一定要为当前实体类指定数据库的表名和表名的主键字段不然会报错,近似意思是,没有这个主键的setter属性,即代码往数据库更新时在数据库找到了主键,但是在实体类上面又没找到。2.在执行insert时计划出入的字段数量和实际想要插入的字段数量要相同,不然报错,近似意思是字段数量不够用。即insert into xxx (n个字段) values(m个字段),此时报错:字段数量不够用原创 2020-10-21 15:41:45 · 107 阅读 · 0 评论 -
oracle使用序列作为id在插入数据时使用(nextval)
1.插入一条数据时//在selectkey这个标签里面有一个inoutid可以认为是“从前端传来的”,等会在实际的sql里面使用#{}使用到//还是在这个标签里面有个返回值类型,既然这里需要的id,而且查出来的也是id,返回值也就是long类型了//最后有一个before,就是在实际sql执行之前就是执行这个selectkey标签,只有这样下面的sql才能使用到id <selectKey keyProperty="inoutId" resultType="java.lang.Long" or原创 2020-10-21 12:26:11 · 4288 阅读 · 0 评论 -
oracle merge 的使用1
1.不知到理解的对不对merge into sycloud.sy_datasend_flag a -- 目标表using ( -- 遍历前端传来的list集合 <foreach collection="list" item="item" index="index" separator="union all"> select #{item.cpccode,jdbcType=VARCHAR} cpccode, -- 查询一个伪表 , 其实就是在原创 2020-08-24 08:55:41 · 144 阅读 · 0 评论 -
mysql group by 和 having 用法
1.先看表2.现在需要查询各个部门的薪水总和。有个条件是,薪水小于等于150的员工不参与统计直接上结果select p.dept_id,sum(p.salary) sal frompersonal p where p.salary >150 GROUP BY p.dept_id结果:3.上面的sql中是先从表中去掉salary小于等于150的数据,再使用dept_id分组求和。所以 where条件是在group by之前执行4.现在增加一个条件: 薪水之和大于..原创 2020-08-18 17:29:49 · 10318 阅读 · 0 评论 -
oracle增加表字段、修改表字段
1.增加alter table 你需要修改的表的名字 add (你需要添加的字段的名字 varchar2(60) );//添加字符型字段alter table 你需要修改的表的名字 add (你需要添加的字段的名字 number(60) );//添加数字型字段comment on column 你刚刚修改的表的名字.你刚刚增加的表字段的名字 is ‘你想要给字段的注释’;//注意后面的单引号//一般在给表添加一个列(字段)后,需要给这个列添加注释//你刚刚修改的表的名字 点 你刚刚增加的表字段原创 2020-08-03 12:27:45 · 18238 阅读 · 0 评论 -
oracle 时间函数使用
1.返回年份的第一天假如是2019年的话,结果就是2019-01-01(大前提是当前时间是2019-06-15)select trunc(sysdate,‘yyyy’) from dual //直接执行这个sql语句得到当前年份的第一天,其中的yyyy换成mm就是当月第一天,结果就是2019-06-012.增加当前月份select add_months(sysdate,2) from dual //其中的2写成-2你试试结果是2019-08-15你把参数写成负数就是减去当前月份3.原创 2020-07-28 11:59:46 · 111 阅读 · 0 评论 -
oracle创建SEQUENCE序列
1.在sql窗口如下写create sequence SEQ_USER_INFO_ID//你创建的序列的名称increment by 1 //每次自增长1start with 1 //默认id从1开始maxvalue 99999999 //设置序列最大值为8位9 , NOMAXvalue代表不设置最大值minvalue 1 //设置最小值cache 20; //设置缓存的个数,因为是缓存在内存中,当系统死机后,将会跳过20个序列导致序列不连续 ; 这里可以写nocache不缓存序列2.其实应原创 2020-07-24 19:53:18 · 3581 阅读 · 0 评论 -
oracle批量插入数据(请以集合形式)
背景:往sql里面传数据时以list集合的形式,因为你要批量插入。1.sql语句如下写 <insert id="insertAll" parameterType="java.util.List"> insert into 你的表名 (主键ID , 字段1名字 , 字段2名字 , 看你有几个字段) select 你的表名的序列名称.nextval as 主键ID , //以表序列来自动获取id值原创 2020-07-24 19:01:34 · 2084 阅读 · 0 评论 -
ORA-00001: 违反唯一约束条件(修改sequence)
1.在plsql这里 序列里面哦2.选中你出问题的表原创 2020-07-23 16:34:03 · 2126 阅读 · 0 评论 -
oracle数据库无法连接 The Network Adapter could not 异常
1.初步解决方法:开启服务按照图中的指示,将这个Listener的服务开启再试试如果不行,再在网上找找。原创 2020-07-17 08:57:38 · 1567 阅读 · 0 评论 -
使用命令行导dmp文件入oracle数据库(创建用户等操作使用的是sqldeveloper)
1.创建用户2.为创建的用户设置无限空间使用可视化工具(如pqsql)先使用你创建的用户密码登录数据库,再执行下面语句ALTER USER A(你创建的用户的名称) QUOTA UNLIMITED ON users;//只需要修改A这个一个地方3.打开cmd输入imp username/password@8.8.8.8:1521/orcl file=C:\test.dmp log=C:\test.log fromuser=Test touser=Test constraints=N igno原创 2020-07-13 09:31:32 · 213 阅读 · 1 评论 -
mysql 语句(防止重名)
1.删除语句delete form 表名; 逐一删除表中的数据TRUNCATE TABLE 表名; 直接将表删除再创建一个相同名字的空表(建议使用)原创 2019-11-07 11:39:05 · 1102 阅读 · 0 评论