SQLServer令总结 下载本文

内容发布更新时间 : 2024/12/25 11:01:57星期一 下面是文章的全部内容请认真阅读。

SQL SERVER命令总结

查询语句:

SELECT [ALL/DISTINCT][TOP]

<目标列> [as 别名][,<目标列1> as 别名]? FROM <表名或视图名>[as 别名]? [WHERE 条件表达式?]

[GROUP BY <列名1>[HAVING<条件表达式>]] [ORDER BY<列名2>[ASC/DESC]] 应该注意:SELECT语句的顺序:

SELECT-->FROM-->WHERE-->GROUP BY-? HAVING ?ORDER BY SELECT INTO:生成新表格 DISTINCT:唯一 GROUP BY:分组汇总

ORDER BY:排序,默认情况下为升序. ASC:升序 DESC:降序 AS:起别名

HAVING:筛选分组汇总后的行

SELECT TOP nFROM<表名>:表示查询前N行 SELECT TOP n PERCENT*FROM<表名>:表示按一定的百分比提取 LIKE:模糊查询,仅于CHAR或是VERCHAR以及通配符连用 其他模糊查询:

IN:用于返回给定的值与列表中的值相匹配的行 BETWEEN?AND?: 在...之间查询 IS NOT NULL:查询不为空的数据

查询中使用的常量:一般与 “+”连用.起到一个组合的目的 注意

1. SELECT后面的字段如果不包括聚合函数,必须参加分组(GROUP BY 2. GROUP BY后面不能使用聚合函数 3. 查询时,可以使用2个聚合函数

使用INSERT插入数据

? 添加完整记录:

INSERT [INTO]<目标表名>VALUES VALUES:字段值列表(顺序与建表的顺序必须一样) ? 添加不完整记录:

INSERT [INTO]<目标表名>(字段名列表)VALUES<字段值列表>

特别的记住:字段名列表和字段值列表是一一对应的.即后面的字段值随着前面的字段名的改变而改变. 另一种方法:

语法:INSERT<表名>SELECTFROM<表名2) 还可以将数据有选择性的添加到另一个表中

语法:INSERT INTO Sales(Stor_id)SELECT stor_id FROM Stores

UPDATE语句

更新一行:

UPDATE<新表名>SET<目标列=值>[WHERE<条件>](范围) 更新多行:

UPDATE<表名>SET<目标列=值>;{<---没有WHERE} 更新一行和更新多行的区别在于有没有WHERE的存在

DELETE语句

1:删除一行:

语法:DELETE FROM<表名>[WHERE<条件>] 2:删除多行:

语法:DELETE FROM<表名>

删除一行和删除多行区别在于有没有WHERE的存在 3: TRUNCATE TABLE

用于删除表中所有行的命令.DROP删除表

与DELETE的区别在于:TRUNCATE不写日值文件,无法恢复数据

JOIN语句 联接信息:

Table_a AS table_alias_a JOIN table_b AS table_alias_b On

table_alias_a .=table_alias_b.< common_field> ?--------------------公共字段---------------------------?

A:内联接

INNER JOIN:查询两个表中的公共部分 B:外联接

左外联接:left OUTER JOIN 右外联接:right OUTER JOIN 完整联接:FULL OUTER JOIN C:自联接

创建表的结构

1.名称:表名 字段名 2.数据类型: 系统定义的

用户定义的: exec sp_addtype 用户定义的数据类型名 , 数据类型(系统有的),not null(是否允许为空) 3.大小: 4.约束:

主键约束 PRIMARY KEY create table 表名(字段 数据类型 primary key /

primary key(字段?))

唯一约束 UNIQUE create table 表名(字段 数据类型 unique)

默认约束DEFAULT create table 表名(字段 数据类型 default ‘值/表达式’) 检查约束 CHECK create table 表名(字段 数据类型 check (字段的表达式)

外键约束 FOREIGN KEY create table表名(字段 数据类型 foreign key references(应用) 另一个表名(字段))

更新表的结构

1.修改数据类型:alter table 表名 alter column 列名 数据类型 2.添加一列: alter table 表名 add 列名 数据类型 3.删除一列: alter table 表名 drop column 列名

4.增加约束: alter table 表名 add constraint 约束名 约束表达式 主键约束: primary key(列名列表) 唯一约束: unique(列名)

默认约束: default ‘值’for 列名

检查约束: check (列的检查约束表达式)

外键约束: foreign key(列名)references 表名(列名)

删除表的结构

drop table 表名

子查询

Select 字段 from 表(select查询)

子查询就是内层查询产生一个用于外层查询的条件 子查询经常使用的是条件运算符(>,<,<=,>=,=,!=) 子查询与in联合使用经常用于判断一列数据

子查询与exists联合使用经常用于判断一张表的字段

触发器

1。触发器:是一种特殊存储过程,它能对有触发器的表中的数据进行保护. 2。触发器主要通过操作事件(insert,update,delete)进行触发而被自动执行, 不能被调用,也不能传递参数

3。a)触发器根据数据修改语句可分为:insert触发器,update触发器,delete触发器

b)根据引起触发时刻可分为after触发器,instead触发器。 i.after触发器是在执行数据操作之后激发 ii.instead of 触发器是在执行数据操作之前激发

iii.一个表可以建立多个after触发器,可以建立一个instead of触发器

触发器中的inserted表和deleted表

1。触发器运行后在内存中自动创建。

2。他们用于对触发器执行后某些数据的测试条件