PostgreSQL初识 之 SQL语句

  • Post author:
  • Post category:其他




SQL语法

在数据库中大部分操作都是由SQL语句完成的,SQL语句都是以 select,insert,update,delete,alter,drop,create,use,show等关键字开头,以

;

结尾,SQL语句对大小写不敏感。其中:

  • SELECT – 从数据库表中获取数据
  • UPDATE – 更新数据库表中的数据
  • DELETE – 从数据库表中删除数据
  • INSERT INTO – 向数据库表中插入数据



数据类型

SQL数据类型是指定任何对象的数据类型的属性。在创建表时可以使用这些数据类型,也可以根据需要为表的列(字段)选择合适的数据类型。在数据库中,表的每列都具有特定的数据类型。 数据类型指定列(字段)可以容纳的数据类型,例如字符串,数值和日期时间值。

SQL Server 提供了六种数据类型



1. 精确的数字数据类型

数据类型 开始值 结束值
bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
int -2,147,483,648 2,147,483,647
smallint -32,768 32,767
tinyint 0 255
bit 0 1
decimal -10^38 +1 10^38 -1
numeric -10^38 +1 10^38 -1
money -922,337,203,685,477.5808 +922,337,203,685,477.5807
smallmoney -214,748.3648 +214,748.3647



2. 近似数字数据类型

数据类型 开始值 结束值
float -1.79E + 308 1.79E + 308
real -3.40E + 38 3.40E + 38



3. 日期和时间数据类型

数据类型 开始值 结束值
datetime -1.79E + 308 1.79E + 308
smalldatetime Jan 1, 1900 Jun 6, 2079
date 存储日期,如1991年6月30日
time 存储时间。如,下午12:30



4. 字符串数据类型

序号 数据类型 描述
1
char
最大长度为

8,000

个字符,非

Unicode

字符固定长度。
2
varchar
最多

8,000

个字符,非

Unicode

数据可变长度。
3
varchar(max)
最大长度为

2E + 31

个字符,可变长度非

Unicode

数据(仅限SQL Server 2005)。
4
text


Unicode

数据的可变长度,最大长度为

2,147,483,647

个字符。



5. Unicode字符串数据类型

序号 类型 描述
1
nchar
最大长度为

4,000

个字符,

Unicode

字符固定长度。
2
nvarchar
最大长度为

4,000

个字符,

Unicode

字符可变长度。
3
nvarchar(max)
最大长度为

2E + 31

个字符(仅限SQL Server 2005),

Unicode

字符可变长度。
4
ntext
最大长度为

1,073,741,823

个字符,可变长度。



6. 二进制数据类型

序号 类型 描述
1
binary
最大长度为

8,000

字节,固定长度的二进制数据。
2
varbinary
最大长度为

8,000

字节,可变长度二进制数据。
3
varbinary(max)
最大长度为

2E + 31

个字节(仅限SQL Server 2005),可变长度二进制数据。
4
image
最大长度为

2,147,483,647

字节,可变长度二进制数据)



7. 其它数据类型

序号 类型 描述
1
sql_variant
存储各种SQL Server支持的数据类型的值,

text



ntext



timestamp

类型除外。
2
timestamp
存储数据库范围的唯一编号,每次更新行时都会更新该编号。
3
uniqueidentifier
存储全局唯一标识符(GUID)
4
xml
存储XML数据,可以将xml实例存储在列或变量中(仅限SQL Server 2005)。
5
cursor
引用游标对象
6
table
存储结果集以供以后处理



运算符

运算符是保留字或主要用于SQL语句的WHERE子句中的字符,用于执行操作,例如:比较和算术运算。 这些运算符用于指定SQL语句中的条件,并用作语句中多个条件的连词。

常见运算符有以下几种:

  • 算术运算符
  • 比较运算符
  • 逻辑运算符
  • 否定条件运算符



1. SQL算术运算符

假设变量

a

的值是:

10

,变量

b

的值是:

20

,则 –

操作符 描述 示例

+
加法,执行加法运算。
a + b = 30

-
减法,执行减法运算。
a + b = -10

*
除法,执行除法运算。
a * b = 200

/
用左操作数除右手操作数。
b / a = 2

%
用左手操作数除左手操作数并返回余数。
b % a = 0



2. SQL比较运算符

变量

a

的值是:

10

,变量

b

的值是:

20

,则 –

操作符 描述 示例

=
检查两个操作数的值是否相等,如果是,则条件为真(

true

)。

(a = b)

结果为

false


!=
检查两个操作数的值是否相等,如果值不相等则条件为真(

true

)。

(a != b)

结果为:

true

<>
检查两个操作数的值是否相等,如果值不相等则条件为真(

true

)。

(a <> b)

结果为:

true

>
检查左操作数的值是否大于右操作数的值,如果是,则条件为真(

true

)。

(a > b)

结果为:

false

<
检查左操作数的值是否小于右操作数的值,如果是,则条件为真(

true

)。

(a < b)

结果为:

true

>=
检查左操作数的值是否大于或等于右操作数的值,如果是,则条件为真(

true

)。

(a >= b)

结果为:

false

<=
检查左操作数的值是否小于或等于右操作数的值,如果是,则条件为真(

true

)。

(a <= b)

结果为:

true

!<
检查左操作数的值是否不小于右操作数的值,如果是,则条件变为真(

true

)。

(a !< b)

结果为:

false

!>
检查左操作数的值是否不大于右操作数的值,如果是,则条件变为真(

true

)。

(a !> b)

结果为:

true



3. SQL逻辑运算符

以下是SQL中可用的所有逻辑运算符的列表。

序号 操作符 描述
1 ALL
ALL

运算符用于将值与另一个值集中的所有值进行比较。
2 AND
AND

运算符允许在SQL语句的

WHERE

子句中指定多个条件。
3 ANY
ANY

运算符用于根据条件将值与列表中的任何适用值进行比较。
4 BETWEEN
BETWEEN

运算符用于搜索在给定最小值和最大值内的值。
5 EXISTS
EXISTS

运算符用于搜索指定表中是否存在满足特定条件的行。
6 IN
IN

运算符用于将值与已指定的文字值列表进行比较。
7 LIKE
LIKE

运算符用于使用通配符运算符将值与类似值进行比较。
8 NOT
NOT

运算符反转使用它的逻辑运算符的含义。 例如:

NOT EXISTS

,

NOT BETWEEN

,

NOT IN

等等,这是一个否定运算符。
9 OR
OR

运算符用于组合

SQL

语句的

WHERE

子句中的多个条件。
10 IS NULL
NULL

运算符用于将值与

NULL

值进行比较。
11 UNIQUE
UNIQUE

运算符搜索指定表的每一行的唯一性(无重复项)。



版权声明:本文为Wwinky原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。