专业编程基础技术教程

网站首页 > 基础教程 正文

SQL Server 2012 高级用法(五)(sql server2012使用教程)

ccvgpt 2024-08-03 12:37:17 基础教程 11 ℃

由于最近使用到SQL Server 2012,于是把SQL Server 知识重新梳理一遍。

本篇文章只要讲解SQL Server 高级用法之CREATE INDEX, IDENTITY以及Date 函数。

SQL Server 2012 高级用法(五)(sql server2012使用教程)

CREATE INDEX

CREATE INDEX 语句用语表中的创建索引。

开发者可以在表中穿件索引,可以更加高速有效的查询数据。需要注意的是用户是无法看到的,并且更新有一个索引的表的时间要比正常更新时间要久,因为表索引也是需要更新的。

语法:

CREATE INDEX index_name
ON table_name (column_name)

用法:

我们现在有一张表:


我们可以在name这一列创建索引叫NameIndex,可以使用下面的语句:

CREATE INDEX NameIndex ON Student (name)

我们还可以按照name列的升序和降序来进行根据name的排名。

CREATE INDEX NameIndex ON Student (name DESC)

IDENTITY (自增长)

每次插入新纪录的时候,标记IDENTITY列的字段会自动增加。


例如Student表创建的时候,id行使用了IDENTITY 关键字。默认的,IDENTITY是从1开始每次递增1,如果想要从900开始每次递增1可以使用IDENTITY(900,1) 表示该列从900开始每次递增1。

Date 函数

在我们处理日期和时间的时候,最难处理的就是时间和日期的插入。有的值设计日期,有点列设计时间有些都包括这就让Date函数发挥了重要作用。

SQL Server 使用下列数据类型在数据库中存储日期或日期/时间值:

  • DATE - 格式 YYYY-MM-DD
  • DATETIME - 格式: YYYY-MM-DD HH:MM:SS
  • SMALLDATETIME - 格式: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - 格式: 唯一的数字

一下表格罗列出SQL SERVER中重要的date函数:


例如我们想查询Student表中,在1991年4月13日出生的同学,那么我们可以使用下面SQL语句:

SELECT * FROM Student WHERE birth='1991-04-13'


如果表中birth精确到了时分秒,1991-04-13 12:15:55 类似这样的数据,那么我们使用

SELECT * FROM Student WHERE birth='1991-04-13' 将查询不到结果,因为birth是带有时间的。在SQL SERVER中日期和时间是区分的。所以要想简单方便查询维护,尽量避免在日期里使用时间。


GETDATE() :常用配合DEFAULT 在表中列中记录数据插入的时间;

DATEPART(datepart,date):date 参数是合法的日期表达式。datepart 参数可以是下列的值。单独返回时间相关的部分。



DATEADD(datepart,number,date)

date 参数是合法的日期表达式。number 是您希望添加的间隔数;对于未来的时间,此数是正数,对于过去的时间,此数是负数。

DATEDIFF(datepart,startdate,enddate)

函数返回两个日期之间的时间。startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是上图所述的值。

CONVERT()

用不同的格式显示日期/时间。


以上为本片文章内容。如有错误,请在评论区指出。

最近发表
标签列表