
数据库
主要分析oracle、mysql和sqlserver三个常用数据库相关知识点
亓勝
愚者一切求别人,知者一切求自己。
展开
-
2021-08-02
Oracle 创建表空间、创建用户并为之授权并指定表空间在安裝安Oracle數據庫之後,我們都會创建自己的数据库,对于初学者来说,最简单的使用方法是使用 Database Configuration Assistant 工具来创建。在创建完数据库之后,并不能立即在数据库操作,必须为您的数据库创建用户,并为之创建表空间。关系:数据库和表空间。一个数据库可分为多个表空间,创建用户后并为之指定表空间和授权,这样用户就可以单独操作自己的资源。用户每次登录的之后,在自己的表空间中执行create,updat原创 2021-08-02 09:57:55 · 272 阅读 · 0 评论 -
记一次数据库恢复-ORA-01194
尝试打开数据库时,发现打不开cmd 登录: sqlplus / as sysdbaSQL> alter database open resetlogs;alter database open resetlogs第 1 行出现错误:ORA-01194: 文件 1 需要更多的恢复来保持一致性ORA-01110: 数据文件 1: 'E:\APP\ADMINISTRATO...转载 2019-11-20 14:54:21 · 6699 阅读 · 0 评论 -
Oracle复杂查询案例
复杂查询案例:1、列出工资高于30部门工作的 所有员工的工资的员工姓名和工资、部门名称,部门人数。 --已知条件: 数据表:emp和dept 关联字段:emp.deptno=dept.deptno 从 emp查询:姓名、工资,人数 从dept查询:部门名称 SELECT e.ename,e.s...原创 2017-07-27 13:37:15 · 521 阅读 · 0 评论 -
Oracle之经典查询
查询员工编号,姓名,雇佣日期,雇佣了多少年,几个月,几天1、分析雇佣的天数: 代码:SELECT empno,ename,hiredate,TRUNC(MONTHS_BETWEEN(SYSDATE,hiredate)/12) year, TRUNC(MOD(MONTHS_BETWEEN(SYSDATE,hiredate),12)) m...原创 2017-09-21 22:16:34 · 265 阅读 · 0 评论 -
Oracle批量保存的两种方法
Oracle批量保存的两种方法创建序列: create sequence dept_seq minvalue 0;方法1: begin insert into dept(deptno,dname,loc) values (dept_seq.nextval,'111','AAA'); insert into dept(deptno,dname,l...原创 2017-12-12 22:50:43 · 1081 阅读 · 0 评论 -
Oracle:分页条件
代码解析:SELECT b表.*,ROWNUM FROM (SELECT a.*,ROWNUM rn FROM a表 (WHERE 条件...多个)) b WHERE b.rn>起始索引 AND b.rn < 结束索引;分页原理:(没有条件)第一步:从什么开始取值。。。?第二部:从哪里结束取值。。。?分页原理:(有条件...原创 2017-12-22 10:02:32 · 880 阅读 · 0 评论 -
Oracle根据年份获取月份
以上命令在DOS命令操作(CMD):SQL> select &year||'-'||lpad(rownum,2,'0') yyyymm 2 from dual 3 connect by rownum<=12 4 /输入 year 的值: 2012原值 1: select &year||'-'||lpad(rownum,2,'0') yyyymm新值原创 2018-01-15 01:00:26 · 4486 阅读 · 0 评论 -
MySQL查询过程和高级查询
通过中篇的介绍,你会了解到: MySQL查询过程 高级查询相关概念 explain命令详细介绍 索引优化建议 MySQL查询过程想要更好的优化查询,首先要了解其整体查询过程,从客户端发送查询请求,到接收到查询结果,MySQL服务器做了很多工作。逻辑架构MySQL逻辑架构整体分为三层,分别为客户端层、核心服务层、存储引擎层,共同协作完成。...转载 2018-11-13 11:12:07 · 223 阅读 · 0 评论 -
mysql:实现oracle、sql server中的row_number() over功能【分组排序】
对数据库中的某张表的进行分组排序并对结果集的输出进行编号:Oracle和SQL Server实现:通过row_number() over,SQLserver实例:SELECT ROW_NUMBER() OVER(PARTITION BY recovery_model_desc ORDER BY name ASC) AS Row#, name, recover...原创 2018-12-13 17:31:05 · 5223 阅读 · 12 评论 -
Oracle之数据库设计的三大范式
1、第一设计范式:数据表中的列不可在分--列子CREATE TABLE 用户表( 编号 NUMBER, 地址 VARCHAR2(200));用户表中的地址不明确,还有可能是手机,email,住址,省份。。。。。。等2、第二设计范式:数据表中不存在非关键字段对任意一候选关键字段的部分函数依赖。--列子CREATE TABLE 订单表( ...原创 2017-08-07 12:18:12 · 366 阅读 · 0 评论 -
sql*plus
主要功能:1. 数据库的维护,如启动,关闭等,这一般在服务器上操作。2. 执行sql语句执行pl/sql。3. 执行sql脚本。4. 数据的导出,报表。5. 应用程序开发、测试sql/plsql。6. 生成新的sql脚本。7. 供应用程序调用,如安装程序中进行脚本的安装。8. 用户管理及权限维护等。常用相关命令:1. 执行一个SQL脚本文件转载 2017-07-28 19:32:30 · 335 阅读 · 0 评论 -
dos命令中oracle常用设置
--dos命令中oracle常用设置--查看表desc dept;--设置每行显示数据的大小,和每页显示多少条记录set linesize 100 pagesize 50 ;--也可以分开写【newline和newpage是名称可以随便写,但不能不写】set linesize 100 newline;set pagesize 50 newpage ;--设置列的长度和对齐方式:col...原创 2017-06-26 17:38:06 · 597 阅读 · 0 评论 -
Oracle之伪列ROWNUM
--可以查询表的第一条数据SELECT ROWNUM,empno,ename,sal FROM emp WHERE ROWNUM =1;--可以查询表的前n条数据SELECT ROWNUM,empno,ename,sal FROM emp WHERE ROWNUM <=5;--分页查询格式(currentPage:当前页;lineSiz...原创 2017-08-02 11:55:06 · 257 阅读 · 0 评论 -
Oracle之表的创建与管理
1、常用的数据类型(★):数字:NUMBER(m,n),n表示小数位,m-n表示整数位 整数:INT 小数:FLOAT字符串:VARCHAR2大文本数据:CLOB(最多可以保存4G)日期:DATE或DATETIME大对象数据:BLOB,保存图片、音乐、电影、文字(最多可以保存4G)2、创建数据表(★)CREATE TABLE 表名称( 列名1 类型 ...原创 2017-08-02 13:44:54 · 301 阅读 · 0 评论 -
Oracle之约束的创建与管理
五大约束:非空,唯一,主键,外键,检查1.非空约束(NOT NULL)CREATE TABLE club( mid NUMBER, name VARCHAR(20) NOT NULL);DROP TABLE club PURGE;2.唯一约束(UNIQUE,UK):列不允许有重复值CREATE TABLE club( mi...原创 2017-08-02 14:50:31 · 940 阅读 · 2 评论 -
Oracle之序列
语法:CREATE SEQUENCE 序列名称[MAXVALUE]最大值[NOMAXVALUE][MINVALUE]最小值[NOMINVALUE][INCREMENT BY 步长][START WITH 起始值][CYCLE | NOCYCLE][CACHE 缓存个数 | NOCACHE];默认缓存有20个。序列属于数据库对象的创建过程,属于DDL的分类范畴。查询use...原创 2017-08-04 13:23:44 · 245 阅读 · 0 评论 -
Oracle之视图
Oracle之视图语法:(管理员赋予权限)CONN sys/manager AS SYSDBA;GRANT CREATE VIEW TO SCOTT;CONN scott/tiger;CREATE[OR REPLACE] VIEW 视图名称 AS 子查询;查询视图的信息:SELECT * FORM user_views;视图可以像普通查询一样查询,视图包装了SQL查询语...原创 2017-08-04 14:34:47 · 208 阅读 · 0 评论 -
Oracle常用函数
--oracle之常用函数trunc();--四舍五不入select trunc(89745.43) from dual;--结果:89754select trunc(89745.43,1) from dual;--结果:89745.40select trunc(89745.46,1) from dual;--结果:89745.40select trunc(89745.46原创 2017-06-26 17:05:25 · 289 阅读 · 0 评论 -
Oracle之索引
语法:CREATE INDEX 索引名称 ON 表名称(列名);打开追踪器:SET AUTOTRACE ON;--列子SET AUTOTRACE ON;SELECT * FROM SCOTT.emp WHERE sal>1500;(没有创建索引前的查询)CREATE INDEX emp_sal_index on scott.emp(sal);SELECT原创 2017-08-05 14:35:10 · 208 阅读 · 0 评论 -
Oracle之用户管理
1.要想创建用户,需要管理员登录,以下操作在sys下操作2.创建用户 CREATE USER 用户名 IDENTITYFY BY 密码;--列子: CONN sys/manager AS SYSDBA; CREATE USER Jack IDENTIFIED BY Jackps;3.新创建的用户不具备任何权限,如果要想获取登录权限,可以使用原创 2017-08-05 15:52:30 · 295 阅读 · 0 评论 -
Oracle之数据库备份
dos命令下:1、导入第一步:导入的目录第二步:进入目录输入exp 2、导出第一步:导出的目录第二步:进入目录输入imp 3.管理员登录操作下面信息:A.查找控制文件信息:SELECT * FROM v$controlfile;B.查找重做文件信息:SELECT * FROM v$logfile;C.查找数据文件信息:SELECT * FROM v$...原创 2017-08-05 16:38:23 · 275 阅读 · 0 评论 -
分组函数(group by)
--分组函数(group by 列名1,列名2...[having 函数])--查询所有部门名称以及部门员工的数量select dname,count(empno) from dept d,emp ewhere e.deptno(+)=d.deptnogroup by dname;--查询非销售员和每个部门的员工工资总和,部门的员工工资总和大于5000,按照部门员工的工资的原创 2017-06-30 22:28:16 · 2955 阅读 · 0 评论