精华内容
下载资源
问答
  • MySQL数据类型--常用数据类型总结

    千次阅读 2016-03-23 15:21:41
    OK,到现在为止,MySQL常用数据类型我都已经整理完了。现在我们来总结一下。 在MySQL中创建表时,需要考虑为字段选择哪种数据类型是最合适的。只有选择了合适的数据类型,才能提高数据库的效率。 1,...

    OK,到现在为止,MySQL常用的数据类型我都已经整理完了。现在我们来总结一下。

    在MySQL中创建表时,需要考虑为字段选择哪种数据类型是最合适的。只有选择了合适的数据类型,才能提高数据库的效率


    • 1,整数类型和浮点数类型
    整数类型和浮点数类型最大的区别在于能否表达小数。整数类型不能表示小数,而浮点数类型可以表示小数。不同的数据类型的取值范围不同。

    tinyint类型的取值范围是0~~255。如果字段的最大值不超过255,那么选择tinyint类型就足够了呢。

    bigint类型的取值范围最大,最常用的整数类型是int类型,int类型最大能保存10位数字,最大值为2后面跟9个0

    浮点数类型包括float类型和double类型,double类型的精度比float类型高。如果需要精确到小数点后10位以上,就应该选择double类型,而不应该选择float类型



    • 2,浮点数类型和定点数类型
    对于浮点数和定点数,当插入的精度高于实际定义的精度时,系统会自动进行四舍五入处理。其目的是为了使该值的精度达到要求。浮点数进行四舍五入系统不会报警,定点数会出现警告。

    在未指定精度的情况下,浮点数和定点数有其默认的精度,float类型和double类型默认会保存实际精度,这个精度和操作系统和硬件的精度有关。

    decimal类型默认整数位是10,小数位为0,即默认为整数。所以一般在定义decimal的时候用decimal(M,D)格式,M参数称为精度,是数据的总长度,小数点不占位置。D参数成为标度,是指小数点后面的长度是D。

    在mysql中,定点数精度比浮点数要高,而且,浮点数会出现误差。如果要对数据的精度要求比较高,应该选择定点数



    • 3,char类型和varchar类型

    char类型的长度是固定的,而varchar类型的长度是在范围内可变的。因此,varchar类型占用的空间比char类型小。而且,varchar类型比char类型灵活。对于长度变化比较大的字符串类型,最好是选择varchar类型

    虽然char类型占用的空间比较大,但是char类型的处理速度比varchar快。因此,对于长度变化不大和查询速度要求较高的字符串类型,最好选择char类型



    • 4,时间和日期类型

    year类型只表示年份。如果只需要记录年份,选择year类型可以节约空间。

    Time类型只表示时间,如果只需要记录时间,选择Time类型是最合适的。

    date类型只表示日期,如果只需要记录日期,选择date类型是最合适的。

    如果需要记录日期和时间,可以选择dateTime类型和timestamp类型。

    dateTime类型表示的时间范围比timestamp类型大,因此,如果需要的时间范围比较大,选择dateTime类型比较合适

    timestamp类型的时间是根据时区来显示的,如果需要显示的时间与时区对应,那就应该选择timestamp类型



    • 5,enum类型和set类型
    enum类型最多可以有65535个成员,而set类型最多只能包含64个成员,两者的取值只能在成员列表中选取。enum类型只能从成员中选择一个,而set类型可以选择多个。

    因此,对于多个值中选取一个的,可以选择enum类型。比如,‘性别’字段就可以定义成enum类型,因为只能在‘男’和‘女’中选取一个。

    对于可以选取多个值的字段,可以选择set类型比如,‘爱好’字段就可以选择set类型,因为可能有多个爱好呢。



    • 6,text类型和blob类型

    text类型与blob类型很类似。text类型存储只能存储字符数据,而blob类型可以用于存储二进制数据,如果要存储文章等纯文本的数据,应该选择text类型,如果需要存储图片等二进制的数据,应该选择blob类型

    text类型包括tinytext,text,mediumtext和longtext。这4者最大的不同是内容的长度不同。tinytext类型允许的长度最小,longtext类型允许的长度最大。blob类型也是如此。



    • 几点注意的问题:

    1,mysql中,char,varchar,text等字符串类型都可以存储路径。但是,‘\’在数据库是转义字符,如果路径中使用‘\’符号时,这个符号会被过滤。解决的办法是,路径中用‘/’或‘\\’来代替‘\’。

    这样,MySQL就不会自动过滤掉路径中的分割字符,可以完整的表示路径。OK,现在我们来实际操作下数据库看下这种情况。

    建表语句如下:
    CREATE TABLE `linkinframe`.`test` (
      `id` INT NOT NULL,
      `a` VARCHAR(45) NULL,
      PRIMARY KEY (`id`));
    现在我们往数据库插入几条数据:
    INSERT INTO `linkinframe`.`test` (`id`, `a`) VALUES (1,'uu/kk/oo');
    INSERT INTO `linkinframe`.`test` (`id`, `a`) VALUES (2,'aa\\jj\\ww');
    INSERT INTO `linkinframe`.`test` (`id`, `a`) VALUES (3,'\hh\ll\oo');
    数据库显示如下:


    2,在sql标准中,存在bool和boolean类型。MySQL为了支持sql标准,也是可以定义bool和boolean类型的。但是,bool和Boolean类型最后转换成的是tinyint(1)。也就是说,在MySQL中,boolean类型等于加tinyint(1)。因此,创建表的时候将一

    个字段定义成bool和boolean类型,数据库中真实定义的是tinyint(1)。因此,创建表的时候将一个字段定义成bool和boolean类型,数据库中真实的定义是tinyint(1)

    3,一般情况下,数据库中不直接存储图片和音频文件,而是存储图片和音频文件的路径,比如说JPG图片和MP3音乐。如果实在需要在MySQL数据库中存储图片和音频文件,就选择blob类型。因为,blob类型可以用来存储二进制类型的文件的。

    4,整数类型,浮点数类型,日期和时间类型和字符串类型是数据库中使用最频繁的数据类型。我们在实际建表过程中,要考虑各种数据类型的特点,根据不同的需要选择相应的数据类型。


    OK,到此为止,到此为止,关于mysql数据类型相关都已经整理完了。接下来我会认真的整理MySQL创建,删除,查看,修改数据库的基本方法,也就是DDL语句。先这样。

    展开全文
  • Linux下定义windows常用数据类型

    万次阅读 2010-12-23 16:53:00
    最近将一个windows程序移植到linux上,发现两个操作系统对很多数据类型的命名方式有很大的不同,比如windows下的DWORD在linux下就得用unsigned long,并且windows下使用UCHAR,到linux下就得改用unsigned char,于是...

    最近将一个windows程序移植到linux上,发现两个操作系统对很多数据类型的命名方式区别很大,比如windows下对于无符号数据类型一般用U+x的方式,像UINT、UCHAR、ULONG,而linux上就要中规中矩,都是unsigned +x;另外,还有一些数据类型是windows有,而的linux没有的,像DWORD、HANDLE、LPSTR等等。于是我写了一个windows数据类型在Linux下进行转换的头文件,贴在这里。其中一部分参考了《从Windows向Linux的C和C++代码移植》这篇文章

     

     

    #define INVALID_HANDLE_VALUE   -1
    #define _MAX_PATH       260 /* max. length of full pathname */

    #define HANDLE            int
    #define MAX_PATH        260
    #define TRUE                true 
    #define FALSE               false
    #define __stdcall
    #define __declspec(x)  
    #define __cdecl 
    #define max(a,b)           (((a) > (b)) ? (a) : (b))
    #define min(a,b)            (((a) < (b)) ? (a) : (b))

    typedef int                        BOOL;
    typedef unsigned char       BYTE;
    typedef float                     FLOAT;
    typedef FLOAT                  *PFLOAT;
    typedef char                      CHAR;
    typedef unsigned char       UCHAR;
    typedef unsigned char       *PUCHAR;
    typedef short                    SHORT;
    typedef unsigned short      USHORT;
    typedef unsigned short      *PUSHORT;
    typedef long                      LONG;
    typedef unsigned short      WORD;
    typedef unsigned long       DWORD;
    typedef long long              LONGLONG;
    typedef unsigned long long  ULONGLONG;
    typedef ULONGLONG           *PULONGLONG;
    typedef unsigned long       ULONG;
    typedef int                 INT;
    typedef unsigned int        UINT;
    typedef unsigned int        *PUINT;
    typedef void                VOID;

    typedef char               *LPSTR;
    typedef const char         *LPCSTR;
    typedef wchar_t            WCHAR;
    typedef WCHAR              *LPWSTR;
    typedef const WCHAR        *LPCWSTR;
    typedef DWORD              *LPDWORD;
    typedef unsigned long      UINT_PTR;
    typedef UINT_PTR           SIZE_T;
    typedef LONGLONG           USN;
    typedef BYTE               BOOLEAN;
    typedef void                *PVOID;

    typedef struct _FILETIME {
            DWORD dwLowDateTime;
            DWORD dwHighDateTime;
         }    FILETIME;

    typedef union _ULARGE_INTEGER {
      struct {
        DWORD LowPart;
        DWORD HighPart;
      };
      struct {
        DWORD LowPart;
        DWORD HighPart;
      } u;
      ULONGLONG QuadPart;
    } ULARGE_INTEGER,
     *PULARGE_INTEGER;

    展开全文
  • Point、Size、Rect、Mat 及 Scalar、Vec、Range都是OpenCV中常用的...1. 定义这些数据类型的目的有哪些?或者有哪些好处?  1.1 定义这些数据类型有哪些共性? 2. 这些数据类型之间的关系有哪些?如能否相互转化、

    Point、Size、Rect、Mat 及 Scalar、Vec、Range都是OpenCV中常用的数据类型。

    Mat是最强大但也最复杂的一个,而其他类型虽然简单,但是也是最常用的,且它们之间有着紧密的联系,本文先分析这些简单的类型。


    1. 定义这些数据类型的目的有哪些?或者有哪些好处?
        1.1 定义这些数据类型有哪些共性?
    2. 这些数据类型之间的关系有哪些?如能否相互转化、几何逻辑上的操作关系等
    3. 每种数据类型,有哪些定义的接口?为什么要定义这些接口?


    在core.hpp中,首先定义了这些基本且重要的数据类型(数据结构)。
    定义他们的目的有:
    1. 存放基本数据,且采用模板的设计方式,适用于各种数据类型
    2. 增加一些与所定义的类型的属性,如逻辑上的包含关系
    3. 一些数学操作,重载操作符设计,方便图像图形的常见计算


    定义它们的共性:
    1. 模板设计方式,适用各种基本数据类型(char,int,float,double等)
       template<typename _Tp> class CV_EXPORTS 
    2. 为方便使用,将模板类型特化为常用数据类型
    3. 定义在core.hpp文件中,而实现与操作法重载在operation.hpp文件中。
        操作符包括 + - * 计算操作符和+= -= *= 比较运算符 == != 
    4. 操作符及成员函数,定义为inline函数    


    关系
    转换关系
    Point_ <-> Size_
    Point_ <-> Vec<_TP, 2>

    Point3_ <-> Vec<_TP, 3>
    Point_ -> Point3_

    Rect 包含 (Point, Size)

    继承关系:
    Scalar_ : public Vec<_Tp, 4>
    Vec : public Matx<_Tp, cn, 1>


    Matx: 小型矩阵
    Mat 完全独立于上面类型的大型自定义数据类型


    Point_
    特征:
    1. 存放多种数据基本类型,常用
    2. 成员函数:构造函数重载,内积,inside rect检测
    3. 重载各种操作符


    Point3_ 
    特征与Point_类似

    Size_
    1. 存放数据
    2. 成员函数:面积计算

    Rect_
    1. 包含Point与Size两种属性
    2. 成员:左上、右下点、大小、面积计算、点contain检测

    Scalar_
    1. 各种构造函数,默认参数为0
    2. 成员函数:all静态初始化,mul乘积

    Matx
    在编译期就需要声明好维数和类型的小型Mat,若使用更灵活的类型,需要用Mat

    主要用于数学运算,+ - * inv t转置等,类似matlab中的mat


    Vec

    1. 相当于一维的Matx

    2. 成员mul,cross及数学运算符重载等。


    Range
    1. 非模板数据类型,整型,一维形式
    2. 成员:大小、判空计算

    Point、Size、Rect是整数类型的模板特化,最常用类型。



    模板声明格式:

    template<typename _Tp> class CV_EXPORTS Size_;
    template<typename _Tp> class CV_EXPORTS Point_;
    template<typename _Tp> class CV_EXPORTS Rect_;
    template<typename _Tp, int cn> class CV_EXPORTS Vec;
    template<typename _Tp, int m, int n> class CV_EXPORTS Matx;


    特化的示例:

    typedef Matx<float, 1, 2> Matx12f;
    typedef Matx<double, 1, 2> Matx12d;


    typedef Vec<float, 2> Vec2f;

    typedef Vec<int, 3> Vec3i;

    typedef Vec<double, 4> Vec4d;


    typedef Size_<float> Size2f;
    typedef Point3_<int> Point3i;


    typedef Scalar_<double> Scalar;

    展开全文
  • 常用数据结构类型定义

    千次阅读 2011-08-25 19:20:56
    数组 (Array)  在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。...一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不

    数组 (Array)

      在程序设计中,为了处理方便, 把具有相同类型的若干变量按有序的形式组织起来。这些按序排列的同类数据元素的集合称为数组。在C语言中, 数组属于构造数据类型。一个数组可以分解为多个数组元素,这些数组元素可以是基本数据类型或是构造类型。因此按数组元素的类型不同,数组又可分为数值数组、字符数组、指针数组、结构数组等各种类别。

    栈 (Stack)

      是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。

    队列 (Queue)

      一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。

    链表 (Linked List)

      是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。

    树 (Tree)

      是包含n(n>0)个结点的有穷集合K,且在K中定义了一个关系N,N满足 以下条件:  (1)有且仅有一个结点 k0,他对于关系N来说没有前驱,称K0为树的根结点。简称为根(root)。 (2)除K0外,k中的每个结点,对于关系N来说有且仅有一个前驱。  (3)K中各结点,对关系N来说可以有m个后继(m>=0)。

    图 (Graph)

      图是由结点的有穷集合V和边的集合E组成。其中,为了与树形结构加以区别,在图结构中常常将结点称为顶点,边是顶点的有序偶对,若两个顶点之间存在一条边,就表示这两个顶点具有相邻关系。

    堆 (Heap)

      在计算机科学中,堆是一种特殊的树形数据结构,每个结点都有一个值。通常我们所说的堆的数据结构,是指二叉堆。堆的特点是根结点的值最小(或最大),且根结点的两个子树也是一个堆。

    散列表 (Hash)

      若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表
    展开全文
  • SQL的常用数据类型

    千次阅读 2017-06-24 10:59:17
    几个常用数据类型的总结。做个笔记ヽ(ー_ー)ノ
  • MSSQL常用数据类型

    千次阅读 2016-07-22 19:49:27
    1.字符类型 一般常用的varchar,char,text等,其中varchar为可变长,char为定长.varchar使用的好处是可以节约...数据类型 描述 存储空间 char(n) n为1-8000字符之间 n字节 nchar(n) n为1-4000 unicode字符之间
  • VC++常用数据类型

    万次阅读 2008-12-31 12:20:00
     VC常用数据类型列表二. 常用数据类型转化2.1数学类型变量与字符串相互转换2.2 CString及string,char *与其他数据类型的转换和操作●CString,string,char*的综合比较●数学类型与CString相互转化●CString与char*...
  • 1. 存放数据及数据的属性,包括大小,维度,数据类型及step 2. 初始化,构造、析构 3. 数据之间的转换 4. 基本元素数据的获取和修改 5. 数据的复制、部分引用、分割、融合 6. 单个或多个矩阵的基本数学操作,...
  • 在java JNI到C++中调用时候各种常见类型数据如何转换,通过程序演示Java通过JNI调用C++的API读取电脑名称和系统用户名。
  • 本文将主要讲解了数据库的一些基础知识,介绍了MySql的存储引擎,最后讲了MySql常用数据类型
  • OpenCV中数据类型和常用数据类型对应关系

    千次阅读 多人点赞 2017-04-21 11:03:43
    在openCV 中经常会遇到需要...1、OpenCV中的数据类型常用数据类型对应关系如下:Mat_<uchar>---------CV_8U Mat<char>-----------CV_8S Nat_<short>---------CV_16S Mat_<ushort>--------CV_16U Mat_<int>---------
  • impala完整常用数据类型

    千次阅读 2018-08-13 18:54:15
    因为impala与mysql、Oracle在数据类型上并不完全一致 并且最近会经常用到,所以记录一下 类型 说明 BIGINT 此数据类型存储数值,此数据类型的范围为-9223372036854775808至9223372036854775807.此数据...
  • 1.where?  介绍elasticsearch的数据类型之前,首先需要了解es映射的概念。  es的存储结构是“index.type.document... 即对于elascticsearch数据类型,是在定义索引映射时定义的。   2.what?  https://www...
  • Oracle建表常用数据类型详解

    千次阅读 2014-11-14 10:25:34
    为列指定数据类型并不难,难的是指定合适的数据类型。同样是字符串类型,选择定长还是变长,其中大有文章。所以需要耐心而细致的学习下面的内容。 创建表时,必须为表的各个列指定数据类型。如果实际的数据与该列...
  • GreenPlum常用数据类型

    千次阅读 2019-03-05 22:14:23
    参考《GreenPlum企业应用实战》 1、数值类型: 2、字符类型: 3、时间类型: 转自:https://blog.csdn.net/u010256965/article/details/50508878/
  • JAVA基础语法:java编程规范和常用数据类型

    千次阅读 多人点赞 2020-01-05 13:02:48
    目录 摘要 面向java编程 常用数据类型 数组 定义 初始化 数组的拷贝 String String 的创建(注意是大写S!... 2....本文主要介绍了最基本的java程序规则,和常用数据类型,其中侧重说了数组的一些...
  • SQL Server 2008---常用数据类型小结

    千次阅读 2016-03-23 23:33:21
    SQL Server 2008---常用数据类型整理
  • typedef定义数据类型

    千次阅读 2018-08-29 09:47:42
    用typedef重新定义数据类型常用 1.用typedef重新定义普通类型数据。 typedef int count //将int重新命名为count typedef float score //将float重新命名为score   2,用typedef将为指针类型重新命名 ...
  • db2中的常用数据类型

    万次阅读 2017-10-03 09:36:49
    DB2的常用数据类型: 一.数字型。 1. SMALLINT ---短整型,范围为-32768~+32767,一遍用的较少。 2. INT  INTEGER ---整型,4个字节,范围为-2147483648~+2147483647,一遍多用于做自动生成的序列,或者用作...
  • 二叉树的抽象数据类型定义

    千次阅读 2019-08-29 16:22:23
    类型名称:二叉树 数据对象集:一个有穷的结点集合。 若不为空,则由根结点和其左、右二叉子树组成。 操作集: BT ∈ BinTree, Item ∈ElementType,重要操作有: 1、Boolean IsEmpty( BinTree BT ): 判别BT是否为...
  • 数据类型(1)类型定义

    千次阅读 2017-12-17 21:43:40
    任何计算机语言在关于数据类型方面都有着相似而又有不同的划分,Python在提供自定义数据类型的同时,也提供一些基础的数据类型: 1、Number型 数值 2、String型 字符串 3、List型 列表 4、Tuple型 元组 5、Dict型 ...
  • 数据库表的字段常用数据类型

    千次阅读 2018-08-16 12:48:01
    日期和时间数据类型   MySQL数据类型 含义 date 3字节,日期,格式:2014-09-18 time 3字节,时间,格式:08:42:30 datetime 8字节,日期时间,格式:2014-09-18 08:42:30 timestamp 4...
  • PostgreSQL常用数据类型

    千次阅读 2010-04-22 17:53:00
    表8-2. 数值类型名字存储空间描述范围smallint2 字节小范围整数-32768 到 +32767integer4 字节常用的整数-2147483648 到 +2147483647bigint
  • SQL Server 2005 常用数据类型详解

    千次阅读 2013-10-28 14:16:36
    1. 字符串数据类型 char 此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定;如未指定,默认为char(1)。每个字符占用1byte存储空间。 nchar 此数据类型可存储1~4000个定长Unicode字符串,字符串长度在...
  • VC常用数据类型使用转换详解

    千次阅读 2005-01-04 09:56:00
    VC常用数据类型使用转换详解读者层次:初学刚接触VC编程的朋友往往对许多数据类型的转换感到迷惑不解,本文将介绍一些常用数据类型的使用。我们先定义一些常见类型变量借以说明int i = 100;long l = 2001;float f=...
  • 因项目需要适配国产数据库,网上资料太少,自己整理了一下几个国产数据类常用数据类型,后续会记录一些适配遇到的问题,方便日后查看,也希望给同样遭遇的小伙伴一点点参考 1Gbase8s数据库 分类 ...
  • mybatis常用jdbcType数据类型

    万次阅读 2018-08-02 16:14:24
    阅读目录 1 MyBatis 通过包含的jdbcType类型 2 Mybatis中javaType和jdbcType对应和CRUD例子 ...  4 oracle数据类型和对应的java类型 回到顶部 1 MyBatis 通过包含的jdbcType类型 BIT FLOAT CHAR ...
  • VC++常用数据类型及其操作详解

    万次阅读 2004-08-03 17:10:00
    VC++常用数据类型及其操作详解(未完待续) -------西安邮电学院计算机系 徐兆元(FLxyzsby@163.com FLxyzsby@yahoo.com.cn) ... VC常用数据类型列表 二. 常用数据类型转化 2.1数学类型变量与字符串相互转换 2.2 CStri
  • PL/SQL 变量与常用数据类型

    千次阅读 2012-08-06 23:53:08
    1.基础数据类型 以ORACLE8i为例,可以使用的基础数据类型有: 类型 子类 说 明 范 围 ORACLE限制 CHAR Character String Rowid Nchar 定长字符串     ...
  • C++常用数据类型转换详解

    千次阅读 2009-06-02 11:59:00
    转自:http://hi.baidu.com/zhenlu_123/blog/item/b744dd3c3e5180e63c6d97eb.html 我们先定义一些常见类型变量借以说明:int i = 100;long l = 2001;float f=300.2;double d=12345.119;char username[]="女侠程佩...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 819,011
精华内容 327,604
关键字:

常用数据类型的定义