2023年8月3日发(作者:)

SQL常用代码

CREATE DATABASE<库名> 创建数据库

DROP DATABASE<库名> 删除数据库

EXEC sp_dboption ‘pubs’,’read only’,’true’

把数据库’pubs’设置为只读

EXEC sp_dboption ‘pubs’,autoshrink,true

把数据库’pubs’文件设置为自动周期性收缩

EXEC sp_dboption ‘pubs’,’single user’

同一时间内只有一个用户可以访问’pubs’数据库

DBCC SHRINKDATABASE(PUBS,10)

减少’pubs’数据库中文件的大小允许其有10%的未用空间

CREATE TABLE <表名> 创建数据库表

DROP TABLE <表名> 删除数据库表

PRIMARY KEY 主键约束

CREATE TABLE 表名

< 列名 > PRIMARY KEY 创建主键约束

ALTER TABLE 表名

ADD CONSTRAINT 约束名

PRIMARY KEY (<列名>) 添加主键约束

Column_name Data Type IDENTITY(SEED,INCREMENT)

《其中:Column_name:为IDENTITY属性列添加的列名

Data Type:为添加列的数据类型

SEED:为IDENTITY列的起始或初始值

INCREMENT:为列生成下一个值的步长值(可以为负)》

ALTER TABLE

[ALTER COLUMN ]

| ADD column_name

| DROP COLUMN

《其中:是要修改的表的名称

ALTER COLUMN是指定要修改的列

是指要修改 添加或删除的列的名称

是指将列修改为新的数据类型

是指要添加的列的数据类型

ADD 是表明要向表添加一列

DROP COLUMN是表明要从表中删除一列》

CHEAK(检查约束) DEFAULT(默认约束) UNIQUE(唯一约束)约束) PRIMARY KEY(主键约束)

SQL常用代码1

