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 n<column_name>FROM<表名>:表示查询前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>
VALUES:字段值列表(顺序与建表的顺序必须一样)
ü 添加不完整记录:
INSERT [INTO]<目标表名>(字段名列表)VALUES<字段值列表>
特别的记住:字段名列表和字段值列表是一一对应的.即后面的字段值随着前面的字段名的改变而改变.
另一种方法:
语法:INSERT<表名>SELECT<column_list>FROM<表名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 .<common_field>=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 表名