文章目录

  • SQL语法
  • 数据类型
  • 1. 精确的数字数据类型
  • 2. 近似数字数据类型
  • 3. 日期和时间数据类型
  • 4. 字符串数据类型
  • 5. Unicode字符串数据类型
  • 6. 二进制数据类型
  • 7. 其它数据类型
  • 运算符
  • 1. SQL算术运算符
  • 2. SQL比较运算符
  • 3. SQL逻辑运算符


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支持的数据类型的值,textntexttimestamp类型除外。

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运算符搜索指定表的每一行的唯一性(无重复项)。