数据库文件

Sql server bulk insert

那年仲夏 提交于 2020-01-07 05:06:41
Sql server bulk insert Bulk Insert Sql server 的bulk insert语句可以高效的导入大数据量的平面文件(txt,csv文件)到数据库的一张表中,其用法如下: bulk insert test from 'f:\test.txt' with (fieldterminator=',', rowterminator='\n') 其中"test"是数据库表的名字,"f:\test.txt"是导入平面文件的地址,fieldterminator指定平面文件中列的分隔符是什么,rowterminator指定平面文件中行的结束符是什么。 还可以使用FIRSTROW和LASTROW限制行数。如下COPY前三行: bulk insert test from 'f:\test.txt' with (fieldterminator=',', rowterminator='\n', FIRSTROW =1, LASTROW=3) 要把平面文件数据导入到数据库表中,平面文件只有3个字段,数据库表有7个字段, 怎么把平面文件字段的对应到表的字段,如何用bulk insert来实现? 数据库表 userinfo CREATE TABLE userinfo ( id INT identity, userName varchar(20), pass varchar

Redo与Undo的理解

血红的双手。 提交于 2020-01-07 01:26:29
本文概要 本文分两部分, 第一部分概念介绍,重在理解。 第二部分通过MySQL Innodb中的具体实现,加深相关知识的印象。 本文的原意是一篇个人学习笔记,为了避免成为草草记录一下的流水账,尝试从给人介绍的角度开写。但在整理的过程中,越来越感觉力不从心,一是细节太多了,原以为足够了解的一个小知识点下可能隐藏了很多细节;二是内容与范围的取舍,既想有点技术性避免空谈,又不想陷入枯燥冗长的小细节描述。几番折腾,目前的想法把坑填上,能写完就不错了,你读起来有不顺或错误的地方请见谅,欢迎反馈。 1. 概念与理解 Redo与undo并非是相互的逆操作,而是能配合起来使用的两种机制。 说是两种机制,其实都是日志记录,不同的是redo记录以顺序附加的形式记录新值,如某条记录<T,X,V>,表示事物T将新值V存储到 数据库 元素X,新值可以保证重做; 而Undo记录通常以随机操作的形式记录旧值,如某条记录<T1,Y,9>,表示事物T1对Y进行了修改,修改前Y的值是9,旧值能用于撤销,也能供其他事务读取。 Redo用来保证事务的原子性和持久性,Undo能保证事务的一致性,两者也是系统恢复的基础前提。 1.1 Redo 一个事务从开始到结束,要么提交完成,要么中止,具有原子性。而反映在redo日志中可能需要若干条记录来保证,如: <T0 start> <T0,A,500> <T0,B,500> <T0

Oracle 字符集的查看和修改

ぐ巨炮叔叔 提交于 2020-01-06 18:35:40
Oracle 字符集的查看和修改 一、什么是 Oracle 字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使 数据库 工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。 影响Oracle数据库字符集最重要的参数是NLS_LANG参数。 它的格式如下: NLS_LANG = language_territory.charset 它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。 其中: Language: 指定服务器消息的语言, 影响提示信息是中文还是英文 Territory: 指定服务器的日期和数字格式, Charset: 指定字符集。 如:AMERICAN _ AMERICA. ZHS16GBK 从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。 所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。 二.字符集的相关知识: 2.1 字符集 实质就是按照一定的字符编码方案,对一组特定的符号,分别赋予不同数值编码的集合。Oracle数据库最早支持的编码方案是US7ASCII。 Oracle的字符集命名遵循以下命名规则:

MySQL灵魂五十问

给你一囗甜甜゛ 提交于 2020-01-06 17:14:36
1、MySQL 中有哪几种锁? 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 2、MySQL 中有哪些不同的表格? 共有 5 种类型的表格: MyISAM Heap Merge INNODB ISAM 3、简述在 MySQL 数据库中 MyISAM 和 InnoDB 的区别 MyISAM: 不支持事务,但是每次查询都是原子的; 支持表级锁,即每次操作是对整个表加锁; 存储表的总行数; 一个 MYISAM 表有三个文件:索引文件、表结构文件、数据文件; 采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引 基本一致,但是辅索引不用保证唯一性。 InnoDb: 支持 ACID 的事务,支持事务的四种隔离级别; 支持行级锁及外键约束:因此可以支持写并发; 不存储总行数: 一个 InnoDb 引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制, 一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为 2G),受操作系统文件大小的限制; 主键索引采用聚集索引(索引的数据域存储数据文件本身)

