1.创建文件夹
- --启动外围配置
- exec sp_configure 'show advanced options',1
- reconfigure
- exec sp_configure 'xp_cmdshell',1
- reconfigure
- go
- --调用dos命令创建文件夹
- exec xp_cmdshell 'md E:\NetBar ',no_output
- go
2.判断是否存在数据库
- (1)--判断是否存在数据库
- if DB_ID ('数据库名','database') is not null
- drop database 数据库名
- go
- (2)--判断是否存在表
- if object_id('表名','table') is not null
- drop table 表名
- go
- (3)--判断是否存在关系
- if object_id('键名','类型') is not null
- alter constraint 键名
- go
- (4)--增加列(若在有数据的情况下添加咧,则要添的数据为空;若添加的列没有数据则无此限制)
- alter table 表名
- add 表数据 bit null
- go
- (5)--修改
- alter table 表名
- alter column 字段 数据类型 null
- go
- (6)--删除列
- alter table 表名
- drop column 字段
- go
- 附加:
- --删除键名
- alter table 表名
- drop constraint 健名
- go
- (7)--添加约束 主键(primary key)
- alter table 表名
- add constraint PK_表名_(列名) primary key(列名)
- go
- (8)--唯一(unique)
- alter table 表名
- add constraint UQ_表名_(列名) unique(列名)
- go
- (9)--检查(check)
- alter table 表名
- add constraint CK_表名_(列名)Check(len(列名)>10)
- go
- (10)--默认(default)
- alter table 表名
- add constraint DF_表名_(列名) default '默认值' for 列名
- go
- (11)--外键(foregin key)
- alter table 表名
- add constraint FK_表名_(列名) foregin key(列名) references 主表表名(列名)
- go
3.--创建具有操作权限的用户
- (1)--创建登陆账号
- create login 登录名称 with password = '登录密码'
- (2)修改登录名及密码
- alter login 登录名称
- with password = '新密码' (or name=新登录名称)
- go
- (3)--启用或禁用登陆账号
- alter login 登录名称{ enable | disable }
- (4)--删除登陆账号
- drop login 登录名称
4.创建数据库用户
- (1)创建数据库用户
- create user 用户名称 [ { for | from } login 登录名 ]
- 例如:create user zhangsan for login sa
- =exec sp_adduser 'zhangsan'
- =exec sp_adduser 'sa', 'zhangsan'
- (2)--修改数据库用户
- alter user 用户名称
- with name = 用户新名称
- 例如:alter user zhangsan with name = zhangsanuser
- (3)--删除数据库用户
- drop user 用户名称
- 例如:drop user zhangsanuser
- (4)--添加角色
- create role rolename(角色名字)
- =exec sp_addrole 'newrole'
- (5)--把角色拥有的权限赋给用户
- exec sp_adduser '登录名' ,'用户名称','角色名字'
- =exec sp_addrolemeber '角色名字','登录用户'
- 例如:
- exec sp_adduser 'sa' ,'zhangsan','rolename'
- =exec sp_addrolemeber 'rolename','zhangsan'
- (6)-授权(grant)
- grant all to 表名 to 用户
- grant insert,update,delete,select on 表名 to 用户
- grant select on jobs(jod_id,job_title) to 用户名称
- =grant select on jobs(jod_id,job_title) to zhangsan
- (7)--收回(revoke)
- revoke all on 表 to 用户名称
- 例如:
- revoke all on jobs to zhangsan
- (8)--禁用(deny)
- deny all on 表 to 用户名称
- 例如:
- dwny all on jobs to zhangsan
- to可以指定角色或用户
5.注意:exec的作用:(1)调用存储过程
(2)调用系统命令。如:dos命令
删除:(1)delete 删除数据
(2)drop 删除表
(3)truncate 删除所有数据的同时并删除表的结构
6. (1)与完整性通:过数据类型、检查约束、输入格式、默认值、非空约束限制
(2)实体完整性:通过主键、唯一索引(unique Index)、标识字段(Identity column)、来实现限制
(3)参照完整性:通过主键和外键来实现限制
(4)用户定义完整性:由规则、触发器、表约束等机制来实现
7.权限的种类:(1)数据对象权限(DML):select、update、delete、insert、、execute
(2)语言权限(DDL):创建数据库、创建视图(create view)、创建存储过程(create procedure)、备份数据库(backup database)
(3)隐含权限:SQL server 内置的在创建对象的自动生成权限。