数据库
文章平均质量分 63
SQL简介,数据表分析
SQL基础查询
单行函数
多表查询
分组统计查询
子查询
复杂查询
数据更新
事物处理
数据伪列
表的创建于与管理
约束的创建与管理
综合实战:DML&DDL
序列的定义与使用
试图的定义及使用
其它数据库对象
数据库备份
数据库设计
z海清
只要思想不滑坡,方法总比困难多
展开
-
Oracel:事务和锁
事务和锁是两个联系非常紧密的概念。事务很重要,它可以保证多用户并发系统中数据的完整性。在数据库中,存在多个用户同时对某一数据进行读写操作的情况,为了确保数据的并发性和一致性,可以使用事务。锁是Oracle数据库引擎用来同步多个用户,同时确保对同一份数值快访问的机制。锁可以消除多用户操作同一个资源产生的隐患.什么是事务事务是在数据库中主要用于保证数据完整性的一致性,防止出现错误数据。在数据库中,数据的完整性是一个广义的概念,它包括数据的并行性和一致性。事务是单个的工作单元。如果某一事务成功,则在该事务中原创 2020-05-26 21:50:59 · 339 阅读 · 0 评论 -
Oracle索引
索引是Oracle为提高查询效率而制定的机制,对于大数量数据的查询,索引能够成倍提高查询效率,缩短查询时间。索引的作用通过创建唯一索引可以保证数据记录的唯一性索引可以强制表中的行具有唯一性,从而确保表数据的数据完整性。在创建主键约束时会自动创建主键索引可以大大提高数据检索速度可以加速表与表之间的连接在使用order by和group by子句检索数据时,可以显著减少查询中分组和排序的时间使用索引可以检索数据的过程中使用优化隐藏器,提高系统性能索引的创建在Oracle中,创建索引的方法有原创 2020-05-26 17:21:08 · 1906 阅读 · 0 评论 -
Oracle常用函数(聚合函数,字符串函数,日期函数,数学函数、数据类型转换函数)
常用函数重点学习聚合函数、数学函数、字符串函数、数据类型转换函数、日期函数等聚合函数avg()count()max()min()sum()stddev()stddev_pop()聚合函数常与select语句的group by子句一起使用。除了count()函数之外,其它聚合函数会忽略null值。聚合函数只能在以下位置作为表达式使用:select语句的选择列表(子查询或外部查询)、having子句。在select语句中使用聚合函数如下所示:select 函数名(列名1或*),函数名(列名原创 2020-05-26 16:44:39 · 1402 阅读 · 0 评论 -
Oracle:高级查询
单表中的联合查询联合语句是指两个或多个select语句是并列关系,并且对这些select语句所捕获的记录进行集合操作,以获得最终的结果集。这些联合语句包括:union查询,union all查询,intersect查询和minus查询。union查询该操作符用于取得两个查询结果集的并集当使用该操作符时,会自动去掉结果集中的重复行,语法结构如下:select 语句1 union select 语句2union all查询该操作符与union相似,但是它不会取消重复行,不会排序。它可以将全部行并原创 2020-05-26 14:12:50 · 276 阅读 · 0 评论 -
Oracle数据查询与高级查询(内连接、外连接、交叉连接)
基本查询查询语句是使用最频繁的数据库访问语句,select语句查询执行步骤select 列名1,列名2,... from 表名1,表名2...###为列设置别名默认情况下,在显示数据时,各列的标题就是列的名称,在select语句中可以定义列的别名,这样在显示数据时,列的标题就是这个别名,在整个SQL语句中都可以使用这个别名。使用别名的select语句格式select 列1 [as] 别名 1 ,列2 [as] 别名 2 ...利用distinct获得唯一性记录有时需要提高检索效率,不需要原创 2020-05-25 23:04:25 · 804 阅读 · 0 评论 -
Oracle表的约束(主键约束,外键约束,唯一性约束,检查约束,默认值约束,非空约束)
表的约束约束的根本目的是保证数据的完整性,主要有主键约束、外键约束、唯一性约束、检查约束、默认值约束、非空约束。域完整性是对数据表中的字段属性进行约束,包括字段的值域、字段的类型以及字段的有效规则等约束,域完整性主要包括not null约束,唯一性约束,检查约束。实体完整性即指关系中的主属性值不能为null,不能重复。实体完整性是对关系中的记录唯一性,也就是主键的约束。参照完整性指关系中的外键必须是另一个关系的主键的有效值,或指对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外原创 2020-05-25 14:12:44 · 2151 阅读 · 0 评论 -
Mysql主从同步实战
前言Mysql主从同步实战,知其然,知其所以然也是很重要的,不然你永远无法进阶,但是,俗话说学会走前要学会爬,在大多数的中小型公司中,业务需要用到某一项技术,是没有太多的时间给你慢慢研究其原理的,大多是囫囵吞枣的看一下,找点攻略,快速搭建起来,先干活再说,至于后期的扩展和优化那就是慢慢来的事情,事有轻重缓急,我们要结合自身所处的环境来调整才能不断的前行,那么今天我们就来爬一爬实战...转载 2020-05-08 15:54:18 · 249 阅读 · 0 评论 -
MySQL备份数据库
1、单库备份[root@centos6 ~]#mysqldump -uroot -p test >/download/testbak_$(date +%F).sqlEnter password:[root@centos6 ~]# ll /download/total 2-rw-r--r--. 1 root root 1888 Dec 12 20:34 testb...转载 2020-05-08 14:14:13 · 386 阅读 · 0 评论 -
mysqld_multi部署多实例
MySQL启动流程mysqld_multi # 多实例管理程序mysqld # MySQL最主要的启动方式,里面有很多参数;现在使用多实例就需要用新的mysql_safe 来启动mysqlmysql_safe # 实则还是调用mysqld,并且会读取mysqld中的my.cnf配置参数来启动mysql,mysql_safe本身也有很多参数,但是这些参...转载 2020-05-08 12:57:31 · 269 阅读 · 0 评论 -
MySQL多实例
MySQL多实例就是在一台服务器上同时开启多个不同的服务端口(如:3306/3307)同时运行多个MySQL服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务。 这些MySQL多实例共用一套MySQL安装程序,使用不同的my.conf(也可以相同)配置文件、启动程序(也可以相同)和数据文件。在提供服务时,多实例MySQL在逻辑上看来是各自独立的,他们根据配置文...转载 2020-05-08 12:52:24 · 638 阅读 · 0 评论 -
数据库常见基础命令
1、使用帮助信息2、 增删查数据库创建默认字符集的数据库(默认是拉丁字符集) create database test_data; 删除数据库drop database test_data;3、连接数据库4、创建用户、授权、收回权限5、创建、删除表...原创 2020-05-08 01:20:08 · 429 阅读 · 0 评论 -
Oracle11g安装参考
在www.oracle官网下载安装包,先同意安装协议,再点击下载,可选择32和64位,我下载的是64位。将文件分别解压合并,得到一个database文件:如果系统是win10,则需要到文件stage-cvu中用记事本打开cvu_prereq.xml 添加以下内容,如图所示:</OPERATING_SYSTEM> <OPERATING_...原创 2018-11-27 11:54:55 · 196 阅读 · 0 评论 -
SQLPlus命令
SQLPlus是进行Oracle操作的主要前台工具,用户名和密码分别为用户名和密码,连接ORACLE数据库可见,显示的比较混乱,可以通过以下命令优化这个操作是对数据库直接操作的,然而实际的开发都是通过程序读取,所以这样的格式化没有意义。在I盘新建一个记事本文件,在文本中编辑一条查询内容将其后缀名改为hello.sql,通过命令 @文件所在盘:文件名 ...原创 2018-12-16 14:24:02 · 59626 阅读 · 0 评论 -
Oracle数据库
先看SQL思维导图:首先要知道某个用户下的所有数据表,可以用以下语法完成。此时结果中返回4个数据表,要想知道每个表的结构,可以使用"DESC 表名称“命令,如DESC dept;可以通过SELECT * FROM dept; SELECT * FROM emp; SELECT * FROM salgrade; SELECT * FROM bo...原创 2018-12-16 16:04:28 · 137 阅读 · 0 评论 -
SQL查询
进行数据的投影,控制所需要显示的数据列,查询emp表中的雇员姓名,工作,薪水查询支持四则运算,如查询雇员的工号,姓名,年薪(sal*12) ,命令为SELECT empno,ename,sal*12 FROM emp;可以对每列进行别名设置,支持中文,但不建议这样用在进行见到那的查询中还支持连接操作,用”||“进行连接实现格式化输出(此操作无意义)对于固定内...原创 2018-12-16 17:08:38 · 112 阅读 · 0 评论 -
SQL限定查询
语法结构:其中,WHERE后的限定条件主要有以下几类:以上限定符只能判断一次,如果现在有若干个限定符,则可以使用限定符连接,使用AND(与),OR(或),NOT(非)。与操作表示的所有判断条件都满足时返回真(TRUE),则或操作表示若干个判断条件只要有一个满足就返回真。关系运算符:1,查询工资小于1200的员工的信息2,查询工资等于1200的员工的信息,其中“=”即...原创 2018-12-16 22:12:53 · 215 阅读 · 0 评论 -
oracle单行函数(大小写转换,字符串替换,字符串截取...)
Oracle单行函数分为以下几种:字符串函数有UPPER( ) LOWER( ) INITCAP( ) REPLACE( ) LENGTH( ) SUBSTR( )1、大小写转换函数 1)转大写函数:字符串 UPPER(列|字符串) 2)转小写函数:字符串 UPPER(列|字符串)SELECT LOWER('Hello...原创 2018-12-17 20:41:53 · 468 阅读 · 0 评论 -
Oracle数值函数
数值函数有三个主要的函数,ROUND( ) TRUNK( ) MOD( ) 1、四舍五入操作语法: ROUND(列 | 数字, |保留小数位|,若不设置保留小数位,则不保留。若保留小数位为负数,则从该负数的绝对值从个位开始自右向左进行,不超过五舍去置为02、截取小数,所有的小数都不进位语法:TRUNC(列 | 数字,[小数位])3、求模(取余数)语法: 数字 ...原创 2018-12-17 22:19:25 · 391 阅读 · 0 评论 -
Oracle 日期函数
表示日期有三种模式:H 日期 + 数字 = H 日期 (若干天后的日期)日期 - 数字 = 日期 (若干天之前的日期)日期 - 日期 = 两日期之前相隔的天数计算当前系统时间十天前的日期日期 - 日期计算两个日期间经历的月数语法:MONTH_BETWEEN(日期1,日期2)转换为年限 MONTH_BETWEEN(日期1,日期2)...原创 2018-12-18 13:24:38 · 911 阅读 · 0 评论 -
Oracle 转换函数(重点)
ORACLE中包括三种数据类型:字符串、数字、日期包括三种:TO_CHAR() TO_DATE( ) TO_NUMBER( )1、转字符串函数、数字或者是日期可以转换为字符串语法:字符串TO_CHAR(列 | 日期 | 数字,转换格式)对于转换格式而言主要有两类格式:|--日期转换为字符串:年(yyyy)、月(mm)、日(dd)、时(hh,hh24)、分(mi)、秒...原创 2018-12-18 16:42:17 · 316 阅读 · 0 评论 -
ORACLE约束创建与管理
主要内容:数据表本身只支持数据的存储操作,但是在数据库上为了保证数据表的数据完整性,特别增加了约束。即:数据需要满足若干条件之后才可以操作,例如:某些数据不能够重复,假设定义用户身份信息,身份证编号绝对不可能重复。本质上讲数据库中的约束一共六种:数据类型、非空约束、主键约束、检察约束、外键约束。但是约束条件是一把双刃剑,约束的确是可以保证数据合法后才进行保存,但是如果在一张表中设置...原创 2019-01-30 16:00:41 · 205 阅读 · 0 评论 -
ORACLE通用函数
通用函数(ORACLE特色)所有没有佣金的雇员,在进行年收入计算的时候,最终计算的结果都是null,而实际上在计算之中,如果发现内容为null,如果使用数字,则应该用0来替代,就需要NVL()函数来解决此类问题,语法:NVL(列 | null,为空的默认值),如果现在列上的内容不为空,则使用默认值2、多数字判断所谓多数值判断,指的是可以根据不同的结果可以在输出的时候进行一个数据...原创 2018-12-18 19:08:40 · 170 阅读 · 0 评论 -
Oracle 多表查询
所谓多表查询指的是同时从多张数据表中取出数据并且显示的一种操作,语法只是作简单修改COUNT( )函数的主要功能是同济一张表的数据量数据表的统一查询,一定会产生积,在任何多表查询中,一定会存在笛卡尔积问题,但事实上这些积的产生对用户而言没有实质的用处,所以要消除积,必须要有关联字段只要是多表查询,这多张表一定存在关联关系,没有关联关系,是不能进行关联查询的对于表...原创 2018-12-18 20:35:13 · 138 阅读 · 0 评论 -
Oracle 多表查询分析
这两张表可以直接利用DEPTNO字段关联,所以需要利用WHERE字段来消除笛卡尔积以上查询是之前基础的加强,有明确的关联字段,可是很多的查询是不会明确给出关联字段例:要求查询每个雇员的编号,姓名,职位,基本工资,工资等级| - 确定要使用的数据表,EMP表:雇员的编号,姓名,职位,基本工资salgrade表:工资等级| - 确定已知的关联字段,雇员与...原创 2018-12-18 22:16:12 · 408 阅读 · 0 评论 -
Oracle表的内连接与外连接的操作实现
对于两张数据表进行数据查询时,对于消除笛卡尔积主要是依靠连接模式处理的,而对于数据库的定义有两种:内连接和外连接内连接:使用WHERE子句消除笛卡尔积,这就属于内连接,只有满足条件的数据才会显示外连接:分为三种,左外连接,右外连接,全外连接为了更好的观察到连接的区别,现在已经在部门表中提供了内连接实现效果对于数据表的连接操作,从实际使用来讲,各个数据库都是有所支持的,所...原创 2018-12-20 10:40:30 · 554 阅读 · 0 评论 -
ORACLE:分组统计函数(COUNT()、SUM()、AVG()、MAX()、MIN())的使用
知识点:统计函数:COUNT()、SUM()、MIN()、MAX()、AVG()这些统计函数是允许和其它函数嵌套的例:统计出企业员工的平均雇佣年限以上的几个操作函数,在表中没有数据的时候,只要COUNT()函数会返回结果,其它都是Null可见只有COUNT()函数会返回最终的结果,即使没有数据也返回0,而其他的都是null分组统计...原创 2018-12-20 21:21:54 · 12603 阅读 · 0 评论 -
Oracle 子查询的基本语法以及使用原则
在整个SQL查询语句过程中,子查询并不具备特殊的语法,在整个SQL查询操作子句中:SELECT、 FROM 、WHERE 、GROUB BY 、HAVING 、 ORDER BY。如果非要给出子查询的语法,那么只能怪进行拼凑。所谓子查询,实际上为查询的嵌套,查询的子句任意位置上,都可以随意出现子查询。但是出现子查询最多的位置:WHERE,FROM .以下给出几个子查询的参考方案...原创 2018-12-21 22:25:12 · 1103 阅读 · 0 评论 -
Oracle:复杂查询
第一志愿:找到30部门所有雇员的薪金第二步:以上返回的是多行单列的数据,此时可以三种判断符判断:IN、ANY、ALL。现找到所有员工,使用“>ALL"第三步:要找到部门的信息,自然在FROM子句之后引入dept表。而后要消除笛卡尔积,用内连接第四步:需要统计出部门人数的信息于是此时出现了一个矛盾,因为SELECT子句中有其它字段,所以不可能使用GROU...原创 2018-12-22 16:56:04 · 221 阅读 · 0 评论 -
ERROR:ORA-01756: 引号内的字符串没有正确结束
错误:ORA-01756:引号内的字符串没有正确结束解决方法:字符串左右需要单引号'先检察有没有打错,主要就是单引号和逗号,不要打成中文的了空不需要引号,甲骨文中出现这个问题的原因就是出现了引号的错误没有语法错误的话,则将原SQL文件改为ANSI编码格式,就会看到报错语句中中文部分乱码,并且后面却没有单引号结束符,修改重新编写后,保存执行则不会再报该错误,执行通过。INSERT...原创 2018-12-22 20:47:21 · 25441 阅读 · 1 评论 -
ORACLE:数据更新
1、数据的增加2、数据的修改3、数据的删除在SQL语句中,DML语法包含两个内容:查询、更新。对于查询,主要以复杂查询为主,而更新操作分为三种:增加、修改、删除。所有的更新操作语法都是固定的,但是在更新的时候又离不开查询由于emp表中的数据对日后的开发依然有用处,所以在讲解更新操作之前,建议将emp表数据进行一个复制。将emp表复制为myemp表数据增加对于数据表肯...原创 2018-12-23 13:42:19 · 284 阅读 · 0 评论 -
Oracle 事务处理
事务处理基本概念事务:是保证数据完整性的一种手段,事物具备ACID原则。保证当一个人更新数据的时候,其他人不能更新。在Oracle中sqlplus是一个客户端,但是对于Oracle服务而言,每个sqlplus客户端都是独立的,都使用一个Session真正使用了commit提交的时候才表示更新是可以正常完成的。所有的更新操作都可以被事物保护,假如说现在第二步没有实现,...原创 2018-12-23 15:07:02 · 4472 阅读 · 0 评论 -
SQL数据伪列
行号:ROWNUM(核心)如果在开发之中使用了ROWNUM,那么就表示会自动的生成行号ROWNUM是一个伪列,只是使用他生成行号。 发现ROWNUM在每一行显示的时候,都会自动增加一个行号,但需要记住ROWNUM生成的行号不是固定的。而是动态计算得来的。每一个行号都不会与特定的记录捆绑,在实际的开发过程中,ROWNUM可以做两件事情。例:查询emp表中的记录并且取得...原创 2018-12-26 18:44:49 · 2107 阅读 · 0 评论 -
SQL表的创建于管理
主要内容:比啊本质上就属于数据集合操作,那么数据集合里面必然有需要保存的集合类型。在数据库的开发过程中,每一个数据库都有许多自己支持的数据类型。但不管扩展多少数据类型,真正的常用的类型有以下几种。*字符串:使用VARCHAR2描述(其他数据库使用VARCHAR),200个字以内的都是由此类型。如:姓名、地址、邮编、手机号*数据:在ORACLE中使用NUMBER描述数字,如果...原创 2018-12-26 22:17:20 · 153 阅读 · 0 评论