SQL Server 经验总结

本文档详述了SQL Server数据库的各项管理操作,包括配置数据库选项、附加与分离数据库、数据类型使用、数据库及表的操作、数据的增删改查、查询技巧、安全性设置、事务处理、视图与存储过程的运用等核心内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL Server概要总结

                                                     ---------张荣

 

目录

-----------------------------------------------------------------------------

    配置数据库选项

    附加、分离数据库

数据类型(系统数据类型、用户数据类型)

    数据库操作(创建、修改、删除)

    表操作以及约束(创建、修改、删除以及各约束)

    数据插入、更新、删除

数据查询(数据查、聚合函数、分组、联接)

数据库安全模型(SQL身份验证、Windows身份验证)

    事务

    视图

    存储过程

    触发器

 配置数据库选项

    (设置数据库是否只读)

    sp_dboption ‘数据库名’,’read only’,’True|false’     

      如:设置’pubs’数据库为只读

        sp_dboption ‘pubs’, ‘read only’,’True’

----------------------------------------------------------

(设置数据库是否自动自动周期性收缩)

sp_dboption ‘数据库名’,’autoshrink’,’True|false’     

----------------------------------------------------------

(设置数据库是否为单用户)

sp_dboption ‘数据库名’,’single user’,’True|false’

-------------------------------------------------------------------------------

附加、分离数据库

       分离数据库:sp_detach_db ‘数据库名

               如:sp_detach_db ‘pubs’

       附加数据库:sp_attach_db ‘数据库名’,’主文件

               如:sp_attach_db ‘pubs’,’D:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf’

-------------------------------------------------------------------------------

数据库操作

----------创建数据库   

xp_cmdshell ‘md 新建文件夹名  

比如:xp_cmdshell ‘md f:\dbName’(在本机f盘下建立文件夹dbName

     

    create database ‘数据库名

on [primary]

(

    name=逻辑名,

    filename=‘主数据文件实际路径+主文件名.mdf’,

        size=初始化大小(默认为1MB),

           maxsize=文件最大大小,

           filegrowth=文件增长大小

),

[filegroup 文件组名]

(

    name=逻辑名,

    filename=‘次数据文件实际路径+次文件名.ndf’,

        size=初始化大小(默认为1MB),

           maxsize=文件最大大小,

    filegrowth=文件增长大小

)

log on

(

    name=逻辑名,

    filename=‘日志文件实际路径+日志文件名.ldf’,

        size=初始化大小(默认为1MB),

           maxsize=文件最大大小,

    filegrowth=文件增长大小

)

   

    注:逻辑名不能相同

 

比如:创建一个名叫dbStudent的数据库

xp_cmdshell ‘md f:\student’

 

create database dbStudent

on

--主数据文件

(

  name=stu_data,

  filename=‘f:\student\stu_data.mdf ‘,

  size=1,

  maxsize=5,

  filegrowth=1

),

--次要数据文件1

(

  name=stu_data1,

  filename=‘f:\student\stu_data1.ndf’,

  size=1,

  maxsize=3,

  filegrowth=1

),

--次要数据文件2

(

  name=stu_data2,

  filename=‘f:\student\stu_data2.ndf’,

  size=1,

  maxsize=3,

  filegrowth=1

)

log on

--日志文件

(

  name=stu_log,

  filename=‘f:\student\stu_data.ldf’,

  size=1,

  maxsize=4,

  filegrowth=1

)

 

----------修改数据库

1.  修改数据库名

alter database 数据库名

modify name=新数据库名

 

2.  修改数据库

(1) 添加文件

alter database 数据库名

add file

(

name=逻辑名,

filename=‘文件实际路径+文件名’,

size=初始化大小(默认为1MB),

maxsize=文件最大大小,

filegrowth=文件增长大小

)

[to filegroup 文件组名]

         (2) 修改文件

                alter database数据库名

                modify file

(

name=逻辑名,

filename=‘文件实际路径+文件名’,

size=初始化大小(默认为1MB),

maxsize=文件最大大小,

filegrowth=文件增长大小

)

         (3) 删除文件

alter database 数据库名

remove file 逻辑名

 

----------删除数据库   

    drop database 数据库名

 

-------------------------------------------------------------------------------

表操作以及约束

----------创建表

    create table 表名

    (

      数据类型 约束,

数据类型 约束,

……

)

 

----------修改表

   (1) 修改现有列的数据类型或者加not null

     alter table 表名

     alter column 列名 类型 not null

   (2) 新加一列

     alter table 表名

      add 列名 类型 是否为空

   (3) 删除一列

     drop column 列名

 

----------删除表

    drop table 表名

 

----------约束

   (下面以创建表后,添加约束为例)

(1) primary key 主键 (不能再null列上添加主键)

alter table 表名

add constraint 约束名 primary key(1,列2…)

   

(2) unique 唯一

alter table 表名

add constraint 约束名 unique(1,2…)

   

(3) identity 自动增长

create table 表名

(

  整数类型 identity(初始值,增长值)

  …

)

 

(4) foreign key 外键

alter table 表名

add constraint 约束名 foreign key(外键列) references 主表名(主键列)

 

比如:(修改B表的u_id列引用A表的id)

alter table B

add constraint fk_B foreign key(u_id) references A(id)

   

(5) default 默认约束

alter table 表名

add constraint 约束名 default(默认值) for

 

(6) check 检查约束

alter table 表名

add constraint 约束名 check(…)

 

-----------------------------------------------------------------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值