FOPEIGN KEY(外键 CREATE TABLE

( )

《其中:是表名

是表的每一列的定义

是任何为表或列定义的约束》

ALTER TEBLE

ADD CONSTRAINT

《其中:ADD CONSTRAINT是表明要向表中添加一列

是约束名

是约束类型》

INSERT[INTO] VALUES

《其中:[INTO]是INSERT和目标表之间可以使用的关键字(可选)

是插入记录的目标表的名称

是指定表中列的值》

INSERT [INTO] SELECT FROM

《其中:是要添加数据的目标表的名称

是从现有表中选择的列的列表

是现有表的名称》

UPDATE

SET

[WHERE ]

《其中:要更新记录的表的名称

制定被修改列的值

是WHERE子句筛选的数据行的限定条件》

《多行更新可以通过省略WHERE子句或在WHERE子句中包含一个将影响多行的条件来更新表的多行》

DELETE FROM [WHERE ]

《其中:是要从中删除记录的表的名称

WHERE子句用于指定条件,要删除一行或是多行都必须指定条件》

TAUNCATE TABLE 要比没有WHERE的DELETE执行删除表中的所有行速度快,而且使用的系统资源和事务日志资源更少。虽然TAUNCATE TABLE删除表中的所有行,但是表的结构,列,索引等不会被改动TAUNCATE TABLE不能用于有外键约束饮用的表,这种情况下,需要使用不带WHERE子句的DELETE语句

Table_a AS table_alias_a JOIN table_alias_b

ON

SQL常用代码2 Table _alias_a. = table_alias_b.

《其中:Table_a- JOIN关键字左边的表的名称

Table_b- JOIN 关键字右边的表的名称

AS table_alias 为表指定一个别名(或另一个名称)的方式》

联接可分为3类:

1:内联接:(等值联接)

Update titles set price = price+10 from titles

Inner join titleauthor on

_id = _id

Where titles,titile = ‘sushi, anyone?’

2:外联接(非等值联接,分为左联接和右联接。

左连接:)

Update titles set price = price+10 from titles

Left outer join titleauthor on

_id = _id

Where titles,titile = ‘sushi, anyone?’

3:自联接()

自联接是一种内联接,用于查找表中与同一表中其它记录相关的记录。自联接中,表与自身进行联接。

从SQL Server 2000导入和导出数据可分为两种:

1:Microsoft SQL Server程序组中的“导入和导出数据”

2:企业管理器中的导入/导出选项

SELECT <列名> FROM <表名> ;

《其中:SELECT(什么?)

FROM(何处?)

*代表所有列》

《使用WHERE子句:这是查询语句的可选项。该选项指定了查询条件。如果没有WHERE子句,就会选中所有行。

SELECT FROM

WHERE

[其中:是列名

是表名

是查询的条件]

使用GROUP BY子句:这是查询语句的另一个可选项。该选项仅在必须基于某些标准对查询结果进行分组时才使用。

SELECT FROM

GROUP BY

[其中:是列名

SQL常用代码3 是表名

是查询的条件

是要查询分组的列名]

使用ORDER BY子句:这时可选的字句,用于控制要显示的行的顺序。

(ASC)表示升序(DESC)表示降序

SELECT FROM

WHERE ORDER BY

[其中:是列名

是表名

是查询的条件

是指定要排序的列名]

在查询中使用常量:在连接字符列时,为了获得正确的格式或可读性,可以使用字符串常数。常数一般不会再结果集中作为单独的列指定。通常在显示结果时,使用应用程序将常数值合并到结果终必通过服务器合并常数值效率更高。

SELECT title_id+’:’+title+’_>’+type

FROM titles

[在已选的表中使用加号(+)时,一定要注意该列与其左右两边的

列的数据类型应该一致]

使用AS子句命令列:可以用来改变结果集列的名称,也可以为派生的列指定名称

SELECT AS ‘column1_name’

FROM

[其中:是列名

‘column_name’是更改过的列名

是表名]

使用标识列:SELECT语句也可以与约束一起使用。

SELECT IDENTITY (datatype,seed,increment) AS column_name

INTO table2

FROM table1

[其中:table1是现有的表

table2是要添加标识值的表

datatype是表示列的数据类型

seed是指定给表的第一行的值。然后为各个后续的的行指定下一个标识值,该标识值等于上一个标识值加上递增量

increment是加在seed上的递增量,用于在表中为后续行生成值

column_name是将要插入到新表中的列的名称]

使用TOP子句限制查询返回行数:TOP子句用于心智返回的结果集中的行数

SELECT TOP n FROM

[其中:n是表示共几行

是列名

是表名]》

聚合函数分为以下五种:

SUM:SUM函数返回表达式中所有数值的总和。

它只能用于类型的列。

AVG:AVG函数返回表达式中旭噢有说值得平均值

AVG([ALL|DISTINCT]Expression)

SQL常用代码4 [其中:ALL:默认值,表明使用所有的值

DISTINCT:表明不管一个数值出现多少次,AVG仅使用该值一次

Expression:SQL Server中所有合法的表达式,如列名。]

COUNT:COUNT函数返回提供的表达式中

非空值的数目(计数)。如果使用

DISTINCT关键字,COUNCT返回唯一值的个数。COUNCT可以用于numeric和character(字符)类型的列。

MAX:MAX返回表达式中的最大值。MAX可以用于数字型、字符型、以及日期/时间类型的列。

MIN:MIN返回表达式中的最小值。MIN可以用于数字型、字符型、以及日期/时间类型的列。

Select <列名> ,sum(列名) as ‘更改完的列名’

From <表名>

Where <限定条件>

Group by<结果分组>

Having<筛选分组汇总后的行>

LIKE运算符用于匹配字符串或字符串的一部分(称为子串)

SELECT * FROM authors WHERE au_lname LIKE ‘P%’

上述查询语句返回authors表中au_lname列以P开头的所有数据。

SELECT * FROM flight WHERE aircraft-code LIKE ‘M[AC]0[12]’

上述查询语句返回的记录中,aircraft_code的第一个字符为M,第二个字符为A或C,第三个字符为0,第四个字符为1或2。

IN运算符用于返回给定的值与列表中的值相匹配的行。

SELECT * FROM titilws WHERE type IN(‘CLASSIC’,’ASTRO’)

上述查询语句只将type列的值为CLASSIC或ASTRO的行输出。

NOT IN 运算符将返回与该条件不匹配的行。

BETWEEN运算符除了可以指定要匹配的数值的范围外,该运算符与IN运算符类似。

SELECT * FROM authors WHERE zip BETWEEN 94025 AND 94050

上述查询语句和IN类似。

IS NULL 运算符是指某些行的某些列可能没有值。

SELECT * FROM authors WHERE phone IS NOT NULL

上述查询语句不会显示phone字段的值为空。

SELECT

FROM table_a AS table_alias_a

JOIN

Table_b AS table_alias_b

ON table_alias_a. = table_alias_b.

SQL常用代码5 《其中:table_a- JOIN关键字左侧的表的名称

table_b-JOIN关键字右侧的表的名称

AS table_alias是一种为表指定别名的方法

是两个表的公共字段

是列名的列表》

内联接:内联接时,仅当两个表的行基于相同的列匹配时,才将两个表的记录组合起来,并添加到查询结果中。

SELECT

FROM FROM table_a AS table_alias_a

INNER JOIN

Table_b AS table_alias_b

ON table_alias_a. = table_alias_b.

SQL常用代码6

2023年8月3日发(作者:)

SQL常用代码

CREATE DATABASE<库名> 创建数据库

DROP DATABASE<库名> 删除数据库

EXEC sp_dboption ‘pubs’,’read only’,’true’

把数据库’pubs’设置为只读

EXEC sp_dboption ‘pubs’,autoshrink,true

把数据库’pubs’文件设置为自动周期性收缩

EXEC sp_dboption ‘pubs’,’single user’

同一时间内只有一个用户可以访问’pubs’数据库

DBCC SHRINKDATABASE(PUBS,10)

减少’pubs’数据库中文件的大小允许其有10%的未用空间

CREATE TABLE <表名> 创建数据库表

DROP TABLE <表名> 删除数据库表

PRIMARY KEY 主键约束

CREATE TABLE 表名

< 列名 > PRIMARY KEY 创建主键约束

ALTER TABLE 表名

ADD CONSTRAINT 约束名

PRIMARY KEY (<列名>) 添加主键约束

Column_name Data Type IDENTITY(SEED,INCREMENT)

《其中:Column_name:为IDENTITY属性列添加的列名

Data Type:为添加列的数据类型

SEED:为IDENTITY列的起始或初始值

INCREMENT:为列生成下一个值的步长值(可以为负)》

ALTER TABLE

[ALTER COLUMN ]

| ADD column_name

| DROP COLUMN

《其中:是要修改的表的名称

ALTER COLUMN是指定要修改的列

是指要修改 添加或删除的列的名称

是指将列修改为新的数据类型

是指要添加的列的数据类型

ADD 是表明要向表添加一列

DROP COLUMN是表明要从表中删除一列》

CHEAK(检查约束) DEFAULT(默认约束) UNIQUE(唯一约束)约束) PRIMARY KEY(主键约束)

