SQL语法大全
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1 基本概念
2 使用方法
3 基本术语
4 其他资料
展开
1 基本概念
2 使用方法
2.1 1=1,1=2的使用
2.2 收缩数据库
2.3 压缩数据库
2.4 检查备份集
2.5 修复数据库
2.6 日志清除
2.7 更改某个表
2.8 存储更改全部表
2.9 SERVER中循环写入数据
3 基本术语
3.1 创建数据库
3.2 删除数据库
3.3 备份sql server
3.4 创建新表
3.5 创建序列
3.6 删除新表
3.7 增加一个列
3.8 删除一个列
3.9 添加主键
3.10 创建索引
3.11 创建视图
3.12 简单基本的sql语句
3.13 几个高级查询运算词
3.14 使用外连接
4 其他资料
4.1 判断对象是否存在
4.2 判断数据库是否存在
4.3 判断表是否存在
4.4 判断存储过程是否存在
4.5 判断临时表是否存在
4.6 判断视图是否存在
4.7 判断函数是否存在
4.8 获取创建信息
4.9 判断列是否存在
4.10 判断列是否自增列
4.11 判断表中是否存在索引
4.12 查看数据库中对象
4.13 提升
4.14 复制表
4.15 拷贝表
4.16 跨数据库之间表的拷贝
4.17 子查询
4.18 显示文章最后时间
4.19 外连接查询
4.20 在线视图查询
4.21 between的用法
4.22 in 的使用方法
4.23 删除主表没有的信息
4.24 四表联查问题
4.25 日程安排提前五分钟
4.26 一条sql 搞定数据库页
4.27 前10条记录
4.28 选择排名
4.29 派生结果表
4.30 随机取出10条数据
4.31 随机选择记录
4.32 删除重复记录
4.33 列出数据库里的表名
4.34 列出表里的所有的
4.35 列示排列
4.36 初始化表table1
4.37 选择从10到15的记录
4.38 数据类型转换
1 基本概念编辑本段
本词条从基础知识、判断对象和应用技巧等方面,介绍了SQL(Structured Query Language)结构化查询语言的应用方法。
2 使用方法编辑本段
2.1 1=1,1=2的使用
在SQL语句组合时用的较多
“where 1=1”是表示选择全部“where 1=2”全部不选,
如:
if @strWhere !='
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where ' + @strWhere
end
else
begin
set @strSQL = 'select count(*) as Total from [' + @tblName + ']' end
我们可以直接写成
set @strSQL = 'select count(*) as Total from [' + @tblName + '] where 1=1 and '+ @strWhere
2.2 收缩数据库
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收缩数据和日志
DBCC SHRINKDB
DBCC SHRINKFILE
2.3 压缩数据库
dbcc shrinkdatabase(dbname)
转移数据库给新用户以已存在用户权限
exec sp_change_users_login 'update_one','newname','oldname'
go
2.4 检查备份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'
2.5 修复数据库
Alter DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
Alter DATABASE [dvbbs] SET MULTI_USER
GO
2.6 日志清除
SET NOCOUNT ON
DECLARE @LogicalFileName sysname,
@MaxMinutes INT,
@NewSize INT
USE tablename -- 要操作的数据库名
Select @LogicalFileName = 'tablename_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 1 -- 你想设定的日志文件的大小(M)
-- Setup / initialize
DECLARE @OriginalSize int
Select @OriginalSize = size
FROM sysfiles
Where name = @LogicalFileName
Select 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
Where name = @LogicalFileName
Create TABLE DummyTrans
(DummyColumn char (8000) not null)
DECLARE @Counter INT,
@StartTime DATETIME,
@TruncLog VARCHAR(255)
Select @StartTime = GETDATE(),
@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (Select size FROM sysfiles Where name =
@LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize
BEGIN -- Outer loop.
Select @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
Insert DummyTrans VALUES ('Fill Log')
Delete DummyTrans
Select @Counter = @Counter + 1
END
EXEC (@TruncLog)
END
Select 'Final Size of ' + db_name() + ' LOG is ' +