本系列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编码。它给出128(2的7次方)个不同的字符指派值。
Unicode单一字符集合,表示世界上几乎所有的书写语言字符。可编码多达2的32次方个字符(使用UTF-32编码)。
两个连续的单引号表示字符串里的一个单引号。双引号字符是一个单独的字符,无需这样的处理。
二进制大型对象类型:同BLOB LARGE OBJECT。
和存储长字符串的CLOB不同,BLOB存储长的字节序列。
BLOB不能被用作关键字或索引。
BLOB只能进行等于=或者不等于<>的比较。而且也不能将BLOB在DISTINCT、GROUP BY、ORDER BY中使用。
数据库不会解析BLOB,它的含义由应用程序来决定。二进制串字面量以十六进制格式给出。在SQL中,十六进制数在它的第一个引号前有一个X,并且不能插入空格。例如X’4B’对应于01001011。
精确数字类型:
精度:表示数字中有效数字的个数,它是小数点右侧和左侧全部数字的总个数。
NUMERIC:精确的精度,小数位数是0到精度之间的一个值。如果小数位数省略,默认值是0。
DECIMAL:类似于NUMERIC。DBMS可以选择大于DECIMAL中定义的精度。因此精度定义了最小精度,而不是像在NUMERIC中精确的精度。
INTEGER:同INT。表示一个整数。
SMALLINT:依赖于DBMS的一个更小范围的值。
BIGINT:依赖于DBMS的一个更大范围的值。
只包含整数的运算要比包含小数和浮点数的运算快得多。
近似数字类型:
FLOAT:表示浮点数字。
REAL:实数,单精度数字。没有参数。
DOUBLE:双精度。精度大于REAL,没有参数。
布尔类型:
BOOLEAN:字面量为TRUE、FALSE、UNKNOWN。空值等价于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 评论