SQLServer学习笔记(5)基本语法

CREATE INDEX 语句:

CREATE INDEX index_name

ON table_name (column_name)

在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据

CREATE UNIQUE INDEX 语句:

CREATE UNIQUE INDEX index_name

ON table_name (column_name)

唯一的索引意味着两个行不能拥有相同的索引值

示例:

CREATE INDEX PersonIndex

ON Person (LastName DESC)



CREATE INDEX PersonIndex

ON Person (LastName, FirstName)


DROP 语句:

DROP INDEX table_name.index_name

DROP TABLE 表名称

(表的结构、属性以及索引也会被删除)

DROP DATABASE 数据库名称


TRUNCATE TABLE 语句:

TRUNCATE TABLE 表名称

仅仅删除表格中的数据


ALTER TABLE 语句:

添加列:

ALTER TABLE table_name

ADD column_name datatype

删除列:

ALTER TABLE table_name

DROP COLUMN column_name

修改列:

ALTER TABLE table_name

ALTER COLUMN column_name datatype


AUTO INCREMENT 字段:

CREATE TABLE Persons

(

P_Id int PRIMARY KEY IDENTITY,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

默认地,IDENTITY 的开始值是 1,每条新记录递增 1。

要规定 "P_Id" 列以 20 起始且递增 10,请把 identity 改为 IDENTITY(20,10)


CREAT VIEW 语句:

视图是基于 SQL 语句的结果集的可视化的表,视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中的真实的表中的字段。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

CREATE VIEW view_name AS

SELECT column_name(s)

FROM table_name

WHERE condition

更新视图:

CREATE OR REPLACE VIEW view_name AS

SELECT column_name(s)

FROM table_name

WHERE condition

撤销视图:

DROP VIEW view_name

对于视图的插入、修改、删除等的操作其实对于原始数据表的操作

视图的作用:

1、视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之 间的关系。

2、视图提供了一个统一访问数据的接口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)

3、从而加强了安全性,使用户只能看到视图所显示的数据。

4、视图还可以被嵌套,一个视图中可以嵌套另一个视图。


DATA 函数:

函数

描述

GETDATE()

返回当前日期和时间

DATEPART()

返回日期/时间的单独部分

DATEADD()

在日期中添加或减去指定的时间间隔

DATEDIFF()

返回两个日期之间的时间

CONVERT()

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

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

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

datepart

缩写

yy, yyyy

季度

qq, q

mm, m

年中的日

dy, y

dd, d

wk, ww

星期

dw, w

小时

hh

分钟

mi, n

ss, s

毫秒

ms

微妙

mcs

纳秒

ns

DATEPART() 函数:

DATEPART(datepart,date)

示例:

SELECT DATEPART(yyyy,OrderDate) AS OrderYear,

DATEPART(mm,OrderDate) AS OrderMonth,

DATEPART(dd,OrderDate) AS OrderDay

FROM Orders

WHERE OrderId=1

DATEADD() 函数:

DATEADD(datepart,number,date)

示例:

SELECT OrderId,DATEADD(day,2,OrderDate) AS OrderPayDate

FROM Orders

DATADIFF() 函数:

DATEDIFF(datepart,startdate,enddate)

示例:

SELECT DATEDIFF(day,'2008-12-29','2008-12-30') AS DiffDate

CONVERT() 函数:

CONVERT(data_type(length),data_to_be_converted,style)

示例:

CONVERT(VARCHAR(19),GETDATE())

CONVERT(VARCHAR(10),GETDATE(),110)

CONVERT(VARCHAR(11),GETDATE(),106)

CONVERT(VARCHAR(24),GETDATE(),113)

Style ID

Style 格式

100 或者 0

mon dd yyyy hh:miAM (或者 PM)

101

mm/dd/yy

102

yy.mm.dd

103

dd/mm/yy

104

dd.mm.yy

105

dd-mm-yy

106

dd mon yy

107

Mon dd, yy

108

hh:mm:ss

109 或者 9

mon dd yyyy hh:mi:ss:mmmAM(或者 PM)

110

mm-dd-yy

111

yy/mm/dd

112

yymmdd

113 或者 13

dd mon yyyy hh:mm:ss:mmm(24h)

114

hh:mi:ss:mmm(24h)

120 或者 20

yyyy-mm-dd hh:mi:ss(24h)

121 或者 21

yyyy-mm-dd hh:mi:ss.mmm(24h)

126

yyyy-mm-ddThh:mm:ss.mmm(没有空格)

130

dd mon yyyy hh:mi:ss:mmmAM

131

dd/mm/yy hh:mi:ss:mmmAM


NULL 值:

NULL 用作未知的或不适用的值的占位符

无法比较 NULL 和 0

使用 IS NULL 和 IS NOT NULL 操作符

ISNULL函数:

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))

FROM Products

猜你喜欢

转载自blog.csdn.net/stringYY/article/details/81947681