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

本文来源:https://www.bwwdw.com/article/7dgh.html

Top