精华内容
下载资源
问答
  • 备注类型 用text就可以了,或着用ntext!... 可变长度 Unicode 数据的最大长度为(1,073,741,823) 个字符。 text 服务器代码页中的可变长度非 Unicode 数据的最大长度为 (2,147,483,647) 个字符。 如果...
    备注类型 用text就可以了,或着用ntext!varchar不能超过8000。
    ntext   
        
      可变长度   Unicode   数据的最大长度为(1,073,741,823)   个字符。   
        
    text   
        
      服务器代码页中的可变长度非   Unicode   数据的最大长度为   (2,147,483,647)   个字符。

    如果你的备注小于8000字节,可以用varchar类型,存取方法如下:   
      string   ls_varchar  
      select   varchar字段   into   :ls_varchar   from   表   //选取  
      insert   into   表(varchar字段)   values(:ls_varchar)   //插入  
      update   表   set   varchar字段   =   :ls_varchar   //更新   
        
      大于8000字节,请用text相关类型(text,ntext,image),用Blob类型存取,存取方法如下:   
      blob   lb_bz  
      SELECTBLOB   text字段   into   :lb_bz   from   表   //选取  
      sqlca.AutoCommit   =   true   //sql   server   在更新blob数据时,将当前事务的自动提交属性设置为真  
      UPDATEBLOB   表   set   text字段   =   :lb_bz     //更新  
      //无插入方法

    附数据类型说明

    1.SQL SERVER的数据类型

      数据类弄是数据的一种属性,表示数据所表示信息的类型。任何一种计算机语言都定义了自己的数据类型。当然,不同的程序语言都具有不同的特点,所定义的数据类型的各类和名称都或多或少有些不同。SQLServer 提供了 25 种数据类型:
      ·Binary [(n)]
      ·Varbinary [(n)]
      ·Char [(n)]
      ·Varchar[(n)]
      ·Nchar[(n)]
      ·Nvarchar[(n)]
      ·Datetime
      ·Smalldatetime
      ·Decimal[(p[,s])]
      ·Numeric[(p[,s])]
      ·Float[(n)]
      ·Real
      ·Int
      ·Smallint
      ·Tinyint
      ·Money
      ·Smallmoney
      ·Bit
      ·Cursor
      ·Sysname
      ·Timestamp
      ·Uniqueidentifier
      ·Text
      ·Image
      ·Ntext
    (1)二进制数据类型

      二进制数据包括 Binary、Varbinary 和 Image
      Binary 数据类型既可以是固定长度的(Binary),也可以是变长度的。
      Binary[(n)] 是 n 位固定的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节。
      Varbinary[(n)] 是 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4个字节,不是n 个字节。
      在 Image 数据类型中存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。
    (2)字符数据类型

      字符数据的类型包括 Char,Varchar 和 Text
      字符数据是由任何字母、符号和数字任意组合而成的数据。
      Varchar 是变长字符数据,其长度不超过 8KB。Char 是定长字符数据,其长度最多为 8KB。超过 8KB 的ASCII 数据可以使用Text数据类型存储。例如,因为 Html 文档全部都是 ASCII 字符,并且在一般情况下长度超过 8KB,所以这些文档可以 Text 数据类型存储在SQL Server 中。
    (3)Unicode 数据类型

      Unicode 数据类型包括 Nchar,Nvarchar 和Ntext
      在 Microsoft SQL Server 中,传统的非 Unicode 数据类型允许使用由特定字符集定义的字符。在 SQL Server安装过程中,允许选择一种字符集。使用 Unicode 数据类型,列中可以存储任何由Unicode 标准定义的字符。在 Unicode 标准中,包括了以各种字符集定义的全部字符。使用Unicode数据类型,所战胜的窨是使用非 Unicode 数据类型所占用的窨大小的两倍。
      在 SQL Server 中,Unicode 数据以 Nchar、Nvarchar 和 Ntext 数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的长度变化时,应该使用Nvarchar 字符类型,这时最多可以存储 4000 个字符。当列的长度固定不变时,应该使用 Nchar 字符类型,同样,这时最多可以存储4000 个字符。当使用 Ntext 数据类型时,该列可以存储多于 4000 个字符。
    (4)日期和时间数据类型

      日期和时间数据类型包括 Datetime 和 Smalldatetime两种类型
      日期和时间数据类型由有效的日期和时间组成。例如,有效的日期和时间数据包括“4/01/98 12:15:00:00:00 PM”和“1:28:29:15:01AM 8/17/98”。前一个数据类型是日期在前,时间在后一个数据类型是霎时间在前,日期在后。在 Microsoft SQL Server中,日期和时间数据类型包括Datetime 和 Smalldatetime 两种类型时,所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。使用 Smalldatetime 数据类型时,所存储的日期范围是 1900年 1 月 1日 开始,到 2079 年 12 月 31 日结束(每一个值要求 4 个存储字节)。
      日期的格式可以设定。设置日期格式的命令如下:
      Set DateFormat {format | @format _var|
      其中,format | @format_var 是日期的顺序。有效的参数包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默认情况下,日期格式为MDY。
      例如,当执行 Set DateFormat YMD 之后,日期的格式为年 月 日 形式;当执行 Set DateFormat DMY 之后,日期的格式为日 月有年 形式
    (5)数字数据类型

      数字数据只包含数字。数字数据类型包括正数和负数、小数(浮点数)和整数
      整数由正整数和负整数组成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整数存储的数据类型是    Int,Smallint和 Tinyint。Int 数据类型存储数据的范围大于 Smallint 数据类型存储数据的范围,而 Smallint 据类型存储数据的范围大于Tinyint 数据类型存储数据的范围。使用 Int 数据狗昔存储数据的范围是从 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。使用 Smallint 数据类型时,存储数据的范围从 -32 768 到 32 767(每一个值要求2个字节存储空间)。使用Tinyint 数据类型时,存储数据的范围是从0 到255(每一个值要求1个字节存储空间)。
      精确小娄数据在 SQL Server 中的数据类型是 Decimal 和 Numeric。这种数据所占的存储空间根据该数据的位数后的位数来确定。
      在SQL Server 中,近似小数数据的数据类型是 Float 和 Real。例如,三分之一这个分数记作。3333333,当使用近似数据类型时能准确表示。因此,从系统中检索到的数据可能与存储在该列中数据不完全一样。
    (6)货币数据表示正的或者负的货币数量 。

      在 Microsoft SQL Server 中,货币数据的数据类型是Money 和 Smallmoney
      Money数据类型要求 8 个存储字节,Smallmoney 数据类型要求 4 个存储字节。

    (7)特殊数据类型

      特殊数据类型包括前面没有提过的数据类型。特殊的数据类型有3种,即    Timestamp、Bit 和 Uniqueidentifier。
      Timestamp 用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp 数据与插入数据或者日期和时间没有关系。
      Bit 由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit 数据类型。例如,询问是否是每一次访问的客户机请求可以存储在这种数据类型的列中。
      Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用。例如,在客户标识号列使用这种数据类型可以区别不同的客户。
    2.用户定义的数据类型

      用户定义的数据类型基于在 Microsoft SQL Server 中提供的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。例如,可定义一种称为   postal_code 的数据类型,它基于 Char 数据类型。
      当创建用户定义的数据类型时,必须提供三个数:数据类型的名称、所基于的系统数据类型和数据类型的可空性。
    (1)创建用户定义的数据类型

      创建用户定义的数据类型可以使用 Transact-SQL 语句。系统存储过程 sp_addtype 可以来创建用户定义的数据类型。其语法形式如下:
      sp_addtype {type},[,system_data_bype][,'null_type']
      其中,type 是用户定义的数据类型的名称。system_data_type 是系统提供的数据类型,例如 Decimal、Int、Char   等等。 null_type 表示该数据类型是如何处理空值的,必须使用单引号引起来,例如'NULL'、'NOT NULL'或者'NONULL'。
      例子:
      Use cust
      Exec sp_addtype ssn,'Varchar(11)',"Not Null'
      创建一个用户定义的数据类型 ssn,其基于的系统数据类型是变长为11 的字符,不允许空。
      例子:
      Use cust
      Exec sp_addtype birthday,datetime,'Null'
      创建一个用户定义的数据类型 birthday,其基于的系统数据类型是 DateTime,允许空。
      例子:
      Use master
      Exec sp_addtype telephone,'varchar(24),'Not Null'
      Eexc sp_addtype fax,'varchar(24)','Null'
      创建两个数据类型,即 telephone 和 fax
    (2)删除用户定义的数据类型

      当用户定义的数据类型不需要时,可删除。删除用户定义的数据类型的命令是 sp_droptype {'type'}。
      例子:
      Use master
      Exec sp_droptype 'ssn'
      注意:当表中的列还正在使用用户定义的数据类型时,或者在其上面还绑定有默认或者规则时,这种用户定义的数据类型不能删除。

    SQL SERVER的字段类型说明

      以下为SQL SERVER7.0以上版本的字段类型说明。SQL SERVER6.5的字段类型说明请参考SQL SERVER提供的说明。

    字段类型 描述
    bit 0或1的整型数字
    int 从-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型数字
    smallint 从-2^15(-32,768)到2^15(32,767)的整型数字
    tinyint 从0到255的整型数字

    decimal 从-10^38到10^38-1的定精度与有效位数的数字
    numeric decimal的同义词

    money 从-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的货币数据,最小货币单位千分之十
    smallmoney 从-214,748.3648到214,748.3647的货币数据,最小货币单位千分之十

    float 从-1.79E+308到1.79E+308可变精度的数字
    real 从-3.04E+38到3.04E+38可变精度的数字

    datetime 从1753年1月1日到9999年12日31的日期和时间数据,最小时间单位为百分之三秒或3.33毫秒
    smalldatetime 从1900年1月1日到2079年6月6日的日期和时间数据,最小时间单位为分钟

    timestamp 时间戳,一个数据库宽度的唯一数字
    uniqueidentifier 全球唯一标识符GUID

    char 定长非Unicode的字符型数据,最大长度为8000
    varchar 变长非Unicode的字符型数据,最大长度为8000
    text 变长非Unicode的字符型数据,最大长度为2^31-1(2G)

    nchar 定长Unicode的字符型数据,最大长度为8000
    nvarchar 变长Unicode的字符型数据,最大长度为8000
    ntext 变长Unicode的字符型数据,最大长度为2^31-1(2G)

    binary 定长二进制数据,最大长度为8000
    varbinary 变长二进制数据,最大长度为8000
    image 变长二进制数据,最大长度为2^31-1(2G)

    转载于:https://www.cnblogs.com/burandanxin/archive/2008/06/25/1229717.html

    展开全文
  • Access字段类型

    2010-09-27 12:35:34
    在表设计视图中,每一个字段都有设计类型,Access允许九种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、查询向导。 文本:这种类型允许最大255个字符或数字,Access默认...
    在表的设计视图中,每一个字段都有设计类型,Access允许九种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、查询向导。
    
    文本:这种类型允许最大255个字符或数字,Access默认的大小是50个字符,而且系统只保存输入到字段中的字符,而不保存文本字段中未用位置上的空字符。可以设置“字段大小”属性控制可输入的最大字符长度。
    
    备注:这种类型用来保存长度较长的文本及数字,它允许字段能够存储长达64000个字符的内容。但Access不能对备注字段进行排序或索引,却可以对文本字段进行排序和索引。在备注字段中虽然可以搜索文本,但却不如在有索引的文本字段中搜索得快。
    
    数字:这种字段类型可以用来存储进行算术计算的数字数据,用户还可以设置“字段大小”属性定义一个特定的数字类型,任何指定为数字数据类型的字型可以设置成“字节”、“整数”、“长整数”、“单精度数”、“双精度数”、“同步复制ID”、“小数”五种类型。在Access中通常默认为“双精度数”。
    
    日期/时间:这种类型是用来存储日期、时间或日期时间一起的,每个日期/时间字段需要8个字节来存储空间。
    
    货币:这种类型是数字数据类型的特殊类型,等价于具有双精度属性的数字字段类型。向货币字段输入数据时,不必键入人民币符号和千位处的逗号,Access会自动显示人民币符号和逗号,并添加两位小数到货币字段。当小数部分多于两位时,Access会对数据进行四舍五入。精确度为小数点左方15位数及右方4位数。
    
    自动编号:这种类型较为特殊,每次向表格添加新记录时,Access会自动插入唯一顺序或者随机编号,即在自动编号字段中指定某一数值。自动编号一旦被指定,就会永久地与记录连接。如果删除了表格中含有自动编号字段的一个记录后,Access并不会为表格自动编号字段重新编号。当添加某一记录时,Access不再使用已被删除的自动编号字段的数值,而是重新按递增的规律重新赋值。
    
    是/否:这种字段是针对于某一字段中只包含两个不同的可选值而设立的字段,通过是/否数据类型的格式特性,用户可以对是/否字段进行选择。
    
    OLE对象:这个字段是指字段允许单独地“链接”或“嵌入”OLE对象。添加数据到OLE对象字段时,可以链接或嵌入Access表中的OLE对象是指在其他使用OLE 协议程序创建的对象,例如WORD文档、EXCEL电子表格、图像、声音或其他二进制数据。OLE对象字段最大可为1GB,它主要受磁盘空间限制。
    
    超级链接:这个字段主要是用来保存超级链接的,包含作为超级链接地址的文本或以文本形式存储的字符与数字的组合。当单击一个超级链接时,WEB浏览器或Access将根据超级链接地址到达指定的目标。超级链接最多可包含三部分:一是在字段或控件中显示的文本;二是到文件或页面的路径;三是在文件或页面中的地址。在这个字段或控件中插入超级链接地址最简单的方法就是在“插入”菜单中单击“超级链接”命令。
    
    查阅向导:这个字段类型为用户提供了一个建立字段内容的列表,可以在列表中选择所列内容作为添入字段的内容。
    
    展开全文
  • 目录1.数据类型总览2....可做索引的最大长度749 NCHAR 根据字符集而定的固定长度字符串 最大长度2000bytes NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000bytes DATE 日期(日-月

    1.数据类型总览

    类型 含义 存储描述 备注
    CHAR 固定长度字符串 最大长度2000bytes
    VARCHAR2 可变长度的字符串 最大长度4000bytes 可做索引的最大长度749
    NCHAR 根据字符集而定的固定长度字符串 最大长度2000bytes
    NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000bytes
    DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS)
    TIMESTAMP 日期(日-月-年) DD-MM-YY(HH-MI-SS:FF3) 与DATE相比较,TIMESTAMP有小数位秒信息
    LONG 超长字符串 最大长度2G,足够存储大部头著作
    RAW 固定长度的二进制数据 最大长度2000bytes 可存放多媒体图象声音等
    LONG RAW 可变长度的二进制数据 最大长度2G 可存放多媒体图象声音等
    BLOB 二进制数据 最大长度4G
    CLOB 字符数据 最大长度4G
    NCLOB 根据字符集而定的字符数据 最大长度4G
    BFILE 存放在数据库外的二进制数据 最大长度4G
    ROWID 数据表中记录的唯一行号 10bytes
    NROWID 二进制数据表中记录的唯一行号 最大长度4000bytes
    NUMBER(P,S) 数字类型 P为整数位,S为小数位
    DECIMAL(P,S) 数字类型 P为整数位,S为小数位
    INTEGER 整数类型 小的整数
    FLOAT 浮点数类型 NUMBER(38),双精度
    REAL 实数类型 NUMBER(63),精度更高

    目前Oracle 数据库大概有26个字段类型,大体分为六类

    1. 字符串类型
    2. 数字数据类型
    3. 日期时间数据类型
    4. 大型对象(LOB)数据类型
    5. RAW和LONG RAW数据类型
    6. ROWID和UROWID数据类型

    2.字符串类型

    Char

    char数据类型存储固定长度的字符值。一个CHAR数据类型可以包括1到2000个字符。如果对CHAR没有明确地说明长度,
    它的默认长度则设置为1。 如果对某个CHAR类型变量赋值,其长度小于规定的长度,那么Oracle自动用空格填充。

    注意:如果给了一个比固定长度更长的值,其尾部带有空格,则空格会被删除到固定的长度。如果值太大Oracle会返回一个错误

    Varchar

    用于保存变长的字符串数据。其中最大字节长度由(size)指定。每行长度可变,最大长度为每行4000字节。
    设置长度(size)前需考虑字符集为单字节或多字节。
    注意:varchar是被废弃的类型,oracle目前都推荐使用varchar2。虽然varchar也可以用,但不确保未来的版本是否还支持

    Varchar2

    用于保存变长的字符串数据。其中最大字节长度由(size)指定。每行长度可变,最大长度为每行4000字节。
    设置长度(size)前需考虑字符集为单字节或多字节。由于VARCHAR2数据类型只存储为该列所赋的字符(不加空格),所以VARCHAR2需要的存储空间比CHAR数据类型要小。
    区别:varchar2把所有字符都占两字节处理(一般情况下),varchar只对汉字和全角等字符占两字节,数字,英文字符等都是一个字节; VARCHAR2把空串等同于null处理,而varchar仍按照空串处理;大部分情况下建议使用varchar2类型,可以保证更好的兼容性。

    Nchar

    Unicode数据类型,根据字符集而定的固定长度字符串,最大长度2000bytes。

    Nvarchar2

    Unicode数据类型,根据字符集而定的可变长度字符串,最大长度4000bytes。

    Long

    可变长字符列,最大长度限制为2GB,用于不需要作字符串搜索的长串数据。
    说明:此类型是一个遗留下来的而且将来不会被支持的数据类型,逐渐被BLOB,CLOB,NCLOB等大的数据类型所取代。

    3.数字类型

    Number

    NUMBER数据类型精度可以高达38位,它有两个限定符,如:column NUMBER(precision,scale)。precision表示数字中的有效位。
    如果没有指定precision的话,Oracle将使用38 作为精度。scale表示小数点右边的位数,scale默认设置为0。
    如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。

    Decimal

    Oracle只是在语法上支持decimal类型,但是在底层实际上它就是number类型,支持decimal类型是为了能把数据从Oracle数据库移到其他数据库中。

    Float

    FLOAT类型也是NUMBER的子类型。其格式Float(n),数 n 指示位的精度,可以存储的值的数目。N 值的范围可以从 1 到 126。
    若要从二进制转换为十进制的精度,请将n 乘以 0.30103。要从十进制转换为二进制的精度,请用 3.32193 乘小数精度。
    126 位二进制精度的最大值是大约相当于 38 位小数精度。

    BINARY_FLOAT

    BINARY_FLOAT 是一种 32 位,单精度浮点数字数据类型。每个 BINARY_FLOAT 值需要5 字节存储空间,其中 1 字节用于存储数据值的长度。支持 NUMBER 数据类型所提供的基本功能。但采用二进制精度,而NUMBER 采用十进制精度。因此能够提供更快的数学运算速度,且能减少占用的存储空间。

    BINARY_DOUBLE

    BINARY_DOUBLE 是一种 64 位,双精度浮点数字数据类型。每个 BINARY_DOUBLE 值需要9 字节存储空间,
    其中 1 字节用于存储数据值的长度。支持 NUMBER 数据类型所提供的基本功能。但采用二进制精度,而NUMBER 采用十进制精度。
    因此能够提供更快的数学运算速度,且能减少占用的存储空间。

    4.日期数据类型

    Date

    ORACLE最常用的日期类型,它可以保存日期和时间,常用日期处理都可以采用这种类型。
    DATE表示的日期范围可以是公元前4712年1月1日至公元9999年12月31日。
    date类型在数据库中的存储固定为7个字节, 第1字节:世纪+100、 第2字节:年、第3字节:月、第4字节:天、
    第5字节:小时+1、第6字节:分+1、第7字节:秒+1。

    Timestamp

    ORACLE常用的日期类型,它与date的区别是不仅可以保存日期和时间,还能保存小数秒,小数位数可以指定为0-9,默认为6位,所以最高精度 可以到ns(纳秒),数据库内部用7或者11个字节存储,如果精度为0,则用7字节存储,与date类型功能相同,如果精度大于0则用11字节存储。第1字节:世纪+100、第2字节:年、第3字节:月、第4字节:天、 第5字节:小时+1、第6字节:分+1、第7字节:秒+1、 第8-11字节:纳秒,采用4个字节存储,内部运算类型为整形

    注:TIMESTAMP日期类型如果与数值进行加减运算会自动转换为DATE型,也就是说小数秒会自动去除。

    TIMESTAMP WITH TIME ZONE

    对TIMESTAMP进行了扩展,用于存储时区。时间戳以及时区位移值,其中fractional_seconds_precision是数字在第二日期时间字段的
    小数部分数字的所有值。可接受的值是0到9。默认是6。默认格式是确定明确的NLS_DATE_FORMAT参数或隐式的NLS_TERRITORY参数。 大小固定为13字节。此数据类型包含日期时间字段YEAR,MONTH,日,小时,分钟,秒TIMEZONE_HOUR和TIMEZONE_MINUTE。
    它有一个明确的分数秒和时区。

    TIMESTAMP WITH LOCAL TIME ZONE

    所有的TIMESTAMP WITH TIME ZONE值,但下列情况除外:数据标准化数据库的时区时,存储在数据库中。当数据被检索, 用户可以看到在会话时区中的数据。默认格式是确定明确的NLS_DATE_FORMAT参数或隐式的NLS_TERRITORY参数。
    的大小不同的7至11个字节,取决于精度。

    INTERVAL YEAR TO MONTH

    存储期间年数和月的时间,其中year_precision是数字的年份日期时间字段的数量。可接受的值是0到9。默认是2。大小固定为5个字节。

    INTERVAL DAY TO SECOND

    其格式为:INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds)],是存储一段时间以天,小时,分钟和秒,
    其中day_precision是数字在DAY日期时间字段的最大数量。可接受的值是0到9。默认是2。fractional_seconds_precision是数字中的
    第二个字段的小数部分的数量。可接受的值是0到9。默认是6。大小固定为11个字节。

    INTERVAL YEAR TO MONTH

    Oracle语法:INTERVAL YEAR [(year_precision )] TO MONTH,用来表示一段时间差, 只精确到年和月. year_precision是数字年的时间段,接受的值为0到9。默认值是2。大小固定为5个字节。

    5.大型对象(LOB)数据类型

    Clob

    最大4G,存储单字节字符型数据。适用于存储超长文本。

    Nclob

    最大4G,存储多字节国家字符型数据。适用于存储超长文本。

    Blob

    最大4G,存储二进制数据。适用于存储图像、视频、音频等。

    BFile

    最大长度是4GB,在数据库外部保存的大型二进制对象文件,最大长度是4GB。这种外部的LOB类型,通过数据库记录变化情况,但是数据的具体保存是在数据库外部进行的。 Oracle 可以读取、查询BFILE,但是不能写入,不参与事务。

    6.RAW和LONG RAW数据类型

    RAW

    raw(n)格式,其中n=1 to 2000,可变长二进制数据,在具体定义字段的时候必须指明最大长度n,Oracle 用这种格式来保存较小的图形文件或带格式的文本文件,如Miceosoft Word文档。raw是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

    LONG RAW

    最大长度是2GB。可变长二进制数据,最大长度是2GB。Oracle 用这种格式来保存较大的图形文件或带格式的文本文件,
    如Miceosoft Word文档,以及音频、视频等非文本文件。在同一张表中不能同时有long类型和long raw类型,
    long raw也是一种较老的数据类型,将来会逐渐被BLOB、CLOB、NCLOB等大的对象数据类型所取代。

    7.ROWID和UROWID数据类型

    Rowid

    ROWID为该表行的唯一标识,是一个伪列,可以用在SELECT中,但不可以用INSERT, UPDATE来修改该值。
    ROWID列,Oracle使用ROWID列来建立内部索引。你可以引用ROWID的值,但ROWID并不存放在数据库中,你可以创建一个表包含ROWID数据类型。但Oracle不保证该值是合法的rowids。用户必须确保该rowid值是真实合法的。

    Urowid

    UROWID支持逻辑和物理的rowids,列UROWID类型可以存储各种rowids, 从8.1以后的Oracle才有UROWID类型,
    它也可以用来保存以前的ROWID类型数据信息。

    8.特殊数据类型

    Xmltype

    XMLType是Oracle从9i开始特有的数据类型,是一个继承了Blob的强大存在,可以用来存储xml并提供了相当多的操作函数,
    用来直接读取xml文档和管理节点。理论上可以保存2G大小的数据。作为XML数据的特殊存储类型。
    Xmltype提供了适合的保存、检索和操作的支持。

    Xmlindex

    XMLType是Oracle从9i开始特有的数据类型,是一个继承了Blob的强大存在,可以用来存储xml并提供了相当多的操作函数,
    用来直接读取xml文档和管理节点。理论上可以保存2G大小的数据。作为XML数据的特殊存储类型。
    Xmltype提供了适合的保存、检索和操作的支持。

    展开全文
  • 文章目录一orm操作1.orm类模型的字段属性(暂总结)2.orm类模型的字段类型(暂总结)3.元数据(写在class Meta表中的数据)4.ORM操作(单表操作;增删改查) 一orm操作 1.orm类模型的字段属性(暂总结) 字段属性 ...

    一orm操作


    1.orm类模型的字段属性(暂总结)


    字段属性 含义
    max_length 最大长度
    verbose_name 备注,站点管理中用于显示字段为中文
    max_digits 浮点型最大长度
    decimal_places 小数点位数
    auto_now = True 获取的是当前时间
    null = True 可为空,默认是不为空
    primary_key=True 主键

    2.orm类模型的字段类型(暂总结)


    字段类型 含义
    CharField varchar类型,需要指定长度
    IntegerField 整形
    DecimalField 浮点型 需要指定最大长度和小数点位数
    DateField 日期
    datetime 日期时间
    AutoField 自增
    ForeignKey 做外键

    字段名和字段用法的一些举例:

     # id = models.AutoField(primary_key=True)
        # django ORM会自动帮我们创建一个主键
        name = models.CharField(max_length=32,verbose_name="姓名")
        age = models.IntegerField(verbose_name="年龄")
        height = models.DecimalField(max_digits=5,decimal_places=2,verbose_name="身高",null=True)
        birthday = models.DateField(verbose_name="生日",auto_now=True)
        
        publish = models.ForeignKey(to=Publish,to_field='id',on_delete=models.CASCADE)
    

    外键括号里面一般写的内容

    相关内容 含义
    to 设置关联表
    to_field 关联表要关联的键名,默认为关联表中的id,可以不写
    on_delete 当删除关联表中的数据的时候,从表做什么行为,

    on_delete 后面一般接的方法:

    方法 作用
    CASCADE 当关联表中数据删除的时候,外键所在表中的数据也会被删除
    SET_NULL 当关联表中数据删除的时候,外键所在表中的外键设置为空
    SET_DEFAULT(1) 当关联表中数据删除的时候,外键所在表中的外键设置一个默认值,默认值为1
    PROTECT 关联保护,当关联表的数据被删除的时候,报异常,
    DO_NOTHING 当关联表中数据删除的时候,外键所在的表不做任何事情

    3.元数据(写在class Meta表中的数据)


    元数据 含义
    db_table 修改表的名字(原表中修改名字显示格式为appname_类名,而元数据修改后名字即为修改后的名字)
    verbose_name 备注,站点管理中用于显示模型名字为中文,会出现s
    verbose_name_plural 显示复数名称,verbose_name_plural=‘用户’ 可以直接将用户好后面的s去掉
    ordering= [’-age’] 指定排序

    相关代码如下:

    	class Meta:
     		db_table = 'person'
            verbose_name = "用户"
            verbose_name_plural = verbose_name
            # ordering= ['-age','id','name']  #指定以年龄降序,id升序,名字升序排序
    

    4.ORM的操作(单表操作;增删改查)


    单表操作之前的基础构造


    在操作之前,先创建好类模型,并进行数据迁移;
    在这里插入图片描述
    在这里插入图片描述
    写好视图和路由;
    在这里插入图片描述


    ① 增加


    • save 方法
      在这里插入图片描述
    • create方法
      在这里插入图片描述

    ② 查询


    1. all()


    • 返回一个 queryset 一个列表
    • 返回符合条件的所有数据
    •     # all 方法
          date = Person.objects.all()
          # print (date)
          # print (date[0].name)
          # print (date[0].age)
          # print (date[0].height)
          for one in date:
              print (one.height)
              print (one.name)
      
      在这里插入图片描述
      可以通过遍历取得数据

    在这里插入图片描述


    2.get方法


    • 返回是一个 对象

    • 返回结果有且只有一条,get后面的条件常用主键

        # get 方法
        data = Person.objects.get(id=1)
        print (data.name)
        print (data.age)  
      

    在这里插入图片描述


    3.filter 方法,类似于sql中的 where


    • 返回值: queryset
    • 使用遍历或者下标提取属性的值
    •     # filter 方法
          data = Person.objects.filter(name="zhangsan")
          print (data)
      

    first方法 和last 方法

    first 返回一个对象,返回符合条件的第一条数据(对象)

    last 返回一个对象,返回符合条件的最后一条数据(对象)

        data = Person.objects.filter(name="zhangsan").first()
        print (data.age)
    
        data = Person.objects.filter(name="zhangsan").last()
        print(data.age)
    

    在这里插入图片描述


    4.order by


        # 升序
        # data = Person.objects.all().order_by("age")
        # 降序
        data = Person.objects.all().order_by("-age")
        for one in data:
            print (one.age)
        data = Person.objects.all().order_by("age","-name")
    

    在这里插入图片描述


    5.exclude()


    返回一个quertset,查询集,包含了跟给定条件不符合的所有数据

        data = Person.objects.exclude(name="zhangsan")
        for one in data:
            print (one.name)
    

    在这里插入图片描述


    6.一些用在条件后的方法


    values 返回的是一个queryset 内容不是实例对象,而是具体数据的字典

        # values   queryset [对象,对象,对象]
        # 返回的是一个queryset 内容不是实例对象,而是具体数据的字典
        # data = Person.objects.filter(name="zhangsan").values()
        # print (data)
    

    在这里插入图片描述
    count 返回的是符合当前条件的数据的条数

        # count 返回的是符合当前条件的数据的条数
        # data = Person.objects.filter(name="zhangsan").count()
        # print (data)
    

    在这里插入图片描述
    exists 返回一个 True或者Flase 判断是否存在

        # data = Person.objects.filter(name="libai").exists()
        # print (data)
    

    在这里插入图片描述
    切片 通过排序来去范围内的数,[2:5] 2是索引,查出来的是第三个开始第五个结束

        data = Person.objects.order_by("id")[2:5]
        print (data)
    

    在这里插入图片描述


    ③ 修改


    save
    注意:拿到的结果是对象还是查询集合

    步骤:
    先查询到数据,然后进行重新赋值,然后执行save 进行保存

        # data = Person.objects.get(id=2)
        # data.name = "python"
        # data.save()
    

    在这里插入图片描述

        # data = Person.objects.filter(name="wangwu").all()
        # for one in data:
        #     if one.id == 4:
        #         one.age=21
        #     else:
        #         one.age = 23
        #     one.save()
    

    update

        Person.objects.filter(id=2).update(name="java")
    

    在这里插入图片描述


    ④ 删除


        # delete方法
        Person.objects.filter(id=7).delete()
    

    在这里插入图片描述


    ⑤ 双下划线查询


        # __lt 小于
        # data = Person.objects.filter(id__lt=3)
        # print (data)
        # gt  大于
        # data = Person.objects.filter(id__gt=3)
        # print (data)
        # gte 大于等于
        # data = Person.objects.filter(id__gte=3)
        # print (data)
        # in 包含  select * from stu where id in (1,2,3,4);
        # data = Person.objects.filter(id__in = [1,2,3])
        # print (data)
        # exclude 不包含
        # range 范围
        # data = Person.objects.filter(id__range = [1,5])
        # print (data)
        #  startswith   像 like j%   endswith  像 %j
        # data = Person.objects.filter(name__startswith="j")
        # print (data)
        #  endswith
        #  __contains 包含  大小写敏感
        data = Person.objects.filter(name__contains="w")
        print (data)
        #   __icontains  包含,大小写不敏感
        data = Person.objects.filter(name__icontains="w")
        print(data)
    
    双下划线方法 含义
    __lt 小于
    __gt 大于
    __gte 大于等于
    __in 包含
    __exclude 不包含
    __range 范围
    __startswith 像 like j% 以什么开头
    __endswith 像 %j 以什么结束
    __contains 包含 大小写敏感 区分大小写
    __icontains 包含,大小写不敏感 不区分大小写

    二、输出的Queryset含义及何时出现,特性,何种方法可返回对象


    1.含义:


    查询集,不是python列表,也叫结果集,表示从数据库中获取的一个对象集合


    2.使用何种方法的时候返回


    • all()
    • filter()
    • order_by()
    • exclude()
    • values 特殊的queryset
    • 切片

    3.特性


    • 惰性
      • 创建好查询集之后不会立即执行,在使用的时候才会进行数据的查询,
    • 缓存
      • 使用一个查询集,第一次使用进行查询,然后将数据进行缓存,之后再使用该查询集不会再次发起查询,而是将查询到的结果缓存了下来

    4.使用何种方法返回对象


    • get
    • first()
    • last()

    三、关系搭建之 一对多(orm一对多操作)


    在这里插入图片描述
    创建好类模型并数据迁移
    在这里插入图片描述


    1.增加


    增加出版社

        Publish.objects.create(name='清华出版社',address='北京')
        publish = Publish(name='中国出版社',address='北京朝阳')
        publish.save()
        publish=Publish()
        publish.name='河南出版社'
        publish.address='河南'
        publish.save()
    

    在这里插入图片描述
    增加书 第一种方法

    Book.objects.create(name=‘python入门’,publish_id=‘1’)

    publish=Publish.objects.get(name='中国出版社')
    Book.objects.create(name='python基础',publish_id=publish.id)
    

    在这里插入图片描述
    第二种方法

    # Book.objects.create(name='python核心编程',publish = Publish.objects.get(name='中国出版社'))
    

    在这里插入图片描述
    第三种方法

    # 正向操作    从外键所在的表到主表叫正向
    book = Book()
    book.name= '笨办法学python'
    book.publish = Publish.objects.get(name='河南出版社')
    book.save()
    # 反向操作  从主表到从表 叫反向
    publish_obj = Publish.objects.get(name="中国出版社")
    publish_obj.book_set.create(name='pythonWeb开发')
    

    在这里插入图片描述

    正向操作和反向操作:

    正向操作 从外键所在的表到主表叫正向

    反向操作 从主表到从表 叫反向


    2.查询


    查询的第一种方法

    # publish = Publish.objects.get(name="中国出版社")
    # book = Book.objects.filter(publish_id=publish.id).all()
    # for x in book:
    #     print (x.name)
    

    在这里插入图片描述
    查询第二种方法

    # 正向查询  从外键所在的表到主表叫正向
    # 查询  pythonWeb开发 属于哪一个出版社
    # book = Book.objects.filter(name='pythonWeb开发').first()
    # print (book.name)
    # print (book.publish.name)
    

    在这里插入图片描述
    在这里插入图片描述
    查询第三种方法

    # 反向查询 从主表到从表  叫 反向查询     _set
    publish = Publish.objects.get(name='中国出版社')
    book = publish.book_set.all()
    print (book)
    

    在这里插入图片描述


    3.更新


    ① save

     book = Book.objects.filter(name='python入门',id=2).first()
        book=Book.objects.get(id=2)
        book.publish=Publish.objects.get(name='中国出版社')
        book.save()
    

    ② update

    Book.objects.filter(name="python基础",id=3).update(publish_id=Publish.objects.get(name='河南出版社'))
    

    ③ set 反向

     publish=Publish.objects.get(name='河南出版社')
        book=Book.objects.get(id=6)
        publish.book_set.set([book])
    

    4.删除


    先删除外键所在的表,在删除关联表

    Book.objects.get(id=2).delete()
    Publish.objects.get(name='清华出版社').delete()
    

    展开全文
  • mysql 字段类型

    2014-03-19 16:05:48
    MySQL类型主要有三种:数字、字串和日期。  字符串列类型  ========== 字符串列类型用于存储任何类型的字符数据,如名字、地址或者报纸文章。下面是MySQL中可用字符串列...最大数据长度(Byte) 备注 CHAR
  • 数据库字段类型–Access

    千次阅读 2010-02-26 17:06:00
    Access有九种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/否、OLE对象...可以设置“字段大小”属性控制可输入的最大字符长度。文本类型中每个字符占两个字节。备注:这种类型用来保存长度较长的文本及
  • Access数据库中的数据类型说明

    千次阅读 2011-05-24 09:29:00
    在表设计视图中,每一个字段都有设计类型,Access允许九种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、查询向导。 文本:这种类型允许最大255个字符或数字,Access...
  • acess数据类型

    2011-05-10 16:46:00
    Access允许九种数据类型:文本、备注、数值、日期/时间、货币、自动编号、...可以设置“字段大小”属性控制可输入的最大字符长度备注:这种类型用来保存长度较长的文本及数字,它允许字段能够存储长达64000个字符...
  • 在表的设计视图中,每一个字段都有设计类型,Access允许九种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/...可以设置“字段大小”属性控制可输入的最大字符长度。 备注:这种类型用来保存长度较长的文
  • 原文链接 Access允许十种数据类型:文本、备注、数值、日期/时间、货币、自动编号、是/否、OLE对象、超级链接、附件、查询向导 。...可以设置“字段大小”属性控制可输入的最大字符长度。  备注(Memo):这种类...
  • [b]数据类型[/b] 取值范围 描述 ...可变长字符串,具体定义时指明最大长度n,这种[b]数据类型[/b] 可以放数字、字母以及ASCII码字符集(或者EBCDIC等数据库系统接受字符集标准)中所有符号...
  • oracle数据类型取值范围描述备注Char(n)n=1 to 2000字节存储固定长度的字符串。默认长度为1。Varchar2(n)n=1 to 4000字节可变长的字符串,具体定义时指明最大长度n,这种数据类型可以放...可做索引的最大长度3209。V
  • 经常有客户问,使用你们实时...假定关系数据库采用一个表来保存历史数据,表格式定义如下: 字段类型长度备注TagID整型4字节测点编号,1万个测点只需2字节整型,但考虑到最大保存测点可能超过65536,因此,定义
  • 下表描述了 Office Access 2007 中的字段可用的数据类型数据类型 存储 大小 文本 字母数字字符 用于不在计算中使用文本或文本和数字(例如,产品 ID)。 最大为 255 个字符。 备注 字母...
  • 宏 2Access字段的最大长度为 A.32个字符 B.64个字符 C.128个字符 D.256个字符 3 TRUE/FALSE数据属于 A.文本数据类型 B.是/否数据类型 C.备注数据类型 D.数字数据类型 4在数据库中对满足条件允许一个以上的节点无...
  • Django Model层深入理解 一、字段 model中每个类对应了...如:username = model.CharField(max_length=32) 表示 username的数据类型是varchar, 最大长度为32,不作为主键,未设置默认值,数据备注为’usern...
  • 基于ssm拍卖系统

    2020-08-01 09:58:38
    介绍: eclipse,mysql,spring,springmvc,mybatis 本拍卖网站系统主要包括系统用户管理模块、商品信息管理模块、新闻公告管理、商品信息类别管理、登录模块...序号 字段名称 字段类型 大小 允许为空 最大长度 备注 1
  • oracle 与 sqlserver 语法大比较

    千次阅读 2018-07-16 10:17:51
    a) oracle各类型字段描述 数据类型取值范围描述备注Char(n)n=1 to 2000字节存储固定长度字符串。默认长度为1。 Varchar2(n)n=1 to 4000字节可变长字符串,具体定义时指明最大长度n,这种数据类型可以放数字、...
  • SQLite并不做任何检查

    2020-06-17 17:06:01
    (app使用sqlite的字段类型/长度跟服务器sqlserver一致(都是nvarchar(255))) 问题来了,长度一致为什么会超长? 检查数据发现,sqlite中数据长度已经超过了nvarchar(255)限制,难道sqlite没有限制长度? ...
  • nchar[(n)]: n 个字符... 备注:该数据类型适用于数据长度偏差不大,且需要输入中文数据库字段。 nvarchar[(n|max)]: 可变长度 Unicode 字符数据。n 值在 1 到 4,000 之间(含)。max 指示最大存储大
  • 但是设计时候往往会疏忽大意,把同一个字段名设置了不同的类型长度备注,所以我做了一个 ―同名字段检查‖功能,可以检查出这些问题,并能够批量更改.这个也是该软件最大亮点.7.oracle 有个特点,就是如果表结构发生...
  • OracleDbTools

    2010-04-26 11:37:24
    但是设计时候往往会疏忽大意,把同一个字段名设置了不同的类型长度备注,所以我做了一个 “同名字段检查”功能,可以检查出这些问题,并能够批量更改。这个也是该软件最大亮点; 7.oracle 有个特点,就是如果表...
  • oracle超人性化工具

    2008-12-18 21:19:13
    但是设计时候往往会疏忽大意,把同一个字段名设置了不同的类型长度备注,所以我做了一个 “同名字段检查”功能,可以检查出这些问题,并能够批量更改。这个也是该软件最大亮点。目前就算是功能最强oracle三方...
  • 但是设计时候往往会疏忽大意,把同一个字段名设置了不同的类型长度备注,所以我做了一个 “同名字段检查”功能,可以检查出这些问题,并能够批量更改。这个也是该软件最大亮点; 7.oracle 有个特点,就是如果表...
  • 青云oracle工具

    2009-10-08 20:35:28
    但是设计时候往往会疏忽大意,把同一个字段名设置了不同的类型长度备注,所以我做了一个 “同名字段检查”功能,可以检查出这些问题,并能够批量更改。这个也是该软件最大亮点; 7.oracle 有个特点,就是如果表...
  • Oracle 工具

    2008-04-25 11:55:02
    但是设计时候往往会疏忽大意,把同一个字段名设置了不同的类型长度备注,所以我做了一个 “同名字段检查”功能,可以检查出这些问题,并能够批量更改。这个也是该软件最大亮点; 7.oracle 有个特点,就是如果...
  • MySQL命令大全

    2018-01-15 11:19:17
    5.BLOB TEXT类型最大长度为(2^16-1)个字符。 6.VARCHAR型:变长字符串类型 5.导入数据库表  ()创建.sql文件  ()先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会提示输入...
  • MYSQL常用命令大全

    2011-05-30 13:31:24
    5.BLOB TEXT类型最大长度为65535(2^16-1)个字符。 6.VARCHAR型:变长字符串类型 5.导入数据库表  (1)创建.sql文件  (2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat auction,会...
  • 校验值最大长度(如果 type=number 则比较值大小) Number — — type 类型校验 String number / string string pattern 正则校验 RegExp — — validator 自定义校验方法 Function(rule, value, callback) —...
  • 修改外部数据库在4.12版中导致不兼容问题,并增加了对MS SQL Server数据库中image和text字段类型的说明。 7. 修改扩展界面支持库一,禁止透明标签在父窗口刷新时自动刷新,以解决其导致窗口刷新缓冲问题。 8....

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

备注类型字段数据的最大长度