数据库
ldh_lyf
这个作者很懒,什么都没留下…
展开
-
Mysql字符串截取
Mysql字符串截取函数原创 2022-04-03 10:24:02 · 1147 阅读 · 0 评论 -
Mysql正则表达式
正则表达式用来描述或者匹配符合规则的字符串。它的用法和like比较相似,但是它又比like更强大,能够实现一些很特殊的规则匹配;正则表达式需要使用REGEXP命令,匹配上返回"1"匹配不上返回"0",默认不加条件REGEXP相当于like '%%'。在前面加上NOT相当于NOT LIKE 命令 说明 ^ 在字符的开启处进行匹配。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。原创 2022-03-22 09:54:24 · 286 阅读 · 0 评论 -
MySQL表中某个表的字段值使用特定字符拼接转换为多列
select substring_index(substring_index(column,',',(seqnum+1)),',',-1) from seq_num,tablewhere seqnum<(length(column)-length(replace(column,',',''))+1)column要转换的列,table是转换的表,seq_num是只有一个列seqnum的表,值从0-100,可以根据情况选择大小...原创 2020-06-21 14:40:02 · 403 阅读 · 0 评论 -
MySQL保存时间相差8小时,和返回json时间变为毫秒数
时间相差8小时查询数据库时区配置:show variables like '%time_zone%';如果 system_time_zone 为 CST 表示此时数据库中设置的时区非东八区。命令修改时区:set global time_zone = '+08:00';set time_zone = '+08:00';直接修改数据配置文件:在配置文件 my.c...原创 2020-04-25 10:58:03 · 591 阅读 · 0 评论 -
powerdesigner 导入sql文件生成数据库模型并name显示注释
导入sql建立数据库模型步骤:1、启动PowerDesigner,选择"File"菜单中的Reverse Engineer->Database2、选择你的DBMS类型。点击确定3、选择"Using script files"并选择你的SQL文件。点击确定。4、启动Reverse Engine在name上显示注释:Option ExplicitValidationM...原创 2019-12-10 14:20:51 · 1336 阅读 · 0 评论 -
Oracle忘记用户名与密码
1. 输入sqlplus / as sysdba直接连接数据库2、重新设置管理员的密码 alter user scott identified by tiger;3.创建用户与设置密码 create user root identified by 123456;授予connect,resource, dba权限:grant connect,resource,dba to root ...原创 2019-12-01 17:23:39 · 217 阅读 · 0 评论 -
oracle中数据类型对应java类型
SQL数据类型 JDBC类型代码 标准的Java类型 Oracle扩展的Java类型 1.0标准的JDBC类型: CHAR java.sql.Types.CHAR java.lang.String oracle.sql.CHAR ...原创 2019-10-29 15:38:45 · 1670 阅读 · 0 评论 -
SQL JOIN 中 on 与 where 的区别
left join: 左连接,返回左表中所有的记录以及右表中连接字段相等的记录。right join: 右连接,返回右表中所有的记录以及左表中连接字段相等的记录。inner join: 内连接,又叫等值连接,只返回两个表中连接字段相等的行。full join: 外连接,返回两个表中的行:left join + right join。cross join: 结果是笛卡尔积,...原创 2019-10-24 13:49:12 · 161 阅读 · 0 评论 -
JdbcType类型和Java类型的对应关系和tinyint 问题
JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIMAL java.math.BigDecimal BIT boolean BOOLEAN boolean ...原创 2018-08-03 14:26:25 · 11320 阅读 · 0 评论 -
mysql视图,触发器,存储函数
视图:view;是一种有结构(行列)但是没有结果(结构中不真实存放数据)的虚拟表,虚拟表的结构来源不是自己定义,而是从对应的基表中产生语法:create view 视图名字 as select语句。select语句可以是普通查询,多表查询和子查询create view my_v1 as select * from student;视图中有重名字段时,创建不成功create view my...原创 2018-07-21 10:44:08 · 144 阅读 · 0 评论 -
Oracle循环,存储过程和存储函数
create tablespace itheima51datafile 'c:\itheima51.dbf'size 100mautoextend onnext 10m;drop tablespace itheima51 including contents and datafiles;select * from emp;----条件表达式----统计每份工作,在每个部门中的信...原创 2018-07-21 08:16:14 · 1514 阅读 · 0 评论 -
mysql group by 与order by 一起使用
我需要把数据分组排序,于是就想到先group by 然后 order by,可是运行的时候报错于是查资料发现group by 与order by 一起使用是要遵守一定原则的:order by 的列,必须是出现在group by 子句里的列也可以用来查询一条语句(注意数据库版本)select * from (select distinct * from op_order_c...原创 2018-11-05 18:12:19 · 989 阅读 · 0 评论 -
Oracle授权,锁,视图,序列,索引和导出
----数据库【地球】---实例【国家】---表空间【省市县】----dbf数据文件中【实体的东西】----用户---用户具有不同的角色【角色类似于现实中的官职】---角色越大权限就越多-----创建新的表空间create tablespace itheimadatafile 'c:\itheima.dbf'size 100mautoextend onnext 10m;--...原创 2018-07-21 08:14:09 · 691 阅读 · 0 评论 -
in和exists的区别
in 和existsin是把外表和内表作hash 连接,而exists 是对外表作loop 循环,每次loop 循环再对内表进行查询。一直以来认为exists 比in 效率高的说法是不准确的。如果查询的两个表大小相当,那么用in 和exists 差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:IN适合于外表大而内表小的情况;EXISTS...原创 2018-09-03 09:32:44 · 282 阅读 · 0 评论 -
mybatis中oracle实现分页效果
首先当我们需要通过xml格式处理sql语句时,经常会用到< ,<=,>,>=等符号,但是很容易引起xml格式的错误,这样会导致后台将xml字符串转换为xml文档时报错,从而导致程序错误。 这样的问题在iBatiS中或者自定义的xml处理sql的程序中经常需要我们来处理。其实很简单,我们只需作如下替换即可避免上述的错误:原符号 < <=...原创 2018-11-22 12:15:27 · 606 阅读 · 1 评论 -
oracle排序字段为null查询出的值在前和在后
Nulls first和nulls last是Oracle Order by支持的语法如果Order by 中指定了表达式Nulls first则表示null值的记录将排在最前(不管是asc 还是 desc)如果Order by 中指定了表达式Nulls last则表示null值的记录将排在最后 (不管是asc 还是 desc)如:select *from emp eorder by ...原创 2018-11-23 11:39:14 · 466 阅读 · 0 评论 -
Mysql函数大全
1.查询结果运算:计算百分比concat(cast((CompletedQuantity/(ScrappedQuantity+CompletedQuantity))*100 as decimal),'%')2.null函数:isnull(expr)如expr为null,那么isnull()的返回值为1,否则返回值为0;ifnull(expr1,expr2)假如expr1不为...原创 2019-06-03 11:45:55 · 845 阅读 · 0 评论 -
sql语句对中文排序
1 使用criteria排序:需要写一个GbkOrder类添加到当前项目中,继承Order,并重写,criteria.addOrder(GBKOrder.asc(“name”));order源码:import java.io.Serializable; import java.sql.Types; import org.hibernate.Criteria; imp...原创 2019-08-12 16:23:13 · 2744 阅读 · 0 评论 -
MySql递归查询
CREATE DEFINER=`ip`@`%` FUNCTION `getParentList`(rootId INT) RETURNS varchar(1000) CHARSET utf8BEGINDECLARE sParentList VARCHAR (1000);DECLARE sParentTemp VARCHAR (1000);SET sParentTemp = cas...原创 2018-07-17 18:24:33 · 224 阅读 · 0 评论 -
Oracle多表查询和子查询,分页,集合和行列转换
---多表查询中的一些概念----笛卡儿积select * from emp e, dept d;----等值链接select e.ename, e.sal, e.job, d.dnamefrom emp e, dept dwhere e.deptno = d.deptno;----不等值链接select e.ename, e.sal, e.job, d.dnamefrom em...原创 2018-07-21 08:12:31 · 636 阅读 · 0 评论 -
MySQL多表联查
隐式内连接语法:select * from A,B,C,... where a=b and b=c and ...;内连接,"隐式内连接"另一种语法关键字:inner join语法:select * from A inner join B on a=b where inner join C on b=c where左外连接关键字:left outer ...原创 2018-07-21 08:07:03 · 327 阅读 · 0 评论 -
sql查询子节点或父节点
oracle使用select * from (select st.* from (select t.* from bas_basic_tree t connect by prior t.pid = t.id start with t.dataid in (select orgid f...原创 2018-07-20 16:50:50 · 3450 阅读 · 1 评论 -
oracle基本函数和查询和字段连接
----解锁scott用户alter user scott account unlock;----解锁scott用户的密码【也可以用来重置密码】alter user scott identified by tiger;----切换到scott用户下----where----查询出工资高于1500的员工----where操作是在select操作之前执行select e.ename, ...原创 2017-09-29 20:09:49 · 965 阅读 · 0 评论 -
Oracle查询表字段和类型
SELECT table_name, column_name, data_type FROM all_tab_cols WHERE table_name = '表名 ;注意:表名一定要大写。原创 2017-11-30 17:08:47 · 21504 阅读 · 1 评论 -
sql语句replace into
replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中, 1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。 2. 否则,直接插入新数据。要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。MySQL rep...原创 2018-07-17 18:26:00 · 1523 阅读 · 0 评论 -
Oracle递归查询
接下来看一个示例:要求给出其中一个结点值,求其最终父结点。以7为例,看一下代码start with 子句:遍历起始条件,有个小技巧,如果要查父结点,这里可以用子结点的列,反之亦然。也可以不适用子父节点数据,也可以使用表中的其他字段,不符合的可以使用where条件过滤,select * from (select st.* from(select t.* ...原创 2018-07-17 18:25:07 · 261 阅读 · 0 评论 -
数据库结构优化
数据库结构优化:优化表结构::1:尽量将表字段定义为not null约束,因为MySQL中含空值得列很难查询优化2:对于只包含特定类型的字段,可以使用enum,set等3:数值型字段的比较比字符串比较效率高很多,字段类型尽量使用最小,最简单类型4:尽量使用TINYINT,SMALLINT,MEDIUM_INT作为整数5:varchar的长度只分配真正需要的空间6:尽量使用TIMESTAMP而非DA...原创 2018-03-04 09:42:03 · 204 阅读 · 0 评论 -
数据库存储引擎和优化
MyISAM、InnoDB区别l MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。l MyISAM表不支持外键,InnoDB支持l MyISAM锁的粒度是表级,而InnoDB支持行级锁定。l MyISAM支持全文类型索引,而InnoDB不支持全文索引。(mysql 5.6后innodb支持全文索引)MyISAM相对简单,所以在效率上要优于InnoDB,小型应用可以考虑使用MyIS...原创 2018-03-04 09:19:12 · 468 阅读 · 0 评论 -
数据库设计思想
四种高效数据库设计思想——提高查询效率:设计数据库表结构时,我们首先要按照数据库的三大范式进行建立数据。1. 1NF每列不可拆分2. 2NF确保每个表只做一件事情3. 3NF满足2NF,消除表中的依赖传递。三大范式的出现是在上世纪70年代,由于内存资源比较昂贵,所以严格按照三大范式进行数据库设计。而如今内存变得越来越廉价,在考虑效率和内存的基础上我们可以做出最优选择以达到最高效率。建立数据库先按照...原创 2018-03-10 14:53:14 · 431 阅读 · 0 评论 -
spring连接池配置
配置内置连接池 --> beanid="dataSource"class="org.springframework.jdbc.datasource.DriverManagerDataSource"> 方法住人 --> propertyname="driverClassName"value="com.mysql.jdbc.Driver">property>原创 2017-09-21 20:00:22 · 272 阅读 · 0 评论 -
oracle数据结构
数据库:databaseoracle数据库是数据的无聊存储,包括数据文件ORA或DBF,控制文件,联机日志,参数文件,这里的数据库是一个操作系统只有一个库。可以看作是oracle就只有一个大数据库实例:一个oracle实例有一系列的后台进程和内存结构组成,一个数据库可以有n个实例数据文件dbf:数据文件是数据库的物理存储单位,数据库的数据是存储在表空间中的,真正是在某一个或多个数据文件...原创 2017-09-29 19:55:33 · 3074 阅读 · 0 评论 -
plsql乱码解决
中文乱码问题解决1.查看服务器端编码select userenv('language') from dual;我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK2.执行语句 select * from V$NLS_PARAMETERS查看第一行中PARAMETER项中为NLS_LANGUAGE 对应的VALUE项中是否和第一步得到的值一样。如果不是,需要设置环境变...原创 2017-09-29 19:39:27 · 353 阅读 · 0 评论 -
常见数据库的操作
数据库操作:A: 创建数据库 create database 数据库名; create database 数据库名 character set 字符集;B: 查看数据库 查看数据库MySQL服务器中的所有的数据库: show databases; 查看某个数据库的定义的信息: show crea...原创 2018-03-25 08:41:16 · 804 阅读 · 0 评论 -
sql语句where后in的参数字符串转为int
update bas_basic_organization o set o.isdelete='Y' where o.id in (@#{subid})在字符串前加@符号update bas_basic_organization o set o.isdelete='Y' where o.id in (@'2045,3000')原创 2018-07-20 15:50:41 · 4339 阅读 · 0 评论 -
sql语句优化
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其...原创 2017-11-16 19:49:44 · 172 阅读 · 0 评论 -
MySQL慢查询日志和explain分析
慢查询日志:慢查询日志开启:在my.cfg或my.ini加入slow_query_log_file=/var/log/mysql_slow_querys.log指定慢日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.loglong_query_time=3 设定慢查询的阀值,超出次设定值的SQL即被记录到慢查询日志,单位为妙,缺省值为10s...原创 2018-03-04 08:54:04 · 168 阅读 · 0 评论 -
MySQL硬件优化
硬件优化:1:配置更大的内存,足够大的内存,是提高MySQL数据库性能的方法之一2:磁盘i/o相关:使用SSD或PCleSSD设备,购置阵列卡同时配置CACHE及BBU模块,尽可能选用RAID-10使用机械盘尽肯能选择高转速的3:配置CPU相关...原创 2018-03-04 09:28:23 · 421 阅读 · 0 评论 -
数据表中的数据类型
MySQL中的我们常使用的数据类型如下 详细的数据类型如下(不建议详细阅读!) 分类 类型名称 说明 整数类型 tinyInt 很小的整数 smallint 小的整数 mediumint 中等大小的整数 ...原创 2018-03-25 08:29:27 · 1406 阅读 · 0 评论 -
数据库索引、约束添加和删除
约束类型1.主键约束primay key Constraint:唯一性 非空性2.唯一约束Unique Constraint:唯一性 可以空 但只能有一个3.检查约束 Check Constraint:对该列数据的范围、格式的限制4.默认约束 Default Constraint:该数据的默认值5.外键约束 Foreign keyConstraint:需要建立两表之间...原创 2018-03-25 08:36:22 · 923 阅读 · 0 评论