代码改变世界

常用SQL语句

2012-07-24 13:44  Patrick.Lee  阅读(217)  评论(0编辑  收藏  举报

--CREATE DATABASE VMMS      --创建数据库
--DROP DATABASE VMMS        --删除数据库
--SELECT * INTO COM_CUSTOMER FROM CUSTOMERS -- 把一个表的数据和结构复制到另一个表,并创建表
--SELECT ID = IDENTITY(INT,100,1),* INTO COM_CUSTOMER2 FROM CUSTOMERS --创建表COM_CUSTOMER2(表的数据来自CUSTOMERS)并在COM_CUSTOMER2增加一列自动增加列(以100开始增加)
--ALTER TABLE COM_CUSTOMER2 ADD PRIMARY KEY(ID)    --增加主键
--CREATE INDEX ID ON COM_CUSTOMER2(ID)    --创建给ID索引
--COUNT, SUM, AVG,MAX,MIN 几个数学函数
--UNION 运算符  --去掉TABLE1 和 TABLE2 重复的部分
--SELECT * INTO TABLE2 FROM TABLE1 WEHRE 1<>1  创建一个与TABLE1相同的表结构TABLE2
--SELECT TOP 0 * INTO TABLE2 FROM TABLE1  创建一个与TABLE1相同的表结构TABLE2
--INSERT INTO TABLE2(A,B) SELECT A,B FROM TABLE1 从TABLE1拷贝数据到TABLE2
--SELECT * FROM TABLE1 WEHRE TIME BETWEEN TIME1 AND TIME2 --BETWEEN限制查询数据范围时包括了边界值
--SELECT * FROM TABLE1 WEHRE TIME NOT BETWEEN TIME1 AND TIME2 --BETWEEN限制查询数据范围时包括了边界值
--DELETE * FROM TABLE1 WHERE NOT EXISTS (SELECT * FROM TABLE2 WHERE TABLE1.FIELD1 = TABLE2.FIELD1) --两张关联表,删除主表中已经在副表中没有的信息


--删除重复数据:
--第一种方法:如果有两条重复的数据就把最大的那一条删除
  DELETE FROM TABLE1 WHERE ID NOT IN (SELECT MAX(ID) FROM TABLE1 GROUP BY COL1,COL2........)
--第二种文件:
  SELECT DISTINCT * INTO TEMPTABLE FROM TABLE1
  DELETE TABLE TABLE1
  INSERT INTO  TABLE1 SELECT * FROM TEMP
--第三种方法:
  ALTER TABLE TABLE1 ADD COLUMN IX INT IDENTITY(1,1) --增加一下自动增加的列
  DELETE FROM TABLE1 WHERE ID NOT IN (SELECT MAX(ID) FROM TABLE1 GROUP BY COL1,COL2........)
  ALTER TABLE TABLE1 DROP COLUMN IX


--列出数据库中所有的表名:
  SELECT * FROM SYSOBJECTS WHERE TYPE = 'U'  --'U'代表用户表


--列出表中所有字段的名称:
  SELECT * FROM SYSCOLUMNS WHERE ID = OBJECT_ID('CUSTOMERS')


--删除表中所有的记录,但不删除表而且没有日志,所以比用删除要快
  TRUNCATE TABLE TABLE1

 

--WHERE 1 = 1 全部选入,WHERE 1 = 2 全部不选

--跨库连接
--SELECT * FROM OPENDATASOURCE('SQLOLEDB';DATA SOURCE = '172.16.0.15';USER ID = 'SA';PASSWORD = 123456).DBO.CUSTOMER