SQL及Oracle和MySQL的数据类型详解

       SQL(Structured Query Language) 又称规划化查询言语,是一种在联络型数据库中定义和查询及操作数据的标准言语,是用户和数据库之间进行交流的接口,正在像Oracle、MySQL、SQL Server等几乎一切的数据库完成了该接口,都支撑SQL的查询。SQL言语规划简练,功用强壮,简略易学,所以自从推出以来,SQL言语得到了广泛的运用。        SQL 言 http://www.szhaoexport.com 语由下面5个子言语组成:        数据定义言语(DDL-Data Definition Language);        数据查询言语(SELETE-Query Statements);        数据操作言语(DML-Datat Manipulation Language);        事务控制言语(TC-Transaction Control Statements);        数据控制言语(DCL-Datat Control Language);        数据类型        Oracle和MySQL都是两种重要的数据为,下面从它们各自的底子数据类型初步讲起。 数据类型 数据类型 说明 Oracle MySQL 数值类型 NUMBER(p,s) 存储数值数据类型,如浮点型、整数型、分数、双精度等。其间p为精度,标明数字的总位数(1 <= p <=38) ; s为规划,标明小数点右边的位数,它在-84至127之间。默许38位 TINYINT 微整型,1字节 SMALLINT 小整型,2字节 MEDIUMINT 中整型,3字节 INT或INTEGER 整数数据类型 整型,4字节 BIGINT 大整型,8字节 FLOAT 浮点数数据类型 单精度浮点数值,4字节 DOUBLE 双精度浮点数值,8字节 DECIMAL 对DECIMAL(M,D) ,如果M>D,为M 2否则为D 2 字符串类型 CHAR(n) n=1to2000字节,定长字符串,n字节长,如果不指定长度,缺省为1个字节长(一个汉字为2字节) 定长字符串,0-255字节 NCHAR(n) NLS(national language support , 国际言语支撑)的数据类型仅可以存储由数据库 NLS 字符集定义的 Unicode 字符集。Oracle最多可以存储2000Byte VARCHAR(n) 最多可以以可变长度来存储4000B,因此不需要空格来作补偿。 变长字符串,0-255字节 NVARCHAR(n) n=1to4000字节,最多可以以可变长度来存储4000B,因此不需要空格来作补偿。 NLS(national language support , 国际言语支撑)的数据类型仅可以存储由数据库 NLS 字符集定义的 Unicode 字符集。 VARCHAR2(n) VARCHAR2 比 VARCHAR 更适合运用,由于兼容性的缘由,所以仍然在 Oracle 数据库中保藏着 VARCHAR 。 NVARCHAR2 NLS 的数据类型与 VARCHAR2 数据类型等价。这个数据类型最多可存储4000B 。 CLOB 存储许多的单字节字符数据和多字节字符数据。存储的最大容量为4G NCLOB 存储可变长度的Unicode字符集字符数据,存储的最大容量为4G BLOB 存储较大的二进制方针。例:图形,视频,音频等 BFILE bfile:文件定位器;指向位于服务器文件系统是二进制文件(存储一个文件方法) LONG 存储可变长度的字符数据,最多存储2GB 。 RAW 存储依据字节的数据。最多存储2000个字节,运用需指定大小。raw数据类型可以建立索引。 LONG RAW 存储可变长度的二进制数据。最多能存储2GB。不能索引。 TINYBLOB 不逾越 255 个字符的二进制字符串,0-255字节 TINYTEXT 短文本字符串,0-255字节 BLOB 二进制方法的长文本数据,0-65 535字节 TEXT 长文本数据,0-65 535字节 MEDIUMBLOB 二进制方法的中等长度文本数据 MEDIUMTEXT 中等长度文本数据,0-16 777 215字节 LOGNGBLOB 二进制方法的极大文本数据,0-4 294 967 295字节 LONGTEXT 极大文本数据,0-4 294 967 295字节 日期和时辰 DATE 存储表的日期和时辰数据,运用7个字节固定长度,每个字节分别存储世纪,年,月,日,小时,分和秒;值从公元前4712年1月1日到公元9999年12月31日。 Oracle中的sysdate函数功用是回来其时的日期和时辰。 日期值,YYYY-MM-DD TIMESTAMP 存储日期的年,月,日以及时辰的小时,分和秒值。其间秒值精确到小数点后6位,一同包含时区信息。 Oracle中的systimestamp函数功用是回来其时日期,时辰和时区。 TIME 时辰值或继续时辰,HH:MM:SS YEAR 年份值,YYYY DATETIME 混合日期和时辰,YYYY-MM-DD HH:MM:SS TIMESTAMP 混合日期和时辰值,时辰戳,YYYYMMDD HHMMSS 复合类型 ENUM  一个 ENUM 类型最多可以包含 65536 个元素,其间一个元素被 MySQL 保管,用来存储差错信息,这个差错值用索引 0 或许一个空字符串标明。 SET  容器类型,一个 SET 类型最多可以包含 64 项元素,且不可以包含两个相同的元素 http://www.superkp111.com 
posted @ 2013-04-21 02:38  chinadiy197601  阅读(346)  评论(0编辑  收藏  举报