zoukankan      html  css  js  c++  java
  • SQLServer 学习笔记之超详细基础SQL语句 Part 5

    Sqlserver 学习笔记

    by:授客 QQ1033553122
    -----------------------接Part 4-------------------

    21使用默认

    默认(也称默认值),是一种数据对象,它与default(默认)约束的作用相同,也是当向表中插入数据时,没有为列输入值时,系统自动给列赋一个默认值default不同的是它类似规则,通过一次定义,可以多次使用

     

    21.1创建默认

    在查询分析器中,创建默认对象的语法

    格式

    CREATE DEFAULT default_name

    AS 常量表达式 (可以包含常量、内置函数或数学表达式

    --创建默认值

    CREATE DEFAULT def_name

    AS ''

     

    21.2绑定默认

    默认值创建之后,必须将其绑定到表的字段才能产生作用,在查询分析器中使用系统存储过程来完成绑定。

    格式:

    EXEC SP_BINDEFAULT  默认名称表名.字段名

     

    21.3解绑默认值

    类似规则,对于不需要再利用默认的列,可以利用系统存储过程对其解绑,其语法格式如下:

    EXEC SP_UNBINDEFAULT  表名.字段名

     

    21.4删除默认值

    当默认值不再有存在的必要时,可以将其删除。在删除前,必须先对默认值解绑。在查询分析器中使用drop语句删除默认值,其语法格式如下:

    DROP DEFAULT 默认值名称

    示例:

     

    --创建默认值

    CREATE DEFAULT def_name

    AS ''

     

    --执行完上述语句后会在[可编程性默认值]选项中看到创建了一个默认

    --绑定默认值

    ALTER TABLE 学生

    ADD 性别 CHAR(2)

     

    EXEC SP_BINDEFAULT def_name, '学生.性别' --def_name可以加单引号

    --执行完上述语句后右击默认-查看依赖关系。。。

    --打开学生表,往里头添加数据,不给性别添加,看看效果。。(性别值自动赋予

     

    --解除默认值绑定

    EXEC SP_UNBINDEFAULT '学生.性别' --注意这里的单引号不能少

     

    --删除默认值绑定

    DROP DEFAULT def_name

     

    22 索引的分类

    聚集索引:

        聚集索引是指数据行在表中的物理存储序列当为一个表的某列创建聚集索引时,表中的数据会按该列进行重新排序,然后再存储到磁盘上。因此,每个表只能创建一个聚集索引

     

    非聚集索引:

        数据存储在一个地方,索引存储在另一个地方,索引带有指针指向数据的存储位置

     

    23创建索引

    查看表的索引信息

    格式:

    EXEC SP_HELPINDEX 表名

     

    删除索引

    格式:

    DROP INDEX 表名.索引名

    示例:

    --查看表的索引信息

    EXEC SP_HELPINDEX new_TABLE

     

    --删除索引

    DROP INDEX new_TABLE.index_aa

    24创建视图

    格式:

    CREATE VIEW 视图名

    WITH [ENCRYPTION][SCHEMABINDING]

    AS 查询语句

     

    [ENCRYPTION] 加密视图

    [SCHEMABINDING] 视图及表的架构绑定

     

    25修改视图数据

    修改数据包括INSERTDELETEUPDATE

    格式:

    INSERT 视图名(列名1, 列名2, ……) VALUES(1,2,……)

    UPDATE 视图名 SET 列名=“” [WHERE 表达式]

    DELETE FROM 视图名 [WHERE 表达式]

     

    26删除视图

    格式:

    DROP VIEW 视图名

     

    27利用存储过程来查看视图信息

    格式:

    EXEC SP_HELPTEXT 视图名

     

    示例:--创建视图

    CREATE VIEW view1

    AS

    SELECT 学生.学号, 学生.姓名, 班级.班级名称, 专业.专业名称, 系部.系部名称

    FROM 学生

    JOIN 班级 ON 班级.班级代码= 学生.班级代码

    JOIN 专业 ON 专业.专业代码= 学生.专业代码

    JOIN 系部 ON 系部.系部代码= 学生.系部代码

     

    SELECT * FROM view1

     

    --创建加密视图

    CREATE VIEW view2

    WITH ENCRYPTION

    AS

    SELECT 学生.学号, 学生.姓名, 班级.班级名称, 专业.专业名称, 系部.系部名称

    FROM 学生

    JOIN 班级 ON 班级.班级代码 = 学生.班级代码

    JOIN 专业 ON 专业.专业代码 = 学生.专业代码

    JOIN 系部 ON 系部.系部代码 = 学生.系部代码

    SELECT * FROM view2

     

    --创建视图及表的架构绑定

    CREATE VIEW view3

    WITH SCHEMABINDING

    AS

    SELECT 学生.学号, 学生.姓名

    FROM dbo.学生

     

    --修改视图

    SELECT * FROM view3

    INSERT view3(学号,姓名)

    VALUES(5, '琳琳')

     

    SELECT * FROM 学生---发现导出视图的基本表学生表被改变了

     

    UPDATE view3

    SET 姓名='林姐' WHERE 姓名='林欣'

     

    SELECT * FROM 学生---发现导出视图的基本表学生表被改变了

     

    DELETE FROM view3 WHERE 姓名= '琳琳'

     

    SELECT * FROM 学生---发现导出视图的基本表学生表被改变了

     

    --注意:对视图的操作将转化为对基本表的操作

     

    --利用存储过程查看视图信息(包含视图怎么被创建的等)

    EXEC SP_HELPTEXT view3
    SQLServer <wbr>学习笔记之超详细基础SQL语句 <wbr>Part <wbr>5

    --删除视图

    DROP VIEW view1

  • 相关阅读:
    gitlab备份及恢复
    Nginx一:常用命令和配置文件介绍
    SpringTask三:使用SpringBoot
    SpringTask二:注解配置方式
    SpringTask一:xml配置方式
    大坑!maven的web项目初始化错误:sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification ...
    Quartz(5):quartz监听器
    Quartz(4):quartz.properties配置文件介绍
    Quartz(3):simpleTrigger和cronTrigger触发器的介绍
    Quartz(2):JobDetail、JobExectionContext、JobDataMap的介绍
  • 原文地址:https://www.cnblogs.com/shouke/p/10158068.html
Copyright © 2011-2022 走看看