SQL常用代码1

FOPEIGN KEY(外键 CREATE TABLE

( )

《其中:是表名

是表的每一列的定义

是任何为表或列定义的约束》

ALTER TEBLE

ADD CONSTRAINT

《其中:ADD CONSTRAINT是表明要向表中添加一列

是约束名

是约束类型》

INSERT[INTO] VALUES

《其中:[INTO]是INSERT和目标表之间可以使用的关键字(可选)

是插入记录的目标表的名称

是指定表中列的值》

INSERT [INTO] SELECT FROM

《其中:是要添加数据的目标表的名称

是从现有表中选择的列的列表

是现有表的名称》

UPDATE

SET

[WHERE ]

《其中:要更新记录的表的名称

制定被修改列的值

是WHERE子句筛选的数据行的限定条件》

《多行更新可以通过省略WHERE子句或在WHERE子句中包含一个将影响多行的条件来更新表的多行》

DELETE FROM [WHERE ]

《其中:是要从中删除记录的表的名称

WHERE子句用于指定条件,要删除一行或是多行都必须指定条件》

TAUNCATE TABLE 要比没有WHERE的DELETE执行删除表中的所有行速度快,而且使用的系统资源和事务日志资源更少。虽然TAUNCATE TABLE删除表中的所有行,但是表的结构,列,索引等不会被改动TAUNCATE TABLE不能用于有外键约束饮用的表,这种情况下,需要使用不带WHERE子句的DELETE语句

Table_a AS table_alias_a JOIN table_alias_b

ON

SQL常用代码2 Table _alias_a. = table_alias_b.

《其中:Table_a- JOIN关键字左边的表的名称

Table_b- JOIN 关键字右边的表的名称

AS table_alias 为表指定一个别名(或另一个名称)的方式》

联接可分为3类:

1:内联接:(等值联接)

Update titles set price = price+10 from titles

Inner join titleauthor on

_id = _id

Where titles,titile = ‘sushi, anyone?’

2:外联接(非等值联接,分为左联接和右联接。

左连接:)

Update titles set price = price+10 from titles

Left outer join titleauthor on

_id = _id

Where titles,titile = ‘sushi, anyone?’

3:自联接()

自联接是一种内联接,用于查找表中与同一表中其它记录相关的记录。自联接中,表与自身进行联接。

从SQL Server 2000导入和导出数据可分为两种:

1:Microsoft SQL Server程序组中的“导入和导出数据”

2:企业管理器中的导入/导出选项

SELECT <列名> FROM <表名> ;

《其中:SELECT(什么?)

FROM(何处?)

*代表所有列》

《使用WHERE子句:这是查询语句的可选项。该选项指定了查询条件。如果没有WHERE子句,就会选中所有行。

SELECT FROM

WHERE

[其中:是列名

是表名

是查询的条件]

使用GROUP BY子句:这是查询语句的另一个可选项。该选项仅在必须基于某些标准对查询结果进行分组时才使用。

SELECT FROM

GROUP BY

[其中:是列名

SQL常用代码3 是表名

是查询的条件

是要查询分组的列名]

使用ORDER BY子句:这时可选的字句,用于控制要显示的行的顺序。

(ASC)表示升序(DESC)表示降序

SELECT FROM

WHERE ORDER BY

[其中:是列名

是表名

是查询的条件

是指定要排序的列名]

在查询中使用常量:在连接字符列时,为了获得正确的格式或可读性,可以使用字符串常数。常数一般不会再结果集中作为单独的列指定。通常在显示结果时,使用应用程序将常数值合并到结果终必通过服务器合并常数值效率更高。

SELECT title_id+’:’+title+’_>’+type

FROM titles

[在已选的表中使用加号(+)时,一定要注意该列与其左右两边的

列的数据类型应该一致]

使用AS子句命令列:可以用来改变结果集列的名称,也可以为派生的列指定名称

SELECT AS ‘column1_name’

FROM

[其中:是列名

‘column_name’是更改过的列名

是表名]

使用标识列:SELECT语句也可以与约束一起使用。

SELECT IDENTITY (datatype,seed,increment) AS column_name

INTO table2

FROM table1

[其中:table1是现有的表

table2是要添加标识值的表

datatype是表示列的数据类型

seed是指定给表的第一行的值。然后为各个后续的的行指定下一个标识值,该标识值等于上一个标识值加上递增量

increment是加在seed上的递增量,用于在表中为后续行生成值

column_name是将要插入到新表中的列的名称]

使用TOP子句限制查询返回行数:TOP子句用于心智返回的结果集中的行数

SELECT TOP n FROM

[其中:n是表示共几行

是列名

是表名]》

聚合函数分为以下五种:

SUM:SUM函数返回表达式中所有数值的总和。

它只能用于类型的列。

AVG:AVG函数返回表达式中旭噢有说值得平均值

AVG([ALL|DISTINCT]Expression)

SQL常用代码4 [其中:ALL:默认值,表明使用所有的值

DISTINCT:表明不管一个数值出现多少次,AVG仅使用该值一次

Expression:SQL Server中所有合法的表达式,如列名。]

COUNT:COUNT函数返回提供的表达式中

非空值的数目(计数)。如果使用

DISTINCT关键字,COUNCT返回唯一值的个数。COUNCT可以用于numeric和character(字符)类型的列。

MAX:MAX返回表达式中的最大值。MAX可以用于数字型、字符型、以及日期/时间类型的列。

MIN:MIN返回表达式中的最小值。MIN可以用于数字型、字符型、以及日期/时间类型的列。

Select <列名> ,sum(列名) as ‘更改完的列名’

From <表名>

Where <限定条件>

Group by<结果分组>

Having<筛选分组汇总后的行>

LIKE运算符用于匹配字符串或字符串的一部分(称为子串)

SELECT * FROM authors WHERE au_lname LIKE ‘P%’

上述查询语句返回authors表中au_lname列以P开头的所有数据。

SELECT * FROM flight WHERE aircraft-code LIKE ‘M[AC]0[12]’

上述查询语句返回的记录中,aircraft_code的第一个字符为M,第二个字符为A或C,第三个字符为0,第四个字符为1或2。

IN运算符用于返回给定的值与列表中的值相匹配的行。

SELECT * FROM titilws WHERE type IN(‘CLASSIC’,’ASTRO’)

上述查询语句只将type列的值为CLASSIC或ASTRO的行输出。

NOT IN 运算符将返回与该条件不匹配的行。

BETWEEN运算符除了可以指定要匹配的数值的范围外,该运算符与IN运算符类似。

SELECT * FROM authors WHERE zip BETWEEN 94025 AND 94050

上述查询语句和IN类似。

IS NULL 运算符是指某些行的某些列可能没有值。

SELECT * FROM authors WHERE phone IS NOT NULL

上述查询语句不会显示phone字段的值为空。

SELECT

FROM table_a AS table_alias_a

JOIN

Table_b AS table_alias_b

ON table_alias_a. = table_alias_b.

SQL常用代码5 《其中:table_a- JOIN关键字左侧的表的名称

table_b-JOIN关键字右侧的表的名称

AS table_alias是一种为表指定别名的方法

是两个表的公共字段

是列名的列表》

内联接:内联接时,仅当两个表的行基于相同的列匹配时,才将两个表的记录组合起来,并添加到查询结果中。

SELECT

FROM FROM table_a AS table_alias_a

INNER JOIN

Table_b AS table_alias_b

ON table_alias_a. = table_alias_b.

SQL常用代码6