数据库系统
崔世勋
这个作者很懒,什么都没留下…
展开
-
mysql8做主从备份
如果主库已经投入使用了,此时如果需要主从同步,需要导出所表结构和数据,然后导入到从库中。这时需要注意修改/var/lib/mysql/auto.cnf中uuid。master配置0、修改配置文件 vim /etc/my.cnf[mysqld]# 日志文件名log-bin = mysql-bin# 要同步的数据库binlog-do-db = my_db_name# ...转载 2019-11-19 10:21:01 · 708 阅读 · 0 评论 -
mysql子查询锁表
数据库的隔离级别(1) read uncommitted存在脏读,不可重复读,幻读(2) read commited存在不可重复读,幻读(3) repeatable read存在幻读。(4) Serializablemysql的隔离级别是repeatable read。设置mysql的隔离级别show global variables like '%i...转载 2019-10-19 23:32:50 · 276 阅读 · 0 评论 -
mysql删除/更新数据时,报错Lock wait timeout exceeded
我的情况是线程阻塞造成子锁超时。解决方法:select * from information_schema.innodb_trx;查看trx_rows_locked这一列,如果大于0的话,说是有阻塞住了,然后查对应的trx_mysql_thread_id的值, kill thread_id...转载 2019-10-19 23:18:11 · 1128 阅读 · 0 评论 -
并行数据库系统
并行数据库的结构从硬件结构来看,根据处理机与磁盘及内存的相互关系可以将并行计算机分为三种基本的架构。(1)SM结构Share Memory ,共享内存。由多个处理机、一个共享内存和多个磁盘存储器构成。(2)SD结构Share Disk,共享磁盘。由多个具有独立内存的处理机和多个磁盘构成,每个处理机都可以读写任何磁盘,多个处理机和磁盘存储器由高速通信网络连接。(3)S...转载 2017-09-12 09:22:41 · 2243 阅读 · 0 评论 -
Oracle NVL NVL2 NULLIF COALESCE
1.NVL函数NVL(expr1,expr2)如果expr1和expr2的数据类型一致,则:如果expr1为null,那么显示expr2如果expr1不为空,那么显示expr1当两个参数数据类型不同时,oracle会将两个参数进行隐式转换,如果不能隐匿转换则会报错,隐式转换规则如下:(1)如果参数1为字符型,则把参数2转换为参数1的类型,返回值为varchar2(2)如果参数1为数值型,则判断两个...转载 2018-05-16 14:36:13 · 300 阅读 · 0 评论 -
ArcGIS Oracle ST常用查询
(1)sde.st_crosses(g1 sde.st_geometry, g2 sde.st_geometry)返回值1或者0,判断两个几何要素是否相交。(2)sde.st_within(g1 sde.st_geometry, g2 sde.st_geometry)返回值1或者0,判断第一个要素是否完全包含在第二个要素内(3)sde.st_contains(g1 sde.st_g...转载 2018-05-16 14:58:10 · 660 阅读 · 0 评论 -
如何从原有的表中创建一个新表,并增加几个字段
如何从原有的表中创建一个新表,并增加几个字段?可以用来选择的方法是:假设你的表为 table1字段列表为:f1 varchar2(10)f2 varchar2(20)f3 number(3)如果你想把表变成f1 varchar2(10)f_new varchar2(20)f2 varchar2(20)f3 number(3) 那么你需要:1、这样创建一个表: ...转载 2018-05-30 15:49:46 · 4053 阅读 · 0 评论 -
Oracle解决锁表问题
前言更新一张表的数据,就几百条,然后特别慢,一直在执行,然后强制退掉,重新执行还是一样,考虑到可能是锁表的问题!解决①首先查找是哪些session被锁:select object_name,machine,s.sid,s.serial#from v$locked_object l,dba_objects o ,v$session swhere l.object_id=o.ob...转载 2018-06-01 09:03:20 · 905 阅读 · 0 评论 -
SQL搜索下划线,like中不能匹配下划线的问题
使用like语句的错误查询MySQL> select * from t where x like '%_%';返回全部的记录,不是想要的结果! 为什么错误?因为在like语句中的下划线的含义是“任意一个字符”,类似“%”代表匹配任意多个字符的。 4.正确的查询方法能想到的有如下两种方法。1)第一种方法使用escape转义mysql> select...转载 2018-07-13 15:40:56 · 612 阅读 · 0 评论 -
mysql - 启动错误InnoDB: mmap(137363456 bytes) failed; errno 12
这是由于物理内存不够导制的,所以vim /etc/my.cnf[inonodb]innodb_buffer_pool_size=64MB 把这个数值改小 高版本的默认是128mb 最后欢迎大家访问我的个人网站:1024s...转载 2018-08-10 10:44:29 · 790 阅读 · 0 评论 -
centos7下使用yum安装mysql 8
Centos7的yum源中没有mysql,为了解决这个问题,我们需要先下载mysql的repo源。下载mysql的repo源并安装wget http://repo.mysql.com/mysql80-community-release-el7-1.noarch.rpm rpm -ivh mysql80-community-release-el7-1.noarch.rpm 这样我们...转载 2018-08-10 11:48:12 · 394 阅读 · 0 评论 -
java中入mysql的TimeStamp类型时间 差13小时
这是时区的问题.在linux上查看时区date -R一般都是东八区没错.然后将数据库mysql的时区改为东八区:show variables like '%time_zone%';可以看到时区是CST,所以需修改set global time_zone='+8:00';set time_zone='+8:00';flush privileges; 最后欢迎大...转载 2018-08-01 21:11:31 · 5143 阅读 · 1 评论 -
MySQL实现根据当前ID读取上一条和下一条记录
以下为MySQL语句演示:SELECT * FROM t_news AS n ORDER BY n.`News_ID`当前ID为4,读取上一条记录: SELECT * FROM t_news AS n WHERE n.`News_ID` < 4 ORDER BY n.`News_ID` DESC LIMIT 0,1; 当前ID为4,读取下一条记录: ...转载 2018-08-08 16:17:30 · 2631 阅读 · 0 评论 -
Oracle中的case when then else end
语法: CASE search_expression WHEN expression1 THEN result1 WHEN expression2 THEN result2 ... WHEN expressionN THEN resultN ELSE default_result 语法: CASE WHEN condition1 THEN r...转载 2018-05-16 14:12:15 · 877 阅读 · 0 评论 -
Oracle的Round函数
Round函数用法:截取数字 格式如下:ROUND(number[,decimals])其中:number 待做截取处理的数值decimals 指明需保留小数点后面的位数。可选项,忽略它则截去所有的小数部分,并四舍五入。如果为负数则表示从小数点开始左边的位数,相应整数数字用0填充,小数被去掉。需要注意的是,和trunc函数不同,对截取的数字要四舍五入。Sql代码:SQL>...转载 2018-05-16 14:03:36 · 1611 阅读 · 0 评论 -
数据库仓库与数据挖掘
常见的数据处理工作大致可分成两大类:OLTP(On-Line Transaction Processing,联机事务处理)和OLAP(On-Line Analytical Processing,联机分析处理)。OLTP是传统的关系型数据库的主要应用;OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持。联机分析处理OLTP是事件驱动、面向应用的。对响应时间要求非常高,用户数量...转载 2017-09-12 10:28:33 · 426 阅读 · 0 评论 -
Armstrong公理系统
关系模式R<U,F>来说有以下的推理规则:(1)自反律:若Y包含于X,X包含于U,则X->Y为F所蕴含。(2)增广律:若X->Y为F所蕴含,且Z包含于U,则XZ->YZ为F所蕴含。(3)传递律:若X->Y及Y->Z为F所蕴含,则X->Z为F所蕴含。 根据上面三条推理规则可以得到下面三条推理规则:(1)合并规则:由X->Y...转载 2017-10-17 15:14:17 · 4663 阅读 · 0 评论 -
SQL优化
SQL语句编写注意问题下面就某些SQL语句的where子句编写中需要注意的问题作详细介绍。在这些where子句中,即使某些列存在索引,但是由于编写了劣质的SQL,系统在运行该SQL语句时也不能使用该索引,而同样使用全表扫描,这就造成了响应速度的极大降低。 1. is null 与is not null不能用null作索引,任何包含null值的列都将不会被包含在索引中。即使索引有多列...转载 2017-12-18 17:08:30 · 316 阅读 · 0 评论 -
Java操作jdbc工具类
package com.cuihs.esb.db;import java.io.IOException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.ArrayL...转载 2017-12-19 11:39:59 · 345 阅读 · 0 评论 -
Oracle中的rownum和row_number()
rownum用于从查询返回的行编号,返回的第一行分配的是1,第二行是2,依次类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀.(1)rownum对于等于某值的查询条件如果希望找到学生表中第一条学生的消息,可以使用rownum=1作为条件.但是1以上的自然数在rownum做等于判断时认为都是false条件,所以无法查到rownum=n(n>1...转载 2018-04-12 09:14:51 · 885 阅读 · 1 评论 -
数据库中schema
在学习SQL的过程中,会遇到一个让你迷糊的Schema的概念。实际上,schema就是数据库对象的集合,这个集合包含了各种对象如:表、视图、存储过程、索引等。为了区分不同的集合,就需要给不同的集合起不同的名字,默认情况下一个用户对应一个集合,用户的schema名等于用户名,并作为该用户缺省schema。所以schema集合看上去像用户名。如果把database看作是一个仓库,仓库很多房间(sc...转载 2018-05-18 09:54:18 · 1234 阅读 · 0 评论 -
Oracle中常用函数
Oracle数据库中主要使用两种类型的函数:1.单行函数 (1)字符函数:对字符串操作ASCII(x):返回字符x的ASCII码CONCAT(x,y):连接字符串x和yINSTR(x, str.Start, n):在x中查找str,可以指定从start开始,也可以指定从第n次开始LENGTH(x):返回x的长度LOWER(x):x转换为小写UPPER(x):x转...转载 2018-05-18 10:34:45 · 215 阅读 · 0 评论 -
Oracle高效分页查询
--分页参数:size = 20 page = 2--没有order by的查询-- 嵌套子查询,两次筛选(推荐使用)--SELECT *-- FROM (SELECT ROWNUM AS rowno, t.*-- FROM DONORINFO t-- WHERE t.BIRTHDAY BETWEEN TO_DATE ('19800101', 'yyyymmdd')-- AND T...转载 2018-04-28 08:36:50 · 2134 阅读 · 0 评论 -
Oracle查询树型关系(start with connect by prior)
基本语法select * from tablename start with cond1connect by cond2where cond3;简单单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段,id和parentid那么通过表示每一条记录的parent是谁,就可以形成一个树状结构,用上述的语法可以查询取得这棵树的所有记录。其中con1是根结点的限定语句,当然...转载 2018-05-08 09:07:27 · 310 阅读 · 0 评论 -
sqlldr的用法
在Oracle数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法:(1)A表的记录导出为一条条分隔开的insert语句,然后执行插入到B表中。这种方法在记录多时是个噩梦,需要三五百条的分批提交,否则客户端会死掉,而且导入过程很慢。(2)建立数据库间的dblink,然后用create table B as select * from A@dblink where ....转载 2018-05-16 11:19:06 · 5025 阅读 · 0 评论 -
mysql修改时区
查看mysql当前时间> select curtime(); #或select now()也可以+-----------+| curtime() |+-----------+| 15:18:10 |+-----------+查看mysql时区> show variables like "%time_zone%";+------------------+...转载 2018-08-16 11:10:48 · 787 阅读 · 0 评论 -
Oracle中用sql语句创建和管理表
创建语法 create table [schema.]tablename (column datatype [default expr] [constaint], ....)查看表结构desc tablename克隆表 克隆整个表: create table emp as select * from scott.emp; 克隆表结构: create tabl...转载 2018-11-01 09:59:30 · 371 阅读 · 0 评论 -
SQL语法
selectSELECT "栏位名" FROM "表格名";distinctSELECT DISTINCT "栏位名"FROM "表格名";whereSELECT "栏位名"FROM "表格名"WHERE "条件"; and orSELECT "栏位名"FROM "表格名"WHERE "简单条件"{[AND|OR] "简单条件"}+; in...转载 2019-06-18 17:17:02 · 257 阅读 · 0 评论 -
mysql 数据备份
使用mysqldump命令备份mysqldump命令将数据库中的数据备份成一个文本文件. 表的结构和表中的数据将存储在生成的文本文件中.mysqldump命令的工作原理很简单, 它先查出需要备份的表的结构, 再在文本文件中生成一个create语句. 然后, 将表中的所有记录转换成一条insert语句.1. 备份一个数据库mysqldump -u username -p dbna...转载 2019-07-09 10:29:11 · 253 阅读 · 0 评论 -
Ad hoc queries (即席查询)
即席查询与通常查询从SQL语句上来说,并没有本质的差别。它们之间的差别在于,通常的查询在系统设计和实施时是已知的,所有我们可以在系统实施时通过建立索引、分区等技术来优化这些查询,使这些查询的效率很高。而即席查询是用户在使用时临时生产的,系统无法预先优化这些查询,所以即席查询也是评估数据仓库的一个重要指标。即席查询的位置通常是在关系型的数据仓库中,即在EDW或者ROLAP中。多维数据库有自己的存储方...转载 2019-07-19 10:32:32 · 831 阅读 · 0 评论 -
Cassandra
Cassandra最初源于Facebook, 但国内使用的公司并不多,远没有Hbase和MongoDB多。基本架构Cassandra没有像BigTable或HBase那样选择中心控制节点,而选择了无中心的P2P架构,网络中的所有节点都是对等的,它们构成了一个环,节点之间通过P2P协议每秒交换一次数据,这样每个节点都拥有其它所有节点的信息,包括位置、状态等。1、Cassandra Rin...转载 2019-07-22 13:53:44 · 193 阅读 · 0 评论 -
InfluxDB
数据模型(1)Measurement从原理上讲更像SQL中表的概念。这和其他很多时序数据库有些不同,其他时序数据库中Measurement可能和Metric等同。(2)Tags维度列,在InfluxDb中,表中Tags组合会被作为记录的主键,因此主键并不唯一,所有时序查询最终都会基于主键查询之后再经过时间戳过滤完成。(3)Fields数值列,数值列存放用户的时序数据。...转载 2019-07-22 15:37:24 · 345 阅读 · 0 评论 -
OpenTSDB
https://blog.csdn.net/bluishglc/article/details/31052749OpenTSDB是基于HBase存储时间序列数据的一个开源数据库,它主要有两个表:tsdb-uid和tsdb。前者描述指标(metrics)相关的元数据,后者存储时间序列数据。我们还需要建立一些标签(Tag)来标识一条数据,对于一条数据来说,应该至少包含一个指标和一个标签。在Open...转载 2019-07-22 16:14:19 · 205 阅读 · 0 评论 -
使用SQL命令批量替换图片的url地址
UPDATE YourDBName_posts SET post_content = REPLACE( post_content, 'YourOldUrl', 'YourNewUrl' )转载 2019-08-29 11:01:40 · 1878 阅读 · 0 评论 -
数据库中的无损连接分解和是否保持函数依赖的判定
从上面的定义, 保持无损连接的模式分解, 每个Ui必须包含作为连接的属性, 而函数依赖是要把产生关联的属性分到一起.无损连接的判定1. 如果分解后的关系模式形如{U1, U2}, 里面只有两个,那很好做,就判断U1交U2->U1-U2或U1交U2->U2-U1是否成立,成立的话肯定是无损连接 .2. 如果是两个以上, 一个关系模式R(A1,A2,A3,…,...转载 2019-08-29 15:20:36 · 5043 阅读 · 0 评论 -
postgresql的配置文件
postgresql.conf(数据库相关配置)该文件包含一些通用设置,比如内存分配,新建database的默认存储益,postgresql服务器的IP地址,日志的位置以及许多其他调协。pg_hba.conf(客户端认证配置)允许哪些用户连接到哪个数据库,允许哪些IP或者网段的IP连接到本服务器,以及指定连接时使用的身份验证。认证类型:(1)trust无条件地允许连接。...转载 2019-09-04 14:13:51 · 310 阅读 · 0 评论 -
sql常见面试题
查询出每门课大于80分的学生姓名name kecheng fenshu张三 语文 81张三 数学 75李四 语文 76李四 数学 90王五 语文 81王五 数学 100王五 英语 90select distinct name f...转载 2019-06-25 17:19:56 · 214 阅读 · 0 评论 -
sql优化
基数单个列唯一键的数量叫做基数, 基数的高低影响列的数据分布 .MariaDB [test]> select count(distinct gender),count(distinct phone) from test;+------------------------+-----------------------+| count(distinct gender) | cou...转载 2019-06-17 18:07:04 · 159 阅读 · 0 评论 -
postgresql 解锁表总结
--查询正在运行的进程SELECT * FROM pg_stat_activity --查询是否锁表了select oid from pg_class where relname='可能锁表了的表'select pid from pg_locks where relation='上面查出的oid'--如果查询到了结果,表示该表被锁--杀掉pid进程select pg_termina...转载 2019-03-04 11:37:25 · 1914 阅读 · 0 评论 -
字典表的设计
dict_code dict_parent_code dict_name dict_value display_order BJ -1 北京市 BJ01 BJ 修正系数 BJ011 BJ01 工业 BJ012 BJ01 商业 B...原创 2018-12-12 14:53:27 · 1947 阅读 · 0 评论