Oracle 数据泵expdq,impdq

匆匆过客 提交于 2020-01-06 16:57:55
使用数据泵技术实现逻辑备份 数据泵概述 数据泵(DATA PUMP)是一种在数据库之间、数据库与操作系统之间,高速传输数据的技术(10g推出)。 逻辑备份概述 逻辑备份是对数据库对象(如用户、表、存储过程等)利用EXPORT等工具进行导出 物理备份对比 物理备份是转储ORACLE物理文件(如数据文件、控制文件、归档日志文件等) 物理备份旨在完全恢复整个数据库,要求完全相同的备份环境和恢复环境 逻辑备份旨在备份数据本身,可移植性强,但是备份和恢复速度低下,大型业务系统一般不用 操作步骤 1.创建目录对象(在哪导入,导出到哪) CREATE DIRECTORY 目录名(dump_dir) as '绝对路径'; 2.dump_dir目录授予 GRANT read,write on directory 目录名 to 导入导出用户; SELECT * FROM DBA_DIRECTORIES; 查询所有已创建的目录 DROP directory 目录名; 删除目录 3.expdq导出(EXPDP和IMPDP是Oracle服务端的工具,退出sqlplus) 第一种:全量导出数据库: expdp 用户名/密码@orcl dumpfile=导出文件名.dmp directory=目录名 full=y logfile=日志名.log;(与dmp一个目录) 第二种:按用户导出: expdp 用户名

linux crm部署流程

邮差的信 提交于 2020-01-06 14:41:54
linux 基础配置 python3的linux环境编译安装 1.linux下安装软件的方式 -首选yum工具,方便,自行解决软件之间的依赖关系,自动下载且安装 1.配置yum源(就是一个软件仓库,里面放了一堆rpm软件包) 可以选择阿里云源,清华yum源 配置第一个仓库,里面有大量系统常用软件 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo 还得配置第二个仓库,携带大量第三方软件(nginx,redis,mongodb,mairadb等) wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 2.你得了解yum的仓库目录 cd /etc/yum.repos.d/ #在这个目录第一层的repo文件就会被识别问yum软件仓库 3.清空yum缓存,清空centos官方的yum软件缓存 yum clean all 4.生成新的阿里云的yum缓存 yum makecache -wget 在一个资源url的命令 -apt-get ubuntu底下的yum -使用yum仓库,不仅仅可以使用第三方的yum仓库,还是可以指定官方的yum源

R语言- 实验报告 - 数据清洗

烈酒焚心 提交于 2020-01-06 12:32:01
一、 实训内容 能对基本的开发环境进行检验和错误排查,以及对新语言软件进行安装。 能使用Navicat for MySQL对MySQL数据库进行基本的连接测试,同时,在mysql中新建student数据库。能利用外部SQL脚本文件对数据库进行数据集的导入和初始化。 熟悉利用eclipse编程工具,新建项目和工具类对mysql数据库进行相应的操作,以及从该项目中导出可执行的jar文件。 利用R-3.6.1-win.exe运行,导出的可执行的jar文件。并编写一个“数据清洗.r”脚本文件,对C:\ inputdir目录下,导出的studentdata.txt数据文件进行数据清洗操作,包括过滤字段等操作。同时,在C:\outputdir目录下生成已经进行数据清洗的数据文件studentdata.txt 。 二、 实验课题目标 掌握基本的开发环境的搭建、检验和错误排查能力,熟悉新的开发语言。 熟悉使用Navicat for MySQL软件对MySQL数据库进行基本的操作。重要的是,能利用外部SQL脚本文件对特定的数据库进行数据集的导入和初始化。 掌握eclipse编程工具的使用,以及在编程过程中熟悉常用的快捷键,提高编程的效率。掌握如何编写一个常规的Java类程序,对mysql数据库进行进本的数据操作,以及能从Java项目中导出相应可执行的jar文件。 掌握R语言的基本语法,以及R-3.6

