使用文本型数据库

转载 2012年12月07日 14:50:20

大笑微笑生气吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头吐舌头生气微笑大笑


偷笑我爱北京天安门偷笑


偷笑天安门上太阳升偷笑


偷笑伟大领袖毛主席偷笑


偷笑指引我们向前进偷笑

偷笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑大笑偷笑

用<i></i>&nbsp;Schema.ini<i></i>&nbsp;文件也可以达到要求。 <p></p> <p>作用:Schema.ini用于提供文本文件中记录的构架信息。每个<i></i>&nbsp;Schema.ini<i></i>&nbsp;项都用于指定表的五个特征之一:<br />1、文本文件名<br />2、文件格式<br />3、字段名、字段长度、字段类型<br />4、字符集<br />5、特别数据类型转换</p> <p></p> <p><b>指定文件名</b><br />文件名要用方括号括起来,例如如果要对<i></i>&nbsp;Sample.txt<i></i>&nbsp;使用数据构架信息文件,那么它的对应的项应该是<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%"><b>[Sample.txt]</b></td></tr></tbody></table><br /></p> <p><br /><b>指定文件格式</b><br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="15%">格式说明</th> <th width="50%">表格式</th> <th width="35%">Schema.ini 格式描述</th></tr> <tr> <td>Tab 制表符分隔</td> <td>文件中的字段用制表符分隔</td> <td>Format=TabDelimited</td></tr> <tr> <td>CSV 分隔</td> <td>文件中的字段用逗号来分隔</td> <td>Format=CSVDelimited</td></tr> <tr> <td>自定义分隔</td> <td>文件中的字段可以用任何字符来分隔,所有的字符都可以用来分隔,包括空格,但是双引号 ( <font color="red">"</font> ) 除外</td> <td> <p>Format=Delimited(自定义分隔符)</p> <p>- 或者没有分隔符 -</p> <p>Format=Delimited( )</p></td></tr> <tr> <td>固定宽度</td> <td>文件中的字段为固定长度</td> <td></td></tr></tbody></table></p> <p><br /><b>指定字段</b></p> <p>你可以有两种方法在一个字符分隔的文本文件中指定字段名</p> <p>1、在文本文件中的第一行包含字段名,并且设置<i></i>&nbsp;ColNameHeader<i></i>&nbsp;为<i></i>&nbsp;True<i></i>&nbsp;。<br />2、用数字编号指定每一列并且指定每一列的名字以及数据类型</p> <p>你必须用数字编号指定每一列并且指定每一列的名字、数据类型以及长度(在固定长度分隔的文本文件中需要指定长度)</p> <p>注意,设定了<i></i>&nbsp;ColNameHeader<i></i>&nbsp;选项,在<i></i>&nbsp;Schema.ini<i></i>&nbsp;中<i></i>&nbsp;Windows<i></i>&nbsp;注册时会忽略<i></i>&nbsp;FirstRowHasNames<i></i>&nbsp;选项。</p> <p>你也可以指定字段的数据类型,使用<i></i>&nbsp;MaxScanRows<i></i>&nbsp;选项用来指定在确定列的数据类型时要扫描多少行数据。设置<i></i>&nbsp;MaxScanRows<i></i>&nbsp;为<i></i>&nbsp;0<i></i>&nbsp;将扫描整个文件。</p> <p>如果文本文件第一行包含字段名,并且要扫描整个文件,改项目就要定义如下:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">ColNameHeader=True<br />MaxScanRows=0</td></tr></tbody></table><br /></p> <p>接下来的项目用来指定表中的字段,使用列编号(Coln)选项来指定列。字段长度在“固定分隔文本文件中”是必填项目,在“字符分隔文本文件”中是可选项目。<br />示例:定义<i></i>&nbsp;2<i></i>&nbsp;个字段,CustomerNumber<i></i>&nbsp;是长度为<i></i>&nbsp;10<i></i>&nbsp;的文本字段、CustomerName<i></i>&nbsp;是长度为<i></i>&nbsp;30<i></i>&nbsp;的文本字段。<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">Col1=CustomerNumber<i></i>&nbsp;Text<i></i>&nbsp;Width<i></i>&nbsp;10<br />Col2=CustomerName<i></i>&nbsp;Text<i></i>&nbsp;Width<i></i>&nbsp;30</td></tr></tbody></table><br /></p> <p>语法如下:<br /><b>Col</b><i>n</i>=<i>ColumnName</i><i></i>&nbsp;<b>type</b><i></i>&nbsp;[Width<i></i>&nbsp;#]</p> <p>参数解释如下:<br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="30%">参数</th> <th width="70%">说明</th></tr> <tr> <td>ColumnName</td> <td>文本,标识字段名,如果包含空格要用双引号括起来</td></tr> <tr> <td>type</td> <td> <p>数据类型包括:</p> <p><b>Microsoft Jet 数据类型:</b>Bit Byte Short Long Currency Single Double DateTime Text Memo</p> <p><b>ODBC 数据类型:</b> Char (same as Text) Float (same as Double) Integer (same as Short) LongChar (same as Memo) Date <i>date format</i></p> <p>其中date format 是日期的格式字符串例如:Date YYYY-MM-DD </p></td></tr> <tr> <td>Width</td> <td>字符串的长度,后面的数字用来指定字段的长度(“固定分隔文本文件”为必填,“文字分隔文本文件”为可选)</td></tr> <tr> <td>#</td> <td>整形数字,标识字段长度</td></tr></tbody></table></p> <p><b>指定字符集</b><br />CharacterSet<i></i>&nbsp;项有两个选择:ANSI<i></i>&nbsp;|<i></i>&nbsp;OEM<br />选择<i></i>&nbsp;ANSI<i></i>&nbsp;字符集用如下方法:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">CharacterSet=ANSI</td></tr></tbody></table><br /></p> <p><br /><b>特别数据类型转换<i></i>&nbsp;</b><br />特别数据类型转换主要是定义比如日期、货币型数据如何转换或者如何显示的,你可以参考下面这张表:<br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="30%">选项</th> <th width="70%">说明</th></tr> <tr> <td>DateTimeFormat<br /></td> <td>Can be set to a format string indicating dates and times. You should specify this entry if all date/time fields in the import/export are handled with the same format. All Microsoft Jet formats except A.M. and P.M. are supported. In the absence of a format string, the Windows Control Panel short date picture and time options are used.<br /></td></tr> <tr> <td>DecimalSymbol<br /></td> <td>Can be set to any single character that is used to separate the integer from the fractional part of a number. <br /></td></tr> <tr> <td>NumberDigits<br /></td> <td>Indicates the number of decimal digits in the fractional portion of a number. <br /></td></tr> <tr> <td>NumberLeadingZeros<br /></td> <td>Specifies whether a decimal value less than 1 and greater than –1 should contain leading zeros; this value can either be False (no leading zeros) or True.</td></tr> <tr> <td>CurrencySymbol<br /></td> <td>Indicates the currency symbol to be used for currency values in the text file. Examples include the dollar sign ($) and Dm.<br /></td></tr> <tr> <td>CurrencyPosFormat<br /></td> <td>Can be set to any of the following values: <p>· Currency symbol prefix with no separation ($1) </p> <p>· Currency symbol suffix with no separation (1$) </p> <p>· Currency symbol prefix with one character separation ($ 1) </p> <p>· Currency symbol suffix with one character separation (1 $) <br /></p></td></tr> <tr> <td>CurrencyDigits<br /></td> <td>Specifies the number of digits used for the fractional part of a currency amount. <br /></td></tr> <tr> <td>CurrencyNegFormat<br /></td> <td>Can be one of the following values: <p>· ($1) </p> <p>· –$1 </p> <p>· $–1 </p> <p>· $1– </p> <p>· (1$) </p> <p>· –1$ </p> <p>· 1–$ </p> <p>· 1$– </p> <p>· –1 $ </p> <p>· –$ 1 </p> <p>· 1 $– </p> <p>· $ 1– </p> <p>· $ –1 </p> <p>· 1– $ </p> <p>· ($ 1) </p> <p>· (1 $) </p> <p>This example shows the dollar sign, but you should replace it with the appropriate CurrencySymbol value in the actual program.<br /></p></td></tr> <tr> <td height="27">CurrencyThousandSymbol<br /></td> <td>Indicates the single-character symbol to be used for separating currency values in the text file by thousands.<br /></td></tr> <tr> <td>CurrencyDecimalSymbol<br /></td> <td>Can be set to any single character that is used to separate the whole from the fractional part of a currency amount. <br /></td></tr></tbody></table><br /> </p> <p><br />下面给出一个简单的例子,假设有一个表Contacts.txt类似下面:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">姓名<i></i>&nbsp;单位<i></i>&nbsp;联系日期<i></i>&nbsp;<br />王海<i></i>&nbsp;上海有机化学研究所<i></i>&nbsp;2002-1-1<i></i>&nbsp;<br />罗炙<i></i>&nbsp;数字化机床研究院<i></i>&nbsp;2004-1-1<i></i>&nbsp;</td></tr></tbody></table><br /></p> <p>导入<i></i>&nbsp;Access<i></i>&nbsp;应该类似下面表格:<br /> <table class="QQ" style="BORDER-RIGHT: #c1cdd8 1px solid; BORDER-TOP: #c1cdd8 1px solid; BORDER-LEFT: #c1cdd8 1px solid; BORDER-BOTTOM: #c1cdd8 1px solid" cellspacing="0" cellpadding="0" width="100%"> <tbody> <tr> <th width="30%">姓名</th> <th width="30%">单位</th> <th width="30%">联系日期</th></tr> <tr> <td>王海</td> <td>上海有机化学研究所</td> <td>2002-1-1</td></tr> <tr> <td>罗炙</td> <td>数字化机床研究院</td> <td>2004-1-1</td></tr></tbody></table></p> <p><br />那么<i></i>&nbsp;Schema.ini<i></i>&nbsp;则是类似下面的INI文件:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">[Contacts.txt]<br />ColNameHeader=True<br />format=Delimited("<i></i>&nbsp;")<br />MaxScanRows=0<br />CharacterSet=ANSI<br />Col1="姓名"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;10<br />Col2="单位"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;9<br />Col3="联系日期"<i></i>&nbsp;Date<i></i>&nbsp;Width<i></i>&nbsp;8</td></tr></tbody></table><br /></p> <p>注释如下:<br /> <table style="WIDTH: 100%" cellspacing="1" cellpadding="5"> <tbody> <tr> <td style="BORDER-RIGHT: #81a9e8 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: #81a9e8 1px solid; MARGIN-TOP: 0px; PADDING-LEFT: 10px; PADDING-BOTTOM: 10px; BORDER-LEFT: #81a9e8 1px solid; COLOR: #00284d; PADDING-TOP: 10px; BORDER-BOTTOM: #81a9e8 1px solid; BACKGROUND-COLOR: #f2f2f2; TEXT-DECORATION: none" width="100%">[Contacts.txt]<i></i>&nbsp;///文本文件名<br />ColNameHeader=True<i></i>&nbsp;///带有表头<br />format=Delimited(<i></i>&nbsp;)<i></i>&nbsp;///空格作为分隔符,如果是分号,请用<font style="COLOR: green">format=Delimited(;)<i></i>&nbsp;</font>来解决<br />MaxScanRows=0<i></i>&nbsp;///扫描整个文件<br />CharacterSet=ANSI<i></i>&nbsp;///ANSI<i></i>&nbsp;字符集<br />Col1="姓名"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;10<i></i>&nbsp;///字段1<br />Col2="单位"<i></i>&nbsp;Char<i></i>&nbsp;Width<i></i>&nbsp;9<i></i>&nbsp;///字段2<br />Col3="联系日期"<i></i>&nbsp;Date<i></i>&nbsp;Width<i></i>&nbsp;8<i></i>&nbsp;///字段3<br />///如果有更多字段可<i></i>&nbsp;Col4<i></i>&nbsp;....<i></i>&nbsp;ColN<i></i>&nbsp;</td></tr></tbody></table><br /></p> <p>注意,Schema.ini<i></i>&nbsp;必须和需要导入的文本文件在同一目录。</p>

MySQL数据库中的5种数据类型简介

MySQL数据库中的5种数据类型是:字符型,文本型,数值型,逻辑型与日期型,以下就是文章的详细内容介绍,希望在你今后的学习中会有所帮助。 MySQL数据类型之一字符型 VARCHAR VS...
  • jxq0816
  • jxq0816
  • 2014年01月13日 13:47
  • 2350

为什么要用非关系型数据库

导读:JavaEye创始人范凯(网名:robbin)曾发表一篇博文,指出Web 2.0网站的兴起对数据库提出了“三高”需求,而传统的关系型数据库对此无法满足,于是非关系型数据库便成了众多Web2.0开...
  • u014416131
  • u014416131
  • 2014年11月05日 11:17
  • 674

大数据认知(一)之为什么使用Hadoop生态系统处理大数据而不是高性能关系型数据库

为什么使用Hadoop生态系统处理大数据而不是高性能关系型数据库     面对这样的问题,不知道大家会什么样的思考,建议大家先思考一下然后带着自己的答案,在来看看我的看法。当然,这只是我个人的见解并...
  • DNSdns9
  • DNSdns9
  • 2016年09月11日 21:51
  • 413

从关系型数据库到非关系型数据库

1. 关系型数据库 关系型数据库,是指采用了关系模型来组织数据的数据库。 关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成...
  • robinjwong
  • robinjwong
  • 2014年01月19日 13:47
  • 118974

什么是关系型数据库

关系型数据库简单的可以理解为二维数据库,表的格式就如Excel,有行有列。常用的关系数据库有Oracle,SqlServer,Informix,MySql,SyBase等 所谓关系型数据...
  • foreverhuylee
  • foreverhuylee
  • 2014年06月25日 10:25
  • 16638

关系型数据库笔试面试题

第一、二、三范式 http://www.cnblogs.com/i233/archive/2009/04/08/1431627.html 聚集索引、非聚集索引 http://data...
  • web_go_run
  • web_go_run
  • 2015年09月13日 16:25
  • 497

MySQL中操作关系型数据库 SQL

//进入mysql的第二种方法 cmd mysql -u root -proot //查询数据库的库 show databases; //创建数据库 create database my; ...
  • sinat_38273626
  • sinat_38273626
  • 2017年04月18日 07:39
  • 649

关系型和非关系型数据库的区别?

当前主流的关系型数据库有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。 非关系型数据库有 NoSql、Cloudant。 no...
  • longxingzhiwen
  • longxingzhiwen
  • 2016年12月27日 16:37
  • 12909

【连载】关系型数据库是如何工作的?(7) - 数据库架构视图

现在我们可以看看数据库内部都有什么组件。一个数据库就是容易访问和修改的信息集合,实际上,一组简单的文件就可以做到。最简单的数据库SQLite就是由一组简单文件组成的,并且是一组精心设计的一组文件,它允...
  • u013721793
  • u013721793
  • 2016年05月09日 09:37
  • 1083

关系型数据库优化操作

目前使用率最多的数据库均为"关系型数据库",例如:oracle,MySql... 1.关系型数据库的瓶颈: 高并发读写需求-----------针对网站类用户的并发性访问非常高,而一台数据库的最大连接...
  • gs932899178
  • gs932899178
  • 2016年12月23日 01:09
  • 401
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用文本型数据库
举报原因:
原因补充:

(最多只允许输入30个字)