SQL Server.第四章

/*----------------------------------------索  引-----------------------------------------------------*/
    /*--聚集索引--*/
        --主键会自动生成同名聚集索引,不能再创建
        
    /*--非聚集索引--*/
        --基本语法
            --CREATE [ UNIQUE ] [ CLUSTERED | NONCLUSTERED ]
            --INDEX   index_name
            --ON  table_name (column_name)
            --[WITH FILLFACTOR=x] 填充因子:指定一个0~100之间的值,表示索引页填充的百分比

        --创建索引
            --如果存在该索引,先将其删除掉
            IF exists(SELECT * FROM sys.indexes WHERE name = 'IX_score')
                DROP INDEX stuMarks.IX_score
            --对成绩字段创建非聚集索引,填充因子30%
            CREATE NONCLUSTERED INDEX IX_score ON stuMarks(score) WITH FILLFACTOR= 30
            GO

        --使用索引
            --指定按索引查询
            SELECT * FROM stuMarks WITH(INDEX = IX_score)
            WHERE score between 60 and 90

    
/*----------------------------------------视  图-----------------------------------------------------*/
    select * from stuinfo where stusex = '男'
    --基本语法
        --CREATE VIEW view_name [(列名...)]
        --AS
        --<SELECT语句>
        
    --创建视图
        --如果存在该视图,先将其删除掉
        IF EXISTS (    SELECT * FROM sys.views WHERE NAME = 'view_stuInfo_stuMarks')
            DROP VIEW view_stuInfo_stuMarks
        GO
        --创建名为view_stuInfo_stuMarks的视图
        CREATE VIEW view_stuInfo_stuMarks(学号,姓名,成绩)
        AS
            SELECT stuName,stuInfo.StuID,score FROM stuInfo LEFT JOIN stuMarks
            ON stuInfo.StuID = stuMarks.StuID
        GO
        
    --使用视图
        select * from view_stuInfo_stuMarks
        
    --视图加密
        --查看所有视图信息
        select * from information_schema.views;
        EXEC sp_helptext 'view_stuInfo_stuMarks'
        --加密试图
        IF EXISTS (    SELECT * FROM sys.views WHERE NAME = 'view_stuInfo_stuMarks')
            DROP VIEW view_stuInfo_stuMarks
        GO
        CREATE VIEW view_stuInfo_stuMarks(学号,姓名,成绩)
        WITH encryption
        AS
            SELECT stuName,stuInfo.StuID,score FROM stuInfo LEFT JOIN stuMarks
            ON stuInfo.StuID=stuMarks.StuID
        GO

猜你喜欢

转载自blog.csdn.net/qq_43124903/article/details/82631002