Sql Sever语句 (续2)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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][email protected] and [email protected]

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

2) 更改/删除存储过程

ALTER proc

Drop proc 

 

 视图、

 

触发器、

 

数据库还原和备份

 

 

定时作业(备份)

 




以上是关于Sql Sever语句 (续2)的主要内容,如果未能解决你的问题,请参考以下文章

SQL SEVER 2000 的语句查询格式

SQL Sever将SQL Sever中的一个数据表的数据导出为insert语句

数据库入门(SQL SEVER)之SQL语句删除单行数据,所有行数据,表和数据库

数据库操作----找了MySQL和SQL Sever两个的基础语句

SQL Sever数据库中 T-sql语句的使用(增删改查)

sql sever的sql语句有关存储过程与触发器