汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql

种子张的SQL教程(转)作者:blogcat 日期:2007-11-21 20:42:01 注:红色标识为常用语句(唉,写了一天了,那个累呀!) 转自种子张的博客
并感谢其一天的劳动,对初学SQL者帮助很大.

某系统设计的不是很合理,库很多,图形化操作分离都得搞半天,各种改名也就更浪费时间了,于是引入了命令~(SQLServer现在已经在Linux里面跑了,咱们也得跟上时代)

1.创建数据库
create database bvtc_db       –数据库名
  on primary    –在主文件组中指定文件.默认为第一个文件
(
 name=’bvtc_db_data’,       –指定主数据文件名称(逻辑名)
 filename=’F:\\bvtc_db_data.mdf’,  –指定主文件的操作系统文件名称和路径.必须为安装SQL服务器的计算机上的文件夹.(物理文件名)
 size=5MB,     –初始容量大小
 maxsize=20MB,  –最大容量
 filegrowth=20%   –文件增长量(默认时为10%,不能超过maxsize)
)
  log on    –指定建立数据库的事务日志文件,文件扩展名为:ldf
(name=’bvtc_db_log’,  — 指定事务日志文件逻辑名称
 filename=’F:\\bvtc_db_log.ldf’,–指定物理文件名
 size=10MB,   –初始容量大小
 filegrowth=2MB   –文件增长量
)
collate Chinese_PRC_CI_AS   –指定默认排序方法
GO
2.查看数据库信息
除了直接查看数据库属性外,我们以用系统存储过程式sp_helpdb:
exec sp_helpdb ‘bvtc_db’    –exec为执行语句,bvtc_db为数据库名
3.管理数据库
    (1)打开或切换数据库: use bvtc_db
    (2)修改数据库容量:可以直接在数据库属性里改,也可以用如下语句:
    use bvtc_db
       go
       alter database bvtc_db
        modify file
       (
         name=bvtc_db_data,–同样也可以是事务日志文件(bvtc_db_log)
         size=20MB
        )
     (3)缩减数据库容量:
        方法1:右击数据库名-所有任务-收缩数据库
        方法2:
              dbcc shrinkdatabase(database_name[,new_size,[,’masteroverride’]])
          实例:
                use bvtc_db
                go
                exec sp_dboption ‘bvtc_db’,’single user’,TRUE  –在缩减数据库前要将其设为单用户模式.
                go
                dbcc shrinkdatabase(‘bvtc_db’)      –此处将数据库缩减到最小容量.
                go
                exec sp_dboption ‘bvtc_db’,’single user’,FALSE
                go    
     (4).设定修改数据库选项:
         方法1:数据库属性,选项
         方法2:
               (1)查看数据库选项:exec sp_dboption ‘database_name’
               (2)修改数据库选项:exec sp_dboption [database_name,option_name,{true|false}]
                  实例:更改数据库bvtc_db为只读状态:
                  exec sp_dboption ‘bvtc_db’,’read only’,true
                  go

1.数据库名修改前

     (5)更改数据库名称:  exec sp_renamedb oldname,newname       –权限仅限于sa
        实例:将数据库bvtc_db改名为bvtc1_db
             exec sp_dboption ‘bvtc_db’,’read only’,false
             go
             exec sp_renamedb ‘bvtc_db’,’bvtc_db1′,
             go
     (6)删除数据库:
        drop database database_name1[,database_name2…]
     或:exec sp_dbremove database_name       –这是利用系统存储过程.
        实例:将bvtc_db数据库删除:
             Use master
             drop database bvtc_db
             go
4.数据库表的操作
  (1)创建表: 在数据库student创建”学生表”
   use student
   go 
   create table 学生
   (学号   char(12) constraint pk_xh primary key,   –设定学号为该表的主键.
    姓名   char(8) not null,–不充许为空.
    性别   char(2),
    出生日期 datetime,
    入学时间 datetime,
    班级代码 char(9) constraint fk_bjdm references 班级(班级代码),   –将班级代码设为此表的外键.
    专业代码 char(2),
    系部代码 char(2)
    )
    on stugroup1  –将学生表创建在stugroup1文件组上.
    go
  (2)修改表:使用alter table语句可以对表的结构和约束进行修改.
    实例:<1>在”学生”表中增加”家庭住址”一列,数据类型为varchar(30),不允许为空.
            use student
            go
            alter table  学生
               add  家庭住址 varchar(30) not NULL  –add为增加列或约束的子句.
            go
         <2>在”学生”表中修改”家庭住址”一列为varchar(50),允许为空.
            use student
            go
            alter table 学生 
             alter column 家庭住址  varchar(50) NULL   –alter column为修改表列属性的子句.
         &n

alter database Test modify
name=NewTest
or exec
sp_renamedb ‘Test’,’NewTest’

图片 1

2.数据库名修改后

图片 2

3.物理文件名和逻辑名并没有变化

图片 3

4.逻辑名修改前后

alter database NewTest modify
file(name=N’Test’, newname=N’NetTest’)

图片 4

5.逻辑名发生改变物理文件名不变

图片 5

6.物理改名很多种(我这边的本质就是分离后修改,因为占用状态是没法修改的)

其实并没有什么新的sql,都是组合版的

exec xp_cmdshell ‘rename
E:\SQL\Test.mdf NewTest.mdf’

图片 6

效果:

图片 7

SQL:

use master
go
--1.分离
exec sp_detach_db NewTest
go

--2.改名(这一步可以换成手动改名字)
exec sp_configure 'show advanced options',1 --显示高级选项
reconfigure with override--重新配置
    exec sp_configure 'xp_cmdshell',1 --1代表允许,0代表阻止
    reconfigure with override
        exec xp_cmdshell 'rename E:\SQL\Test.mdf NewTest.mdf'
        go
        exec xp_cmdshell 'rename E:\SQL\Test_log.ldf NewTest_log.ldf'
        go
    exec sp_configure 'xp_cmdshell',0
    reconfigure with override
exec sp_configure 'show advanced options',0
reconfigure with override

--3.附加
exec sp_attach_db NewTest,N'E:\SQL\NewTest.mdf',N'E:\SQL\NewTest_log.ldf'

 

相关文章