Linux笔记 软件管理

|▌冷眼眸甩不掉的悲伤 提交于 2020-01-06 01:22:34
一、软件包分类 1.软件包分类: 源码包、二进制包 源码包: 源代码 1)优点:开源,有能力可修改源代码 可以自由选择所需的功能 软件是编译安装,更适合Linux系统,更稳定效率更高 卸载方便。 2)缺点:安装过程步骤多,编译时间较长,安装过程中一旦报错新手很难解决。 二进制包: 源码包经过编译之后生成的二进制程序(0101000...)。Linux的二进制包后缀为.rpm 1)二进制包分类:DPKG包:主要应用在Debian和ubuntu中 RPM包:主要的Linux系统包管理方式 2)优点:安装简单,安装速度快 3)缺点:不开源,有依赖性。 4)RPM包依赖性:树形依赖:a---->b---->c 环形依赖:a---->b---->c---->a 模块依赖(函数库依赖) 2.软件包选择建议 源码包:如果服务是给大量客户提供访问则建议使用源码包,源码包效率更高 RPM包:如果程序是给少量用户访问,或者是在本地使用,建议RPM包。 3.软件包的组成部分: 二进制程序,位于 /bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin 等目录中。 库文件,位于 /lib, /usr/lib, /usr/local/lib 等目录中。Linux中库文件以 .so(动态链接库)或 .a(静态链接库)作为文件后缀名。

Oracle管理表空间和数据文件详解

坚强是说给别人听的谎言 提交于 2020-01-05 11:55:10
介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Oracle中逻辑结构包括表空间、段、区、块 说明: 数据库由表空间构成 而表空间又是由段构成 而段又是由区构成 而区又是由Oracle块构成 这样的一种结果,可以提高数据库的效率 表空间 介绍: 表空间用于从逻辑上组织数据库的数据 数据库逻辑上是由一个或是多个表空间组成的 表空间的作用: 1、控制数据库占用的磁盘空间 2、dba可以将不同数据类型部署到不同的位置。这样有利于提高i/o性能,同时利于备份和恢复等管理操作 建立表空间 建立表空间是使用create tablespace命令完成的,要注意时,一般情况下,建立表空间是特权用户或是dba来执行的,如果用其它用户来创建表空间,则用户必须要具有create tablespace的系统权限 建立数据表空间 在建立数据库后,为便于管理表,最好建立自己的表空间 create tablespace 表空间名 datafile '数据文件路径' size 数据文件的大小 uniform size 区的大小; create tablespace tangtao001 datafile 'd:\t001.dbf' size 20m uniform size 128k;

Nodejs + MongoDb

谁都会走 提交于 2020-01-05 04:09:36
一、搭建开发环境 进入 http://nodejs.org 下载开发环境 http://Expressjs.com 下载安装Express npm install -g express ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- MongoDB对许多平台都提供驱动可以访问数据库,如C#、Java、Node.js等。这里以Node.js为例。 安装MongoDB访问驱动 使用包管理器,在命令行执行如下指令: 全局安装驱动 npm install mongodb -g 在当前项目中引入mongodb npm install mongodb --save 在项目的根目录下新建一个db.js文件,使用Node.js操作MongoDB 添加数据 //引入mongodb模块,获得客户端对象 var MongoClient = require('mongodb').MongoClient; //连接字符串 var DB_CONN_STR = 'mongodb://localhost:27017/gomall'