• Sql Sever语句 (续2)


    日期时间

    把日期类型的字段下默认值或绑定里的 设置成getdate()   ,新建字段时候不设置会自动获取当前服务器时间

    在当前时间加上xx年xx月xx天

    select datedd(yy,100,getdate())      在当前时间加上100年

    select datedd(mm,5,getdate())    在当前时间加上5个月

    select datedd(dd,34,getdate())    在当前时间加上34天

    联合查询:将两个表的数据通过筛选出所用信息导出


    select UI.UserId,UI.UserName,UI.QQ,UI.ReaName,SS.ScoreId,SS.Chinese   --查询内容

    from UserInfo UI left join StuScore  SS on        --两个表的名称 起个别名

    UI.UseId=SS.UserId  

        left join  和right join     以左/右边的表为主  不够补齐

        inner join 两边都有

    三个以上表格思路:先将两个表格做联合查询,结果做成一个表 起个名字,在与第三个表格做联合查询

    约束:

      控制字段在一定范围值内,避免脏数据;

    设计》某字段右键》添加约束》修改表达式    如年龄表达式  Age>=0 and Age<=120

        修改后保存

    添加;

    方式一:

    insert into parenet values (7,'dsffs','吊死扶伤')      --添加字段   parenet表  字段按顺序加,主键不加  为空用空字段(但也必须加)

    方式二:
    insert into Parent (UserId,MMName) values (8,'dsaf')  --如只加两个字段UserI和MMName  其他没加的为空; 

    修改:

    更新:

    update Parent set MMName='ddd',FatherName='fdgs'  where ParentId=6

    删除:

    delete Parent where ParentId=6

    把一个表的数据复制到另一个表:

    insert into A(UserId,AMMName,AFName) select UseId, MMname,FatherName from Parent

    索引:

    聚集索引:如id,连贯的(一个表只有一个聚集索引  一般是主键 一般不更改)

    非聚集索引:不连贯的,多个...  ...

    建立索引后可以加快查询速度,但是不一定全部建立,仅查询量达的字段,不然会产生大量索引碎片,需定期清理;

    存储过程:

    存储过程是写在数据库里面,好处:效率高、安全系数高(防止sql注入)

    1)基本语法

    Eg:

    create proc procCategorySelect

    (

      @name varchar(200),

      @age  int

    )

    as 

    select * from Category where [name]=@name and age=@age

    1) 查看结果exec procCategorySelect 'xudads',11

    2) 更改/删除存储过程

    ALTER proc

    Drop proc 

     

     视图、

    触发器、

    数据库还原和备份

    定时作业(备份)

  • 相关阅读:
    04: Dom
    03: JavaScript基础
    02: css常用属性
    01: html常用标签
    03: Memcached
    01: Redis缓存系统
    01: RabbitMQ
    04: 事件驱动、五种I/O操作、I/O多路复用select和epoll
    03: 进程、线程、协程
    [Android] 任意时刻从子线程切换到主线程的实现
  • 原文地址:https://www.cnblogs.com/zhuyucun/p/6173716.html
Copyright © 2020-2023  润新知