zoukankan      html  css  js  c++  java
  • 数据库的实现

    一.执行存储过程和调用系统命令(EXECUTE)
       利用EXECUTE创建文件夹--启用外围配置
       EXEC SP_configure 'show advanced options',1
       reconfigure
       EXEC SP_configure 'xp_cmd shell',1
       reconfigure
       go

    创建数据库 create database  数据库名称

    on

       <数据文件参数> [,…n]  [<文件组参数>]

    )

    log on

    <日志文件参数> [,…n]

    )

    举例:

    create database NetBarDB

    on

    (

       name='NetBar_data',         --主数据文件的逻辑名

       filename='e:\NetBar_mdf.mdf',    --主数据文件的物理名

       size=3mb,               --主数据文件初始大小

       maxsize=100mb,           --主数据文件增长的最大值

       filegrowth=15%           --主数据文件的增长率

    )

    log on

    (

       name='NetBar_ldf',

        filename='e:\NetBar_ldf.ldf',

      size=100mb,  

       filegrowth=1MB

    )

    go


    二.调用EXECUTE(dos)命令创建文件夹
       EXECUTE XP_cmdshell 'md E:文件夹名',no_output
       go
    三.怎么判断数据库与表是否存在
      if DB_ID('数据库名') is not null
         drop database 数据库名
      go

      IF EXISTS(SELECT * FROM sys.sysdatabases WHERE [name]=‘数据库名) 

    怎么判断表是否存在 

    if object_id('表名') is not null

         drop table 表名

      go

      IF EXISTS(SELECT * FROM sys.sysobjects WHERE [name]=‘表名’)

    四.切换数据库 

    use   数据库名

       go

    五.删除数据库

    使用drop语句删除数据库将会删除

    磁盘中与将要删除的数据库相关的

    文件,如数据文件和日志文件

    删除语句

      drop database 数据库名称

      如果数据库存在,则删除

    两种判断语句

       1、 if DB_ID('数据库名') is not null  

            drop database 数据库名称

       2、if  exists (select * from sysdatabases where name='数据库名称')   

        drop database 数据库名

     六.使用SQL数据管理表

      ( 1.更改表

         1、添加列

        alter table 表名  

          add {字段  数据类型 字段特征}

        alter table 表名 

            add StuSex(列的名称) varchar(20) null

             注意:当表中有数据时,约束不能是 not null

         2、删除列

           alter table 表名

             drop column {字段}

             alter table Student    drop column StuSex(列名)

      3、修改列 

        alter table 表名

            drop column 字段 数据类型[null]

            alter table 表名 

           alter column StuSex(列的名称) int null   修改列的可空性

     ( 2 、删除表

      drop table 表

      1、判断表是否存在

         if object_ID('表名‘,'类型') is not null

           drop table 表名

    七.SQL Server的约束:

    约束的目的:确保表中数据的完整型。 常用的约束类型:

    约束名的取名规则推荐采用:约束类型_约束字段

      (1、添加约束  

           语法:  alter table 表名      

                 add constraint 约束的名称  约束的类型  约束的内容

              主键(Primary Key)约束 PK:alter table 表名  

                     add constraint PK_cardinfo_cardid(约束名称) primary key(cardid)

                 唯一(Unique Key)约束 UQ:alter table 表名 

                     add constraint 约束名称 unique(字段) 

                  默认(Default Key)约束 DF:alter table 表名    

                    add constraint 约束名称 default 默认值 for 字段 

                     检查(Check Key)约束 CK:alter table 表名    

                    add constraint 约束名称 check(逻辑表达式)

                     外键(Foreign Key)约束FK:alter table 子表表名   

                   add constraint 约束名称      foreign key(子表字段) references 主表表名(主表字段)

        (2、删除约束 

             alter table  表名   

              drop constraint 约束名称

    八.数据库的安全管理 

        (1、身份验证模式 

           1、windows 身份验证模式 

           2、混合验证模式 

                SQL Server验证

          (2、登陆账号 

           1、创建账号   

              1、create login 登录名称 with password='登录密码' 

               2、exec SP_addlogin '登录名称','密码'  

          2、修改登录账号  

               alter login 原登录名称 with name='新的登录名称'  

          3、删除登录账号  

                            drop login 登录名称

       (3、创建具有操作权限的用户 

                      1、权限的种类 

             数据对象权限: 用户对数据对象的操作权限  DML语句权限  

            语句权限: 用户对某一语句的执行权限  DDL的语句  

            隐含权限; SQL Server内置的或在创建对象是自动生成的权限 

          2、创建数据库用户  

               A、create user 用户名 for login  登录名  

               B、exec Sp_adduser '登录名','用户名' 

           3、删除数据库用户   

              drop user 用户名称 

           4、添加角色   

              A、create role rolename  角色名   

              B、exec Sp_addrole 'rolename'  

                        为角色newrole赋予jobs表的所有权限

                         GRANT ALL ON jobs TO newrole

                         --为角色newrole赋予sales表的查、改权限

                        GRANT SELECT,UPDATE ON sales TO newrole

                        --禁止角色newrole使用employees表的插入权限

                        DENY INSERT ON employees TO newrole

          5、把角色拥有的权限赋给用户  

              EXEC sp_adduser '登录名','用户名','角色'  

              EXEC sp_addrolename 'roleName','用户'

        2、用户权限管理   

       授予(grant) 收回(revoke)禁用(deny)

             如:    grant select on 表名(字段名) to 用户名
                      revoke all on 表名 to 用户名
                      deny all on 表名 to 用户名

  • 相关阅读:
    重写对象的compareTo方法
    java基础之----hbase
    java基础之----innodb存储引擎
    java基础之----mysql存储结构
    fastjson jsonArrsy 转 list ,list 转 jsonArray
    java基础之----elasticsearch(Java客服端搜索实例)
    java基础之----elasticsearch
    java基础之----RabbitMQ
    java基础之----kafka
    java基础之----zookeeper
  • 原文地址:https://www.cnblogs.com/wdwf/p/3061741.html
Copyright © 2011-2022 走看看