Server SQL的学习笔记

来源:互联网 发布:国民女团网络电影下载 编辑:程序博客网 时间:2024/05/21 21:44


DML:


1、一个文件的基本框架为:文件名、文件地址、文件大小、文件最大的大小、文件的增量(Filegrowth)。


2、文件有mdf、ndf、ldf  三种文件的区别。


3、文件组可以进行文件的管理  FileGroup    默认的文件组是  Primary   日志文件无文件组的概念,存在Log文件中。


4、 alter database 数据库名 add fileGroup 文件组名   --添加文件组


   (文件)
   
   to filegroup 文件组名       --将文件添加到相关的文件组中去


5、修改文件组为默认的文件组;  
  alter database 数据库名 modify filegroup 文件组名 default


6、修改文件组的名字
  alter database 数据库名 modify filegroup 文件组名 name =新的文件组名


7.1、设置文件组为只读


  alter database 数据库名 modify filegroup 文件组名 Readonly




7.2:设置文件组为可读写;


   alter database 数据库名 modify filegroup 文件组名 readwrite




8、删除文件组


 alter database 数据库名 remove filegroup 文件组名   *注意,删除文件组要确保文件组中没有数据文件。


9、查看数据库的大小:


  exec/execute sp_spaceused


10、查看数据中文件的详细信息:


  exec sp_helpdb 数据库名


10_1_1、 sp_configure   使用sp_configure存储过程可设置实例范围内的配置选项


11、删除数据库;


  drop database 数据库名


12、修改数据库的名字;


   alter database 数据库名 modify name=新的数据库名


13、如果数据库的空间不足,则可以通过以下的方法进行设置;


13.1.1、添加新的次要文件或次要的日志文件


13.1.2、修改增量和文件大小: 
   实例; alter database 数据库名
     modify file
(
name=Onedb,   --要修改的文件名
size=20,      --文件大小
filegrowth=10%  --文件的增量
)




14、收缩数据库


14.1.1、直接修改增量和文件大小,参考以上,只是把文件大小改小了。


14.2.1、设置数据库为自动收缩;


  alter database 数据库名 set auto_shrink on    --不是最优的方法


14.3.1、DBCC shrinkdatabase('要收缩的数据库名',可用空间的比例)  收缩数据库


**注意,如果收缩的是当前使用的数据库,则可以用0代替该数据库名。


14.4.1、DBCC shrinkfile('要收缩的数据库文件名',收缩文件大小) 收缩数据库文件


15、数据库快照


15.1.1、创建数据库快照;


  create database 快照名称
   On
  (
   name=数据库中的文件名,
   filename='快照文件的存放地址'
   ),
  (   --如果数据库中有多个文件的话,
      要一一的将每个文件进行指定
   )
   as snapshot of 数据库名




15.2.1、查询数据库快照:


  select*from 数据库快照名


15.3.1、数据快照是只读的,所以不能为其添加文件和数据


15.3.1、用快照对数据库进行恢复;


 restore database 数据库名 from database_snapshot='数据库快照名'


16、分离数据库:


    exec sp_detach_db 数据库名


17、附加数据库;


   create database 新的数据库名
   on 
   ( filename='文件地址' --可以选择的附加数据库中的相关文件,建议全部附加),
  (filename='')
   for attach   --attach:附加




18、如果附加的日志文件无法使用,则可以指定系统重新构建新的日志文件;


  create database  数据库名 on 
  (filename='数据库文件所在的路径')
  for attach_rebuild_log      --注意是attach_rebuild_log的使用




19、移动数据库文件:
  
   19.1.1、首先要讲数据库状态设为offline


   19.2.1、alter database 数据库名  modify file(name=文件名,filename='新路径')
       
   19.3.1、再将数据库的状态设置为online   
  


20.1.1、完全备份数据库:


backup database 要备份的数据库名     --backup
to disk='备份文件存放的位置'  
with name='备份集名称',
description='数据库描述【数据库完全备份/数据库差异备份】',
init|noinit    --init指定重写所有备份集noinit 不覆盖现有的备份




20.2.1、差异备份数据库;


back database 要备份的数据库名 
to  disk ='备份文件存放的位置' 
with differential,     --注意差异备份没有备份集的名字[differential表示这是差异备份] 
description='数据库差异备份',
init|noinit    --init指定重写所有备份集noinit 不覆盖现有的备份 




21、还原数据库:


  第一步:还原完全备份的数据:


  restore database 数据库名 from disk='文件地址.bak' with file=1    --备份设备中的第一个备份集,  
   norecovery ,                --不对数据库执行任何操作
   nounload,                    --不对数据库做任何操作,不回滚相关的事物
   replace,                     --覆盖现有的数据库
   
  第二步:还原差异备份的数据:


 restore database 数据库名 from disk='文件地址' with file=1    --备份设备中的第一个备份集,  
   norecovery ,               --不对数据库执行任何操作
   nounload,                   --不对数据库做任何操作,不回滚未提交的事物
   replace,                    --覆盖现有的数据库






特别注意:如果还有差异备份的话,还要将差异备份中的数据进行还原,否则还原的过程会出错。




DDL:  


1、在数据库中创建表;


   create table 表明(列名 类型, ...)




2、在表中插入数据:


   insert into 表名(列名1,列名2.、、、) values(对应列的值)


3、为表中更新数据:
  
    updata 表名 set 列名 where 条件。 


4、删除表/表中的数据【列/行】
   
   delete 表名/表中数据  --同时可以在删除的时候通过where来限定删除的条件


5、在sever sql 中变量分为局部变量和全局变量 ,声明局部变量用declare,变量名称的前面要有@字符。


6、全局变量:  见表格:全局变量。


7.1.1、其中数据类型要注意:decimal 和numeric


语法: decimal(p,s)   --其中p:代表数的总位数,s:代表小数点后的小数位数。
numeric的语法与decimal类似的。


7.2.1、货币类型:


 money/smallmoney


7.3.1、日期和时间数据类型;  见表格;


7.4.1、二进制数据类型;


 binary[n]  :如果没有指定n的值,则默认为1


7.5.1:其他数据类型:


 timestamp:行版本,在创建表的时候无需给出列名,插入数据的时候也不用管。








DCL:    【crant   deny revoke】











原创粉丝点击