数据库
文章平均质量分 54
新手村的0级玩家
一只飞奔的蜗牛,虽进步缓慢,但从未停止脚步
展开
-
PG数据库创建视图并授权给新用户
目录0. 背景1.分析2.实现2.1根据功能创建新视图2.2创建新用户2.3只授权新用户新视图的查询权限2.4 数据库服务器添加配置3.总结0. 背景客户想要几张表的汇总数据,要直接访问数据库获取数据库服务器为 PostgreSQL 11.41.分析原则: 不能直接开放表的任何权限给用户,用户只能查询数据思路是:1.根据功能创建新视图2.创建新用户 3.只授权新用户新视图的查询权限2.实现2.1根据功能创建新视图create view view_students asse原创 2020-11-19 16:18:41 · 4666 阅读 · 1 评论 -
从ORA-01033 到重建控制文件
前言之前的一个项目,闲置了很长时间后,再次打开提示 1.数据库未打开ORA-01033: ORACLE initialization or shutdown in progress查看当前数据库状态SQL> select status from v$instance;STATUS------------MOUNTED2.数据库打开失败发现当前数据库不是处于OPEN的状态那就打开 数据库SQL>a原创 2017-03-29 16:39:45 · 573 阅读 · 0 评论 -
C#调用Oracle的存储过程
0前言平时操作Oracle数据库一般都是调用工具类或者框架,慢慢的都快忘了是如何实现的了(汗颜啊) 看来平时在学习技术和编程的同时,还真的要好好的熟悉一下基础知识啊 只记得大概的流程,今天特此整理,算是纪念吧(笑哭)一、实现流程1.1获取连接 OracleConnection connection = new OracleConnection(str_connec); 其中连接字符串str_原创 2017-08-29 21:38:36 · 1832 阅读 · 0 评论 -
Oracle创建表空间并授权的步骤
1.首先需要查询 服务器表空间的存储位置select tablespace_name, file_name, bytes/1024/1024 file_size,autoextensible from dba_temp_files;C:\APP\ADMINISTRATOR\ORADATA\CUST\TEMP01.DBF2.创建临时表空间创建用户之前要创建原创 2017-08-29 21:40:28 · 386 阅读 · 0 评论 -
浅谈DQL之“相等问题”
0.前言今天在操作数据库时遇到了一个挺有意思的问题,特此记录1.问题提出现有一张emp表,表内数据如下 需求:求各部门薪水最高的员工信息CREATE TABLE emp( empno INT, ename VARCHAR(50), job VARCHAR(50), mgr INT, hiredate DATE原创 2017-11-02 23:34:19 · 226 阅读 · 0 评论 -
Oracle统计每个公司每年的员工信息——另类“两次分组”
1.前言昨天遇到一个统计的问题,数据大概14w条左右,在Excel文件中,原本打算用之前学的python练练手,后来时间紧,就直接导到Oracle数据库里统计了,解决的过程挺有意思,特此记录如下:2.需求 现有3000多家公司2008年-2016年 员工的信息;约有14w条数据;存储在 Excel文件中; 要求统计: 1.每个公司每年的员工数 2.每个...原创 2018-04-23 11:01:35 · 1899 阅读 · 0 评论 -
DBLP数据集处理
0.前言最近写论文用到了比较出名的DBLP数据集,详细介绍见DBLP官网DBLP数据集下载地址DBLP是以XML的形式给出的,类似于<?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE dblp SYSTEM "dblp.dtd"><dblp> <article原创 2018-07-13 20:30:20 · 5146 阅读 · 2 评论 -
Mysql数据导入大SQL文件问题
0.前言最近工作中经常遇到mysql数据库导入大SQL文件的问题,动辄几个G的SQL文件导入,一些常见的数据库管理工具根本操作不了,而且mysql自身的配置也有局限,特此将整理后的导入过程记录如下:1.修改mysql配置需要修改 my.ini文件,文件在数据库安装目录下:用记事本打开后,在[mysqld]标签下添加如下配置(可以根据情况自行调整)# 导入大于...原创 2018-07-30 10:28:59 · 1297 阅读 · 0 评论 -
mysql导入导出脚本的区别对比
0导出导入运行脚本位置的区别MySQL的数据库的导出:直接在命令行里运行脚本MySQL的数据库的导入:在mysql数据库控制台里运行脚本需要特别注意的是: 脚本导出的文件,由脚本导入 数据库管理工具导出的文件,由数据库管理工具导入 特别说明: 本篇讨论的是导入导出数据库的结构+ 数据,仅仅导入导出'结构'则可以更加灵活1.导入导出整个数据库...原创 2018-07-30 16:34:20 · 555 阅读 · 0 评论 -
MySQL修改默认数据存储路径
0.前言最近在MySQL数据库里操作了大批量的数据,电脑开始变卡,经查询发现是因为C 盘 被MySQL数据存储文件占用了很多空间,所以,将MySQL默认的数据存储路径进行修改,整理记录如下1.操作步骤1.1 停止MySQL服务1.2修改默认数据存储路径(修改mysql安装路径下的my.ini文件)1.3 将原始 数据存储文件 整体剪切到新路径下...原创 2018-07-30 17:04:38 · 3063 阅读 · 0 评论 -
MySQL年月日
0.前言最近写SQL语句的过程中,遇到了很多与年月日相关的问题,特此记录如下:1.函数介绍1.1 获取系统当前年月日SELECT CURRENT_DATE;1.2 为某一个时间,增加或者减少年月日SELECT CURRENT_DATE 今天, date_add( CURRENT_DATE, INTERVAL 1 DAY ) 明天,...原创 2018-08-09 14:06:01 · 1302 阅读 · 0 评论 -
面试题——笛卡尔积
0.前言最近参加某公司的面试,问到了一个用到笛卡尔的SQL题目,非常有意思,特此总结如下:1.问题描述现有一个表 t_table,只有一个字段 ID,该表有十条数据 0-9 要求通过Select语句查询,查询结果是0-992.思路首先对查询结果进行分析: 1.0-99 个位和十位都是用了0-9 2.当十位为0-9中任意一个时,个位同样可以为0-9(互相...原创 2018-09-12 16:40:57 · 1243 阅读 · 1 评论 -
Oracle 11g导出缺失表
前言 oracle 11G中有个新特性,当表无数据时,不分配segment,以节省空间。因此,如果表内没有数据,采用 exp 导出时,那些空表就不会导出解决方法:1. 逐个表处理 insert一行,再rollback就产生segment了该方法是在在空表中插入数据,再删除,则产生segment。导出时则可导出空表。2设置deferred_segment_creation参数即,取消o原创 2017-03-12 11:46:36 · 428 阅读 · 0 评论 -
Oracle版本问题引发的三两事
前言新入手一个项目,在同步本地数据库到服务器时,因数据库版本问题,碰见了两三个坎,特此整理成文。特别说明 本地 数据库为: Oracle 11g 服务器数据库为:Oracle 10g一、步骤说明这里的数据库同步采用的是非常简单暴力的方法。服务器数据库备份====> 服务器数据库归零(数据和结构完全删除清空)数据库数据备份====>导入到服务器数据库二、遇到的问题1. 服务器数据导出原创 2017-03-18 22:28:34 · 603 阅读 · 0 评论 -
C#调用Sql Server 2008的存储过程流程
前言最近用到了sql server 2008的存储过程,特此整理成文流程步骤1.获取链接2.建立可以执行SQL语句的SqlCommand3.指明调用的是存储过程4.设置数据适配器5.执行存储过程6.将结果存储到DataSet里7.解析DataSet中的数据原创 2016-11-15 22:37:10 · 1097 阅读 · 0 评论 -
Sql Server 2008单个存储过程统计多个信息
1.前言近来用SQLServer2008实现了对一个表的多个信息的统计功能,感觉很有意思,特此整理成文。2.前驱知识SQLServer2008里面,可以直接用Select将数据查询出来比如说select '2016年11月15日22:53:58' 我的写作时间 执行的结果为 那么便可以利用这个特性,来统计一个表的多个信息原创 2016-11-15 23:08:39 · 1827 阅读 · 0 评论 -
浅谈数据库导入导出格式问题
前言实际开发过程中,不可避免的要将数据导入和导出数据库DFB文件,CSV文件,EXCEL文件,脚本文件等等等等有很多的选择那么问题来了 导入导出的时候采用什么格式更好?首先我们必须了解:导出和导入格式的选择只是为了方便操作,单独的讨论什么格式更好,根本没有意义,因为不同的格式都有其各自的特点,故此,必须根据`实际需求`来选择。1.数据导入1.1数据导入的目的是什么?数据导入的目的简单明了,就原创 2016-12-01 20:12:35 · 4976 阅读 · 0 评论 -
SQL语句实现关系代数中的“除法”
1. 除法运算的定义:给定关系R(X,Y)和S(Y,Z),其中X,Y,Z为属性组。R中Y与S中的Y可以有不同的属性名,但必须出自相同的域集。R与S的除运算可以得到一个新的关系P(X),P是R中满足下列条件的元组在X 属性列上的投影: 元组在X上的分量值x的像集Y(x)包含S在Y上的投影的集合。2.求解步骤过程:第一步:找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出);第原创 2016-12-04 20:39:30 · 18597 阅读 · 2 评论 -
SQL语句对结果集操作
前言集合常见的操作是 交并差的操作,那么SQL语句是如何实现的呢?1.交集1.1 关键字 :InterSect形成交集 InterSect可以对两个或多个结果集进行连接,形成“交集”。返回左边结果集和右边结果集中都有的记录。1.2限定条件 要是用Except来连接结果集,有4个限定条件。 (1)、子结果集要具有相同的结构。 (2)、子结果集的列数必须相同。 (3)、子结果原创 2016-12-04 20:40:21 · 3356 阅读 · 0 评论 -
SQL语句大(bu)全
前言近来感觉SQL语句有些生疏,于是,便有了这次的回忆采用的是SQLServer 2008最常见的三张表Student(sno, name, sex, age, dept ) Course(cno, name, pno, teacher, credit) SC(sno, cno, grade)常见SQL语句1.插入一名学生的信息’200215126’, ‘张辉’, ‘男’, 20, ‘IS’in原创 2016-12-04 20:44:50 · 1968 阅读 · 0 评论 -
ORA-04043艰难的解决之路
PLSQL分明存在删掉 PACK_KC_Check 错误: ORA-04043: 对象 PACK_KC_CHECK 不存在原创 2017-01-14 23:17:33 · 8698 阅读 · 0 评论 -
浅谈Oracle数据库导入导出方法
前言数据库数据备份和还原是一个绕不开的话题,此处整理几种常见的方法1.导出导入表结构和数据1.1 导出exp mytest/123456@Test file=D:\backup.dmp log=D:\backup.log owner=mytest; exp 用户名/密码@数据库名 file= log= owner=用户名1.2 导入imp mytest2/123456@Test2 f原创 2017-03-08 11:20:46 · 506 阅读 · 0 评论 -
C#封装DBF文件到DataTable
前言最近的项目经常与DBF打交道,所以如何简洁的解析DBF文件就非常的关键了,这里介绍一种不用安装驱动,只需要借助第三方类库FastDBF读取DBF文件到DataTable的方法说明项目中必须引用FastDBFusing SocialExplorer.IO.FastDBF;代码实现 /// <summary> /// 从DBF读取文件到DataTable原创 2017-02-25 19:39:59 · 1638 阅读 · 0 评论 -
C#封装EXCEL文件到DataTable
前言项目需要解析EXCEL文件,又限定了不能用插件和驱动,只能用类库,于是找到了NPOI此处只简单介绍利用NPOI类库解析EXCEL文件的方法。说明必须在最开始引用NPOIusing NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using NPOI.HSSF.UserModel;代码实现 /// <summary>原创 2017-02-25 21:00:30 · 2152 阅读 · 2 评论 -
C#模板文件比对
前言最近项目里涉及到相关数据文件的上传与解析,整个过程的详细流程及实现此处暂且不讲,这里想谈一下如何确定用户上传的文件是否能够正常解析?问题描述换句话说,就是如何判断用户上传的文件是否采用了提供的模板比如说,你提供的模板是 姓名 年龄 身份证号 张三 12 XXXX而用户上传的是 姓名 科目 成绩 张三 12 XXXX如何判断,得出结论问题分析直接判断原创 2017-02-25 20:24:56 · 651 阅读 · 0 评论 -
浅谈存储过程
什么是过程?过程与函数的区别?什么是存储过程???函数是带返回值的过程过程是没有返回值的函数存储过程:存储在数据库中的封装了若干条SQL语句的过程本文讲述了如何编写一个简单的存储过程以及如何在存储过程里编程最后一个例子演示了如何用C#调用SQLServer2008里的存储过程,并将结果封装原创 2016-10-01 15:04:21 · 1308 阅读 · 0 评论