Java和Mysql中的数据类型

1.mysql中的基本类型

1.整数:

  tinyint:1个字节   -128~127

  smallint: 2个字节  -32768~32767

  int :  4个字节     

  bigint:  8个字节

2.定点数:

  decimal 小数点位置固定

3.浮点数

  float: 4个字节

  doule: 8个字节

4.日期、时间

  data:只表示某一个日期

  time:可以表示一天当中的某一个点数或间隔时间,可以是负数,最小 : -839小时59分59秒   最大:839小时59分59秒

  datatime:连日期带时间 范围: 公元1000年1月1日0点0分0秒 到 公元9999年12月3日23点59分59秒

5.文本类型

  char:表示固定长度的文本( char (5), 表示长度为5 的字符串,如果是 char (3),系统会自动补上两个空格)

  varchar:(系统按照实际长度分配字节)

  text:存储大文本的数据类型,不可以当查询的条件

6.二进制

  bit:系统会将数据转换成二进制的类型

7.Lob

(1).Oracle LOB

  LOB 即 Lange Object (大数据),是用来存储大量的二进制和文本数据的一种数据类型(一个LOB字段可存储多达4GB的数据)。

  LOB分为两种类型:内部LOB和外部LOB。

  内部LOB将数据以字节流的形式存储在数据库的内部,因而,内部LOB的许多操作都可以参与事务,也可以像处理普通数据一样对其进行备份和恢复操作。

  Oracle支持三种类型的LOB:

  1.BLOB(二进制数据)

  2.CLOB(单字节字符数据)

  3.NCLON(多字节字符数据)

  CLOB和NCLOB类型适用于存储超长的文本数据,BLOB字段适合存储大量的二进制数据,如图像,视频,音频,文件等。

  目前只支持一种外部LOB类型,即BFILE类型,在数据库内,该类型仅存储数据在操作系统中的位置信息,而数据的实体以外部形式存在于操作系统的文件中,因而,该类型所表示的数据是只读的,内部参与事务,该类型可以帮助用户管理大量的由外部程序访问的文件。

(2).MySql BLOB

  mysql中,BLOB是一个二进制大型对象,是一个可以存储大量数据的容器,它能容纳大小不同的数据。

  MySql的四种BLOB类型(除了在存储的大量的信息量上的不同外,它们是等同的)

  类型                     大小

  TinyBlob             最大 255

  Blob                   最大65K

  MediumBlob      最大16M 

  Long                  最大4G

  在实际使用中需要根据存入的数据的大小定义不同的BLOB类型。

  需要注意的是:如果存储文件过大,数据库的性能会下降。

2.java中的基本类型

1)四种整数类型(byte、short、int、long):   

  byte:8 位,用于表示最小数据单位,如文件中数据,-128~127   

  short:16 位,很少用,-32768 ~ 32767   

  int:32 位、最常用,-2^31-1~2^31  (21 亿)   

  long:64 位、次常用    注意事项:    int i=5; // 5 叫直接量(或字面量),即 直接写出的常数。    整数字面量默认都为 int 类型,所以在定义的 long 型数据后面加 L或 l,小于32 位数的变量,都按 int 结果计算。    强转符比数学运算符优先级高。见常量与变量中的例子。

2)两种浮点数类型(float、double):   

  float:32 位,后缀 F 或 f,1 位符号位,8 位指数,23 位有效尾数。   

  double:64 位,最常用,后缀 D 或 d,1 位符号位,11 位指数,52 位有效尾    注意事项:    二 进 制 浮 点 数 : 1010100010=101010001.0*2=10101000.10*2^10(2次方)=1010100.010*2^11(3次方)= . 1010100010*2^1010(10次方)    尾数:  . 1010100010   指数:1010   基数:2    浮点数字面量默认都为 double 类型,所以在定义的 float 型数据后面加F 或 f;double 类型可不写后缀,但在小数计算中一定要写 D 或 X.X    float  的精度没有 long 高,有效位数(尾数)短。    float  的范围大于 long  指数可以很大。    浮点数是不精确的,不能对浮点数进行精确比较。

3)一种字符类型(char):   

  char:16 位,是整数类型,用单引号括起来的 1 个字符(可以是一个中文字符),使用 Unicode 码代表字符,0~2^16-1(65535) 。    注意事项:    不能为 0个字符。    转义字符:\n  换行  \r  回车  \t Tab 字符  \" 双引号  \\ 表示一个\    两字符 char 中间用“+”连接,内部先把字符转成 int 类型,再进行加法运算,char 本质就是个数!二进制的,显示的时候,经过“处理”显示为字符。

4)一种布尔类型(boolean):

  true 真  和 false 假。

5)类型转换:      

  char-->    自动转换:byte-->short-->int-->long-->float-->double                  

  强制转换:①会损失精度,产生误差,小数点以后的数字全部舍弃。②容易超过取值范围。

6)记忆

  8位:Byte(字节型)         

  16位:short(短整型)、char(字符型)         

  32位:int(整型)、float(单精度型/浮点型)         

  64位:long(长整型)、double(双精度型)         

  最后一个:boolean(布尔类型

posted on 2017-03-19 22:17  程序员简笔  阅读(1005)  评论(0编辑  收藏  举报

导航