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


浙公网安备 33010602011771号