一、对数据库的操作
1.创建数据库
基本:create database DataName
先判断数据库是否存在,再创建数据库:
if exists (select * from master.dbo.sysdatabases where name='DataName')
drop database DataName
create database DataName
2.删除数据库
drop database DataName
3.分离数据库
sp_detach_db
4.附加数据库
sp_attach_db DataName
5.修改数据库的名称
sp_renamedb OldDataName, NewDataName
6.备份数据库
---创建备份数据的device
use master
exec sp_addumpdevice disk, BackDataName, path(备份的路径)
---开始备份
backup database DataName to BackDataName
注:其实对数据库的分离和附加操作以及备份数据库的操作可以直接用视图窗口操作也是很方便的。
二、对数据表的操作
1.创建表
create table TableName (ColumnName1 Columntype1 [not null] [primary key], ColumnName2 Columntype2 [not null], ......)
2.删除表
drop table TableName
3.增加列
Alter table TableName add column ColumnName Columntype
4.删除列
Alter table TableName drop column ColumnName
注:当一个表中只有一列时,该列是不能被删除的。
5.添加主键
Alter table TableName add primary key(ColumnName)
6.删除主键
Alter table TableName drop primary key(ColumnName)
7.创建索引
create [unique] index IndexName on TableName(col...)
8.删除索引
drop index IndexName on TableName
9.创建视图
create view ViewName as SelectStatement
10.删除视图
drop view ViewName
11.基本的常用的SQL语句
插入:insert into TableName (Field1, Field2, ...) values (Value1, Value2, ...)
删除:delete from TableName [where Range]
更新:update TableName set Firld1 = Value1[, ...] where Range
全部查询:select * from TableName
部分查询:select Field1, Field2, ... from TableName where Range
模糊查询:select * from TableName where Range like '%Value%'
排序:select * from TableName order by Field1, Field2 [desc]
总数:select count(Field) as Total from TableName
求和:select sum(Field) as Sum from TableName
平均:select avg(Field) as Avg from TableName
最大:select max(Field) as Max from TableName
最小:select min(Field) as Min from TableName
查询去除重复值:select distinct * from TableName
使用别名:select ColumnName as AnotherName from TableName
12.几个高级查询运算词
union运算符
union 运算符通过组合其他两个结果表(table1和table2)并消去表中任何重复行而派生出一个结果表。当 all 随 union 一起使用时(即 union all),不消除重复行。两种情况下,派生表的每一行不是来自table1就是来自table2。
except运算符
except 运算符通过包括所有在table1中但不在table2中的行并消除所有重复行而派生出一个结果表。当 all 随 except 一起使用时(即 except all),不消除重复行。
intersect运算符
intersect 运算符通过只包括table1中和table2中都有的行并消除所有重复行而派生出一个结果表。当 all 随 intersect 一起使用时(即 intersect all),不消除重复行。
注:使用运算符的几个查询结果必须是一致的。
13.外连接的使用
左外连接:left (outer) join
结果集既包括连接表的匹配行,也包括左外连接表的所有行。
右外连接:right (outer) join
结果集既包括连接表的匹配行,也包括右外连接表的所有行。
全外连接:full/cross (outer) join
结果集不仅包括符号连接表的匹配行,也包括两个连接表中的所有记录。
14.分组使用
group by 分组:
一张表,经过分组后,查询后只能得到该组相关的信息。
组相关的信息:count,sum,max,min,avg 作为分组标准
在SQLServer中分组时,不能以text,ntext,image类型的字段作为分组的依据
在selecte统计函数中的字段,不能和普通字段放在一起