SQL语句总结
更新时间:2023-09-20 06:36:01 阅读量: 医药卫生 文档下载
重置自增字段
truncate table tablename ----- 删除原表数据,并重置自增列
DBCC CHECKIDENT (tablename,reseed,0) --重置表的自增字段,保留数据
开关自增字段
SET IDENTITY_INSERT TableNameON INSERT INTO语句
SET IDENTITY_INSERT TableName OFF
查询或删除相同前缀的表
SELECTnameFROMSysObjectsWhereXType='U'andnamelike'DB_D_MacroDB_Y_C%' SELECTnameFROMSysObjectsWhereXType='U'andnamelike'DB_D_IndustryDB_Y_C%'
SELECTnameFROMSysObjectsWhereXType='U'andnamelike'DB_D_MacroDB_M_C%' SELECTnameFROMSysObjectsWhereXType='U'andnamelike'DB_D_IndustryDB_M_C%'
DECLARE@TableNVARCHAR(30) DECLAREtmpCurCURSORFOR
SELECTnameFROMsys.objectsWHERETYPE='U'ANDnamelike'DB_D_IndustryDB_M_C%'
OPENtmpCur
FETCHNEXTFROMtmpCurINTO@Table
WHILE@@FETCH_STATUS= 0 BEGIN
DECLARE@sqlVARCHAR(100)
SELECT@sql='drop table '+@Table EXEC(@sql)
FETCHNEXTFROMtmpCurINTO@Table END
CLOSEtmpCur DEALLOCATEtmpCur
数据库单用户多用户设置
设置数据库为单用户:
? ALTER DATABASE [dbname] SET SINGLE_USER
? 右键点击数据库 ->属性 ->选项 ->状态 ->限制访问 ->选择Single->确定。 设置数据库为多用户:
? ALTER DATABASE [dbname] SET MULTI_USER
? 右键点击数据库 ->属性 ->选项 ->状态 ->限制访问 ->选择Multiple ->确定。
尝试在数据库*中提取逻辑页失败
1. DBCC CHECKDB
启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存在的一致性错误与分配错误。 Sql代码: use master
declare @databasenamevarchar(255)
set @databasename='需要修复的数据库名称'
exec sp_dboption @databasename, N'single', N'true' --将目标数据库置为单用户状态 dbcccheckdb(@databasename,REPAIR_ALLOW_DATA_LOSS) dbcccheckdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false'--将目标数据库置为多用户状态 然后执行 DBCC CHECKDB('需要修复的数据库名称') 检查数据库是否仍旧存在错误。 注意:修复后可能会造成部分数据的丢失。 2. DBCC CHECKTABLE
如果DBCC CHECKDB 检查仍旧存在错误,可以使用DBCC CHECKTABLE来修复。 Sql代码:
use 需要修复的数据库名称 declare @dbnamevarchar(255)
set @dbname='需要修复的数据库的名称' execsp_dboption @dbname,'single user','true'
dbccchecktable('需要修复的数据表的名称',REPAIR_ALLOW_DATA_LOSS) dbccchecktable('需要修复的数据表的名称',REPAIR_REBUILD)
需要修复的数据表的名称:执行DBCC CHECKDB时报错的数据表的名称 execsp_dboption @dbname,'single user','false'
3. 其他的一些常用的修复命令
DBCC DBREINDEX 重建指定数据库中表的一个或多个索引 Sql代码:
DBCC DBREINDEX (表名,’’) 修复此表所有的索引。 4.DBCC CHECKALLOC
检查指定数据库的磁盘空间分配结构的一致性
sqlserver中文件组Filegroup的使用
数据库的操作:
1. 对数据文件的操作(添加,删除,修改文件的初始大小,最大大小,步长) 2. 数据库文件的收缩
3. 数据库的只读/读写read_only只读read_write可读写read_only表示只读read_write表示可读可写
4. 数据库的限制访问(单用户,多用户,限制用户模式)
5.数据库脱机/联机 offline 脱机 alter database love set offline online 联机 alter database love set online
6. 数据库附加/分离。sp_attach_db附加SP_detach_db分离附加sp_attach_db分离sp_detach_db offline 脱机 online 联机
文件组:
文件组:对数据文件的管理单元,即文件的集合、
文件组的优势: 1. 对文件的管理,分类管理(将所有存放财务的数据放在一个文件组中,也可以所有关于人事的数据放在一个文件组).
2. 文件组增加数据读写的速度。 特点:
1. 一个数据库至少一个文件组,当数据库创建成功后,将自动创建文件组(primary文件组). 2. 文件组只能存放数据文件(mdf,ndf),ldf文件不能放入到文件组中. 3. 一旦文件加入到文件组,不能切换文件组了。
文件组的类型: 1. 主文件组
无法删除,primary 文件组,统创建的,放两种类型的文件,数据库mdf文件,存放没有单独指定文件组的文件,在添加ndf文件时,如果没有指定文件组,文件默认存放的文件组. 据库中文件必须放在文件组中。因为:数据库---文件组--文件。 2. 用户自定义文件组
用户创建的,当添加ndf文件时,明确指定文件组的文件,可以删除。 文件组是一个或多个文件的集合,是构成分配和数据管理的单个逻辑单元(是sqlserver中对多个物理数据文件的管理单位)。
Sql服务器包括主文件组(系统自动创建的)和其他用户自定义的文件组
主文件组包括系统表的主数据文件(primary),他包括所有数据库中的系统表,以及所有没有在用户自定义的文件组中所指定的对象和数据, 一个数据库只有一个主文件组 用户自定义文件组包括出于分配和管理目的而分组的数据文件(ndf) 事务日志文件不能存放在任意一个文件组中
文件组允许对文件进行分组,以便于管理和数据的分配/放置。例如,可以分别在三个硬盘驱动器上创建三个文件(Data1.ndf、Data2.ndf 和 Data3.ndf),并将这三个文件指派到文件组 fgroup1 中。然后,可以明确地在文件组 fgroup1 上创建一个表。对表中数据的查询将分散到三个磁盘上,因而性能得以提高。
如果文件组是由在不同物理磁盘中展开的多个文件组成,而且每个磁盘都有自己的磁盘控制器,则对表中数据的查询将在这些磁盘中展开,从而提高查询性能
问题:
1. 如何查看数据库中所有的文件组。 语法:sp_helpfilegroup 步骤:
use 数据库 sp_helpfilegroup
2. 如何找到文件组和文件的对应情况. sp_helpdb love
创建文件组。 语法:
alter database 数据库名 add filegroup文件组名 步骤:
use 数据库名
alter database 数据库名 add filegroup文件组名 范例: use love
alter database love add filegroup财务部
将文件放入到文件组中
语法:
alter database 数据库名 add file(name='xxx',filename='文件的物理路径',
size='初始大小',maxsize=\最大大小',filegrowth=步长) --添加文件,并且将文件放入到默认文件组(primary文件组) alter database love add file
(name='love_n1',filename='c:love_n1.ndf')
alter database 数据库名 add file(name='xxx',filename='文件的物理路径', size='初始大小',maxsize=\最大大小',filegrowth=步长) to filegroup文件组名
alter database love add file
(name='love_n2',filename='c:love_n2.ndf') to filegroup财务部
数据-->primary-->love文件和love_n1 数据-->财务部-->love_n2
3.数据如何放入到文件组中
数据库中利用表保存和处理数据 数据--表-->文件组--数据文件
指定表和文件组的关系 语法:
create table 表名(xxxxxx) on 文件组 步骤:
use 数据库
create table语法 on 表名 范例:
create table renshi(id int not null,
namevarchar(50) not null, salary money not null) on 财务部
1. 创建数据库(nnn),如果存在,先删除,再创建. 2. 向数据库nnn添加文件组(f1)
3. 向数据库nnn添加文件,并且放在f1中。 4. 查询文件组f1中的文件情况. 5. 创建表,并制定放置f1中。 6. 查询表和文件组的关系。 范例:
create database nnn usennn
正在阅读:
SQL语句总结09-20
航海学新题10-18
这就是幸福【精选8篇】03-27
手中沙02-14
天下兴亡匹夫有责教学设计04-30
使用OpenGL编程实现Bresenham直线扫描转换算法10-25
政法学院第十五届研究生会换届大会会议材料 - 图文10-22
好段大全02-10
一场有趣的拔河比赛作文600字06-20
- 中医外科学试题及答案
- 央企整合概念股一览 - 图文
- 小学教学工作自查整改报告(精选多篇)
- 最新《信息及其特征》巩固训练题
- 人工智能 经典考试试题与答案
- 重庆医科大学研究生发表论文与学位授予的相关规定(2014版)
- 国家心理咨询师三级试题及答案(为方便打印整理过的)
- 金蝶K3基于WebServices外部数据交换接口使用指南
- 老挝国矿产法
- 西城门小学“学宪法讲宪法”活动总结
- 34放射源与射线装置管理办法
- SHZ82双功能水浴恒温振荡器使用说明书
- 苏科版九年级物理上册教案
- 专题5.5 向心加速度(练)-2016-2017学年高一物理同步精品课堂(提升版)(必修2)(解析版)
- 鲁教版小学语文二年级下册
- 对我国商业银行分销渠道策略的分析
- 国网104
- 材料力学模拟卷B
- 2016强制性条文(水利工程部分)-表格
- 作文论点论据大全