数据库的实现

数据库的实现

1.创建文件夹

  
  
  
  
  1. --启动外围配置  
  2. exec sp_configure 'show advanced options',1  
  3. reconfigure   
  4. exec sp_configure 'xp_cmdshell',1  
  5. reconfigure   
  6. go  
  7. --调用dos命令创建文件夹  
  8. exec xp_cmdshell 'md E:\NetBar ',no_output  
  9. go 

2.判断是否存在数据库

  
  
  
  
  1. (1)--判断是否存在数据库  
  2. if DB_ID ('数据库名','database'is not null 
  3.     drop database 数据库名  
  4. go  
  5.  
  6. (2)--判断是否存在表  
  7. if object_id('表名','table'is not null 
  8.     drop table 表名  
  9. go  
  10.  
  11. (3)--判断是否存在关系  
  12. if object_id('键名','类型'is not null 
  13.    alter constraint 键名  
  14. go  
  15.  
  16. (4)--增加列(若在有数据的情况下添加咧,则要添的数据为空;若添加的列没有数据则无此限制)  
  17. alter table 表名  
  18.        add 表数据 bit null 
  19. go  
  20.  
  21. (5)--修改  
  22. alter table 表名  
  23.        alter column 字段 数据类型 null 
  24. go  
  25.  
  26. (6)--删除列  
  27. alter table 表名  
  28.        drop column 字段  
  29. go  
  30.  
  31. 附加:  
  32. --删除键名  
  33. alter table 表名  
  34.        drop constraint 健名  
  35. go  
  36.  
  37. (7)--添加约束  主键(primary key)  
  38. alter table 表名  
  39.        add constraint PK_表名_(列名) primary key(列名)  
  40. go  
  41.  
  42. (8)--唯一(unique)  
  43. alter table 表名  
  44.        add constraint UQ_表名_(列名) unique(列名)  
  45. go  
  46.  
  47. (9)--检查(check)  
  48. alter table 表名  
  49.        add constraint CK_表名_(列名)Check(len(列名)>10)  
  50. go  
  51.  
  52. (10)--默认(default)  
  53. alter table 表名  
  54.        add constraint DF_表名_(列名) default '默认值' for 列名  
  55. go  
  56.  
  57. (11)--外键(foregin key)  
  58. alter table 表名  
  59.        add constraint FK_表名_(列名) foregin key(列名) references 主表表名(列名)  
  60. go  

3.--创建具有操作权限的用户

  
  
  
  
  1. (1)--创建登陆账号  
  2. create login 登录名称 with password = '登录密码' 
  3.  
  4. (2)修改登录名及密码  
  5. alter login 登录名称  
  6.           with password = '新密码' (or name=新登录名称)  
  7. go  
  8.  
  9. (3)--启用或禁用登陆账号  
  10. alter login 登录名称{ enable | disable }  
  11.  
  12. (4)--删除登陆账号  
  13. drop login 登录名称 

4.创建数据库用户

 

  
  
  
  
  1. (1)创建数据库用户  
  2. create user 用户名称 [ { for | from } login 登录名 ]  
  3.  
  4. 例如:create user zhangsan for login sa  
  5. =exec sp_adduser 'zhangsan' 
  6. =exec sp_adduser 'sa''zhangsan' 
  7.  
  8. (2)--修改数据库用户  
  9. alter user 用户名称  
  10.        with name = 用户新名称  
  11. 例如:alter user zhangsan with name = zhangsanuser  
  12.  
  13. (3)--删除数据库用户  
  14. drop user 用户名称  
  15.  
  16. 例如:drop user zhangsanuser  
  17.  
  18. (4)--添加角色  
  19. create role rolename(角色名字)  
  20. =exec sp_addrole 'newrole' 
  21.  
  22. (5)--把角色拥有的权限赋给用户  
  23. exec sp_adduser '登录名' ,'用户名称','角色名字' 
  24. =exec sp_addrolemeber '角色名字','登录用户'   
  25. 例如:  
  26. exec sp_adduser 'sa' ,'zhangsan','rolename' 
  27. =exec sp_addrolemeber 'rolename','zhangsan'   
  28.  
  29. (6)-授权(grant)  
  30. grant all to 表名 to 用户  
  31. grant insert,update,delete,select on 表名 to 用户  
  32. grant select on jobs(jod_id,job_title) to 用户名称  
  33. =grant select on jobs(jod_id,job_title) to zhangsan  
  34.  
  35. (7)--收回(revoke)  
  36. revoke all on 表 to 用户名称  
  37. 例如:  
  38. revoke all on jobs to zhangsan  
  39.  
  40. (8)--禁用(deny)  
  41. deny all on 表 to 用户名称  
  42. 例如:  
  43. dwny all on jobs to zhangsan  
  44. 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 内置的在创建对象的自动生成权限。

 

 

你可能感兴趣的:(数据库的实现)