SQL快速操作

数据库是我们在开发时的一个工具,所以我们只是希望通过数据库来为我们开发提供便利。微软在给我们提供的SQL数据库就专门设置了两种方法来使用数据库,一种是通过代码形式实现,一种则是通过可视化方式。由于代码方式格式具有统一性,所以在使用数据库的时候,可能会偶尔不记得具体的创建方法,下面我就把一些常用的数据库的操作总结出来,以供以后开发使用。

数据库 'XXXX' 已打开,并且一次只能有一个用户访问。 (Microsoft SQL Server,错误: 924)  

USE master;
GO
DECLARE @SQL VARCHAR(MAX);
SET @SQL=''
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID('NBSFJ_XXBS');
EXEC(@SQL);
GO
ALTER DATABASE NBSFJ_XXBS SET  MULTI_USER;

  1. 1.       查看数据库信息

        Sp_helpdb mydb

  1. 2.       修改数据名

        Alter database mydb modify name=youdb

  1. 3.       存储过程修改数据名

        Exec sp_dboption ‘youdb’,’single’,true

        Exec sp_renamedb ‘youdb’,’mydb’

        Exec sp_dboption ‘mydb’,’single’,false

  1. 4.       修改数据库文件大小

        alter database MySql

        modify file

        (

          name=MySql_log,//要修改的数据库下的文件名//

          size=6MB,

          filegrowth=20%

        )

  1. 往数据库中添加文件

         Alter database testDB

         Add file

        (

        Name=test_dat,

        Filename=’h:\data’,

          Size=10mb,

          Filegrowth=10%

        )

  1. 6.       删除数据库的方法

Drop database mydb

  1. 7.       从SQL Server中删除数据库,但保持其数据和事务日志文件

Exec sp_detach_db mydb

  1. 8.       附加数据库,

Exec sp_attach_db MyDB,’F:\data\mydb_dat.mdf’

9.备份数据库

Backup database mydb to disk=’f:\data\database_bak.dat’ with name=’backup’

或:

EXEC sp_addumpdevice 'disk', 'yourdbs', 'F:\data\20100823.dat'

BACKUP DATABASE yourdb  TO yourdbs

exec sp_dropdevice 'yourdbs'

或:

EXEC sp_addumpdevice 'disk', 'AdvWorksLog', 'F:\data\AdvWorksLog.bak'

BACKUP LOG AdventureWorks  TO AdvWorksLog

exec sp_dropdevice AdvWorksLog

10.还原数据库:

restore database mydb from disk ='f:\data\database_bak.dat' with replace

11.数据库快照:

create database mydb0703

on

(

name='mydb_dat',

filename='f:\data\mydb0703.mdf'

)

as snapshot of mydb

12.恢复数据快照:

restore database mydb from database_snapshot='mydb0703'

13.创建带有次文件数据快照

create database mydb07031

on

(

name='test',

filename='f:\mydb07031.mdf'

),

(

name='ddd',

filename='f:\ddd.ndf'

)

as snapshot of test

二、创建表:

Create table MyTable

(

Id int not null,

Name varchar not null

)

删除表、drop table MyTable

更改表名:exec sp_rename MyTable YouTable

添加列:alter table MyTable

Add num int not null,

                   Score int ,

删除列:alter table MyTable

                   Drop column name,

修改列:alter table MyTable

                   Alter column num int null,

查询表内容:select * from MyTable

 

创建数据库(只有一个主文件和一个日志文件)

create database MyDB

on

(

 name=mydb_dat,

 filename='f:\data\mydb_dat.mdf',

 size=5MB,

 maxsize=20mb,

 filegrowth=5%

)

log on

(

 name=mydb_log,

 filename='f:\data\mydb_log.ldf',

 size=5MB,

 maxsize=20mb,

 filegrowth=5%

)

  在同一个文件组中,创建多个文件放置在不同的硬盘上

create database MyDB

on primary

(

 name=mydb_dat,

 filename='f:\data\mydb_dat.mdf',

 size=6MB,

 maxsize=20mb,

 filegrowth=5%

),

(

  name=dbfg_dat1,

  filename='d:\data\mydb_dat1.ndf',

  size=5mb,

  maxsize=20mb,

  filegrowth=5%

),

(

   name=dbfg_dat2,

  filename='e:\data\mydb_dat2.ndf',

  size=5mb,

  maxsize=20mb,

 filegrowth=1mb

)

log on

(

 name=mydb_log,

 filename='f:\data\mydb_log.ldf',

 size=5MB,

 maxsize=20mb,

 filegrowth=5%

)

   创建不同的分组,

create database MyDB

on primary

(

 name=mydb_dat,

 filename='f:\data\mydb_dat.mdf',

 size=6MB,

 maxsize=20mb,

 filegrowth=5%

),

filegroup dbfg

(

  name=dbfg_dat1,

  filename='d:\data\mydb_dat1.ndf',

  size=5mb,

  maxsize=20mb,

  filegrowth=5%

),

(

   name=dbfg_dat2,

  filename='e:\data\mydb_dat2.ndf',

  size=5mb,

  maxsize=20mb,

 filegrowth=1mb

)

log on

(

 name=mydb_log,

 filename='f:\data\mydb_log.ldf',

 size=5MB,

 maxsize=20mb,

 filegrowth=5%

)

原文地址:https://www.cnblogs.com/nyzhai/p/2823420.html