• SQL第二讲


    四、添加、修改、删除

        1、Insert                  往表中插入新的记录

        2、Update                修改表中已有记录的修改

        3、Delete                 删除表中已有记录的删除

        

    五、分页语句

        分页是根据记录的序号栏分的,【row_number()】函数获取记录序号。

        select * from (select *, row_number() over(order by Stuid) as row StuInfo) AA where row between 1 and 15

                                 --- 该语句返回StuInfo表中以Stuid排序的记录集AA中提取1~15号记录。

        select * from (select *, row_number() over(order by Stuid) as row StuInfo) AA where row between 16 and 30

                                 --- 该语句返回StuInfo表中以Stuid排序的记录集AA中提取16~30号记录。

        以此类推,获得分页数据。

        

    六、所有数据库的对象全都可以直接用命令创建、修改、删除

        Create                  建立(创建)

        Alter                    修改

        Drop                    删除

        

    七、约束

        保持数据的完整性。可以设置默认值(如:日期),可以限制范围(如:年龄范围)

        

    八、常用函数

        1、Getdate()                                         获取当前日期时间

        2、DateAdd(mm,1,Getdate())                 在当前日期上加一个月(在指定日期上加是定数量单位的日期时间)获得新日期。

        3、DateDiff(yy,Getdate(),2020/12/31)    按指定的单位获取两个日期间的差额。

           指定单位:datepart          缩写 

                     year                yy, yyyy

                     quarter            qq, q

                     month             mm, m

                     dayofyear        dy, y

                     day                 dd, d

                     week               wk, ww

                     hour                hh

                     minute            mi, n

                     second            ss, s

                     millisecond      ms

                     microsecond    mcs

                     nanosecond     ns

        4、IsNull(变量,null时取代的值)         

             如:IsNull(Country,'中国')    ---当Country字段取值为null时用'中国'取代

        

    九、查询命令中可用的Case语句

        Case When 条件1  Then 结果1             Case语句相当于分支语句。

             When 条件2  Then 结果2

             ....

             When 条件n  Then 结果n

             Else 结果n+1

        End

        

    十、索引

        1、聚集索引                    表中的主键就是聚集索引,一个表中只能有一个聚集索引。

        2、非聚集索引                 一个表中可以有很多个非聚集索引,此类索引也所谨慎使用。

                                        通常对数据量大,查询频度高的财讯要建立非聚集索引。

        ** 索引使用一段时间后会产生碎片,需要定期重新组织后重新生成。

        

    十一、视图

        视图实际就是联合查询,可以用GUI方式建立视图。

        

    十二、存储过程

        存储过程提供可以在后台进行批处理的方法。

        

    十三、触发器(Trigger)

        1、Insert触发器               当表中有Insert操作时触发该过程。

        2、Update触发器               当表中有Update操作时触发该过程。

        3、Delete触发器               当表中有Delete操作时触发该过程。

        

    十四、备份、还原

        1、使用数据库提供的备份功能。

           还原时先创建同名数据库,然后覆盖恢复备份数据就OK。

        2、先分离数据库,在复制出刚刚分离的数据库作为备份。

           还原时直接把备份的数据库附加到sql server 就OK。

        ** 版本兼容问题:高版本兼容低版本内,但低版本无法使用高版本创建的数据库。

           在高板本数据库的数据库属性-->选项-->兼容级别-->先合适的版本生成备份文件即可。

        

    十五、导入、导出

        1、使用数据库提供的导入、导出功能。

           有源数据库导出到目的数据库中,或有源数据库导入到目的数据库中。

        ** 导入、导出时要注意消失主键的问题。

        

    十六、作业

        按指定时间执行规定的命令方法。

        1、新建作业

        2、步骤-->给出步骤名称-->再写相关作业要执行的命令。

           自动备份:Backup Database MyDB To Disk = 'D:Test' With Format, Name='MyDB-20151023'

           ** 给Name的值不能用函数赋值,如需要动态这name时需要建立@变量来传递。

        3、计划-->给出计划名称-->设置频率、持续时间-->确定。

        ** 作业建好之后按照计划制定的时间频度执行步骤制定的命令。

  • 相关阅读:
    LeetCode——Basic Calculator
    LeetCode——Sqrt(x)
    LeetCode——Binary Search Tree Iterator
    LeetCode——Search for a Range
    LeetCode——pow(x, n)
    LeetCode——Single Number II
    LeetCode——Summary Ranges
    LeetCode——Largest Number
    LeetCode——Kth Largest Element in an Array
    LeetCode——Implement Stack using Queues
  • 原文地址:https://www.cnblogs.com/huang3/p/4912973.html
Copyright © 2020-2023  润新知