SQL的基本知识
1数据类型
(1) 数值型
Int :长整数,也可写成integer
Smallint:短整数
Real :取决于机器精度的浮点数
Double Precision:取决于机器精度的双精度浮点数
Float(n):浮点数,精度至少为n位数字
Numberic(p,q):定点数,由p位数字组成,但不包括符号和小数点,小数点后面有q位数字,也可写成Decimal(p,q)或者dec(d,q)。
(2) 字符型
Char(n):长度为n的定长字符串,n是字符串中的个数。
Verchar(n):具有最大长度为n的变长字符串
(3) 位串型
Bit(n):长度为n的二进制位串
Bit varying(n):最大长度为n的变长二进制位串
(4) 日期型
Date:日期,包含年、月、日,格式为YYYY-MM-DD
Time:时间,包含一日的时分秒,格式为HH:MM:SS
SQL支持空值,但是空字符串与数值0具有不同的含义。
2 表达式运算符
(1) 比较运算符
用于测试单个的值,比较运算符包括=、!=(或< >)、<、>、<=、>=。当满足条件时候返回TRUE否则返回False。SQL中的=号运算用于比较两个值是否相等,两个值必须完全匹配才返回TRUE
(2) 谓词
谓词一般使用在查询语句中,通过SQL的where子句实现,SQL所涉及的谓词包括以下几种:
1.is null和is not null
注意:不能用=来查找Null,如果使用=,则表示要查找的是字符“NULL”,而不是NULL值。例如,查找姓名字段中是否包含“NULL”,可以使用表达式XM=‘NULL’
2.between… and …和not between … and …:谓词between英语判断值是否在给定的两个值之间,注意:包括边界值。也可以用>= and<=
例如:查找成绩在90-100之间的学生,可以在where子句中使用表达式:
CJ between 90 and 100或者 CJ>=90 andCJ<=100
3.in:用于判断值是否属于指定的集合
例如,查找职工表中工资GZ是否为一下几个值中的一个:4000 5000 6000,可在where子句中使用表达式 GZ in (4000,5000,6000)
4.like:可以用来进行字符串的匹配,其一般语法合适如下:
[not] like <匹配符> [escape<换码字符>]
在指定的关系中查找指定属性列值与<匹配符>相匹配的元组
说明:
<匹配符>通常使用通配符%(百分号)和_(下划线)表示,并且这两个符号可以组合起来使用。
%代表任意长度(也可以为0)的字符串。
_代表任意单个字符
例如A%B表示以A开头,以B结尾的任意长度的字符串。A_B表示以A开头,以B结尾的长度为3的任意字符串。
如果like后面的匹配符中不含通配符,则可以用“=”运算符取代谓词like,用< >或!=运算符取代谓词NOT LIKE。
如果要查询的字符串本身就含%或_,则需要使用有escape指定的换码字符。例如在where子句中的like谓词为like ‘COM\_cn_’ ESCAPE ‘\’表示指定的换码字符为\,匹配字符串‘COM\_cn_’中的第一个下划线前因为有换码字符,所以将其解释为下划线本身,而不再提通配符;第二个下划线则扔是通配符。
5.Exists和not exists:格式为exist(子查询)
用于判断在指定的表中是否存在一行符合某种条件的数据,带有exists谓词的子查询不返回任何数据,当查询结果非空时候,返回TRUE,否则false
6.Unique:用于在指定的表中判断每一行是否是唯一的
7.ALL和ANY:用于将某个值同另一个数据集中的每个值做比较。
(3) 逻辑运算符
1.not:将使用的逻辑运算符的意义反转,例如not between not unique not like等
2.and:连接多个查询条件,表示所有的查询条件都成立。
例如:查找年龄(NL)为25岁,家庭住址(ZZ)在大连的,性别(XB)是女的学生
NL=25 and ZZ=’大连’ and XB=’女’
3.or:连接多个查询条件,表示至少有一个查询条件成立。
4.算术运算符
算术运算符在SQL中用于执行数学运算的功能,+ - * /
3.函数
Function(函数)是SQL的关键字,用于操纵数据列的值来达到输出的目的,函数通常是和列名或者表达式相联系的命令。
1. 单行函数
单行函数主要分数值函数,字符函数,日期函数,转换函数等,它对查询的表或视图的每一行返回一个结果行。
数值函数用于接受数值的输入,返回数值,许多函数的返回值可以精确到38位十进制数字,三角函数精确到36位数字。
单行字符函数用于接受字符串输入,可返回字符值或数值。
日期函数是操作DATE数据类型的值,所有日期函数都返回一个DATE类型的值。
转换函数是将一种数据类型的值转换成另一种数据类型的值。
2. 统计函数
统计函数是在数据库操作中常用到的函数,又称基本函数或集函数。有COUNT、SUM、MAX、MIN、AVG等