常用的Sql语句

SQL语言可以分为以下3类: 
DDL—
数据定义语言(CreateAlterDropDECLARE) 
DML—
数据操纵语言(SelectDeleteUpdateInsert) 

DCL—数据控制语言(GRANTREVOKECOMMITROLLBACK)

1.创建数据库

USE master;
GO 

Create database mydatabase

GO

2.删除数据库

USE master;
GO 

drop database mydatabase

GO

3.创建备份数据的device。其中sp_addumpdevice的作用是将备份设备添加到 Microsoft SQL Server 2005 数据库引擎的实例中。第一个参数指明备份设备的类型,disk表示将磁盘文件作为备份文件。第二个参数为在 BACKUP 和 RESTORE 语句中使用的备份设备的逻辑名称。第三个参数表示备份设备的物理名称。

USE master;
GO
EXEC sp_addumpdevice 'disk', 'mydiskdump','E:\Backup\dump1.bak';

4.开始备份

backup database AdventureWorks to mydiskdump

5.创建新表
 Create table Person(id int ,firstname varchar(10),lastname varchar(10),gender char(8))
6.删除新表

Drop table Person

7.复制表的结构,但是不拷贝表的数据

select * into b from ProductResults where 1<>1

select top 0 * into c from ProductResults

8.拷贝表,既复制表的结构,又拷贝表的数据

 insert into b(a, b, c) select d,e,f from b

9.随机取出表中的10条记录

select top 10 * from ProductResults order by newid()

10.选择第10到第15条记录

select top 5 * from (select top 15 * from HumanResources.Employee order by EmployeeID asc) HE order by EmployeeID desc

11. UNION 运算符(结果集的并集)

UNION 运算符通过组合其他两个结果表(例如 TABLE1  TABLE2)并消去表中任何重复行而派生出一个结果表。当 ALL  UNION 一起使用时(即 UNION ALL),不消除重复行。两种情况下,派生表的每一行不是来自 TABLE1 就是来自 TABLE2 以AdventureWorks为例:

--判断数据库中是否已经存在Gloves表,如果存在就删除掉
USE AdventureWorks ;
GO
IF OBJECT_ID ('dbo.Gloves', 'U') IS NOT NULL
DROP TABLE dbo.Gloves ;
GO

-- 创建 Gloves 表.
SELECT ProductModelID, Name
INTO dbo.Gloves
FROM Production.ProductModel
WHERE ProductModelID IN (3, 4) ;
GO
--如果使用 UNION 运算符,那么各个 SELECT 语句不能包含它们自己的 ORDER BY 或 COMPUTE 子句。而只能在最后一个 SELECT 语句的后面使用一个 ORDER BY 或 COMPUTE 子句;该子句适用于最终的组合结果集。只能在各个 SELECT 语句中指定 GROUP BY 和 HAVING 子句。
USE AdventureWorks ;
GO
SELECT ProductModelID, Name
FROM Production.ProductModel
WHERE ProductModelID NOT IN (3, 4)
UNION
SELECT ProductModelID, Name
FROM dbo.Gloves
ORDER BY Name;
GO

12.  EXCEPT 运算符

EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL  EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。

SELECT * FROM TableA
EXCEPT SELECT * FROM TableB 

13.  INTERSECT 运算符(结果集的交集)

INTERSECT 运算符通过只包括 TABLE1  TABLE2 中都有的行并消除所有重复行而派生出一个结果表。当 ALL  INTERSECT 一起使用时 (INTERSECT ALL),不消除重复行。 

注:使用运算词的几个查询结果行的顺序及行的数据类型必须是一致的。INTERSECT 运算符优先于 EXCEPT.

SELECT * FROM TableA INTERSECT SELECT * FROM TableB

SELECT * FROM TableA EXCEPT SELECT * FROM TableB INTERSECT SELECT * FROM TableC 

 14.列出数据库中的所有表

select name from sysobjects where type='U'

15.列出数据库中Employee表的所有列

select name from syscolumns where id=object_id('HumanResources.Employee') 

 

 

 

posted @ 2010-04-26 00:16  美梦成真  阅读(350)  评论(0编辑  收藏  举报