SQL基础总结(二):SQL基础

本系列blog源自前年写的SQL学习笔记,汇总一下发上来。

--------------------------------------------------------------- 

标识符是可以在数据库对象(任何create语句所创建的内容)层次中明确的引用一个对象的名称。

 

标准的SQL区分保留关键字和非保留关键字。

不可以用保留关键字作为标识符,如不能将表命名为select,将列命名为sum

非保留关键字大多数是内置的表和函数名称,也绝不要使用它们作为标识符。

 

可以使用带双引号的标识符,也称为分隔标识符,来打破某些SQL的标识符规则。带双引号的标识符可能干扰其它程序员,因此不建议使用。

 

数据类型

字符串类型

CHARACTER:同CHAR。表示固定个数的字符。当CHARACTER(length)列中存储比length短的字符串时,用空格填充字符串的末尾。

CHARACTER VARYING:同VARCHAR。表示可变字数的字符。CHARACTER VARYING(length)中存储一个比length短的字符串时,直接存储而无需空格填充。

NATIONAL CHARACTER:同NCHAR。可以保存标准的多字节字符或Unicode字符。NCHAR除了在第一个引号以前有一个N以外和CHAR一样。如N’Unicode字符串

NATIONAL CHARACTER VARYING:同NCHAR VARYING。可以保存标准的多字节字符或Unicode字符。

CLOB:同CHARACTER  LARGE  OBJECT。用于保存巨大数量的文本。

NCLOB:国家字符大型对象。可以保存标准的多字节字符或Unicode字符。

 

Unicode编码:统一字符编码标准。编码决定了数字值对字符的映射。

标准美国英语使用ACSII编码。它给出12827次方)个不同的字符指派值。

Unicode单一字符集合,表示世界上几乎所有的书写语言字符。可编码多达232次方个字符(使用UTF-32编码)。

 

两个连续的单引号表示字符串里的一个单引号。双引号字符是一个单独的字符,无需这样的处理。

 

二进制大型对象类型:同BLOB LARGE OBJECT

和存储长字符串的CLOB不同,BLOB存储长的字节序列。

BLOB不能被用作关键字或索引。

BLOB只能进行等于=或者不等于<>的比较。而且也不能将BLOBDISTINCTGROUP BYORDER BY中使用。

数据库不会解析BLOB,它的含义由应用程序来决定。二进制串字面量以十六进制格式给出。在SQL中,十六进制数在它的第一个引号前有一个X,并且不能插入空格。例如X’4B’对应于01001011

 

精确数字类型

精度:表示数字中有效数字的个数,它是小数点右侧和左侧全部数字的总个数。

NUMERIC:精确的精度,小数位数是0到精度之间的一个值。如果小数位数省略,默认值是0

DECIMAL:类似于NUMERICDBMS可以选择大于DECIMAL中定义的精度。因此精度定义了最小精度,而不是像在NUMERIC中精确的精度。

INTEGER:同INT。表示一个整数。

SMALLINT:依赖于DBMS的一个更小范围的值。

BIGINT:依赖于DBMS的一个更大范围的值。

 

只包含整数的运算要比包含小数和浮点数的运算快得多。

 

近似数字类型:

FLOAT:表示浮点数字。

REAL:实数,单精度数字。没有参数。

DOUBLE:双精度。精度大于REAL,没有参数。

 

布尔类型:

BOOLEAN:字面量为TRUEFALSEUNKNOWN。空值等价于UNKNOWN真值,通常被用于替代UNKNOWN

 

日期时间类型:

DATE:日期。格式:yyyy-mm-dd

TIME:时间。hh:mm:ss

TIMESTAMP:日期和时间的组合。

Datetime类型字面量是datetime类型名,后面跟着空格,再跟着一个被单引号环绕的datetime值。如:DATE ‘2011-1-10’ , TIME ’19:31:00’,TIMESTAMP ‘2011-1-10 19:31:00’.DB2中省略了日期和时间字面量的数据类型名前缀。

 

时间间隔类型:Oracle支持。

 

唯一标识符:IDENTITY

本文链接:https://my.lmcjl.com/post/2303.html

展开阅读全文

4 评论

留下您的评论.