S2第2章 数据库的实现(笔记)


1.使用sql语句创建数据库
  创建数据库的5个参数:
  1.name-数据库的名称
  2.filename-数据库的路径
  3.size-表示文件的大小
  4.filegrowth-文件的自动增长量
  5.maxsize-文件可增长的最大值
其中3、4、5这三个参数可以省略,创建日志文件的语法类似


 

2.用sql语句创建文件夹以及调用dos命令来创建文件夹,语法如下:

exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'xp_cmdshell',1
reconfigure
go

exec xp_cmdshell 'md e:\netbar',no_output
go

 

3.使用sql语句管理表
  1.添加列  语法如下:

 alter table 表名                              
      add{字段 数据类型 字段特征}[,...n]
 alter table cardInfo
       add remark varchar(20) null

  
  2.删除列  语法如下:

alter table 表名                              
      drop column{字段}[,...n]
alter table cardInfo
       drop column remark
go

  3.修改列  语法如下:

 alter table 表名                              
      alter column 字段 数据类型 [null|not null]
 alter table cardInfo
      alter column cardbalance decimal(6,2)
 go

 

4.使用sql语句为表创建和删除约束
  1.添加约束:alter table 表名
   add constraint 约束名称 约束类型 约束内容

//(1)主键约束:
alter table 表名
   add constraint 约束名称 primary key (字段[,...n])
alter table cardInfo
    add constraint PK_cardInfo_cardId primary key(cardId)
//(2)唯一约束:
alter table 表名
   add constraint 约束名称 unique (字段[,...n])
alter table cardInfo
    add constraint UQ_cardInfo_cardNumber unique(cardNumber)
//(3)默认值约束:
alter table 表名
   add constraint 约束名称 default 默认值 for 字段
alter table pcInfo
   add constraint DF_pcInfo_pcnote default '这台电脑不错' for pcnote
//(4)检查约束:
alter table 表名
   add constraint 约束名称 check(逻辑表达式)
alter table cardInfo
   add constraint CK_cardInfo_CardPassword check(len(password)=6)
//(5)外键约束:
alter table 表名
   add constraint 约束名称 foreign key(从表字段) references 主表表名(主表字段)
alter table recordInfo
   add constraint FK_recordInfo_cardInfo_cardId foreign key(cardId)references cardInfo(CardId)

 

  2.删除约束:alter table 表名
  drop [constraint] 约束名称

5.为数据库创建登陆账号以及数据库用户

 -- 1.创建登陆账号:
(1) create login 登录名称 with password='登录密码'
(2) exec sp_addlogin '登录名称','登录密码'
    drop login zhangsanlogin //删除登陆账号
 //2.创建数据库用户:
(1) create user zhangsan for login zhangsanlogin
(2)exec sp_adduser 'zhangsan'
(3)exec sp_adduser 'zhangsanlogin','zhangsan'
alter user zhangsan with name=zhangsanuser  //修改用户信息
drop user zhangsanUser //删除用户信息
View Code
//3.添加角色:
create role rolename/exec sp_addrole 'newrole'

  4.授权:用户权限管理的三种方式
 (1)授权:

//向数据库用户admin_netbar授予对cardInfo表的select,insert,update,delete的权限
grant select,insert,update,delete on cardInfo to admin_netbar
go

//向数据库用户admin_netbar授予对cardInfo表指定列(CardNumber,CardBalance)的select权限
grant select on cardInfo(cardnumber,cardbalance) to admin_netbar
go

//向数据库用户admin_netbar授予create table(建表)的权限
grant create table to admin_netbar
go

 (2)对用户收回已授予的权限:

//收回对数据库用户admin_netbar授予的对cardInfo表的update权限
revoke update on cardInfo to admin_netbar
go

(3)禁止用户拥有的某种权限

//对数据库用户amin_netbar禁用cardInfo表的select权限
deny select on cardInfo to admin_netbar
go

 

posted @ 2013-05-06 09:52  mmww  阅读(117)  评论(0)    收藏  举报