国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

SQL Server中T—SQL語(yǔ)句的使用

2016-03-28 08:12許漫
新校園·上旬刊 2016年1期
關(guān)鍵詞:數(shù)據(jù)表數(shù)據(jù)庫(kù)

許漫

摘 要:雖然SSMS提供的可視化方式很容易操縱數(shù)據(jù)庫(kù)中的各種對(duì)象,可當(dāng)應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)時(shí),就只能借助T-SQL語(yǔ)言。T-SQL語(yǔ)言是SQL程序設(shè)計(jì)語(yǔ)言的增強(qiáng)片,它是應(yīng)用程序與SQL Server溝通的主要語(yǔ)言。本文介紹T-SQL語(yǔ)言的相關(guān)語(yǔ)法,如創(chuàng)建、修改和刪除等。

關(guān)鍵詞:T-SQL語(yǔ)句;數(shù)據(jù)庫(kù);數(shù)據(jù)表

SQL,即Structured Query Language,結(jié)構(gòu)化查詢語(yǔ)句,是關(guān)系型數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)。Oracle使用的SQL被稱為PL-SQL,而SQL Server使用的則被稱為T-SQ(Transact-SQL)。T-SQL語(yǔ)言包括數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)控制語(yǔ)言和數(shù)據(jù)操縱語(yǔ)言等三種類型。

一、T-SQL語(yǔ)言簡(jiǎn)介

1.數(shù)據(jù)定義語(yǔ)言

數(shù)據(jù)定義語(yǔ)言(Data Definition Language,DDL)用于創(chuàng)建數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象,為數(shù)據(jù)庫(kù)操作提供對(duì)象。常用的數(shù)據(jù)定義語(yǔ)言有:

(1)CREATE TABLE,用于建立數(shù)據(jù)表;

(2)DROP TABLE,用于刪除數(shù)據(jù)表;

(3)ALTER TABLE,用于修改數(shù)據(jù)表。

例如,使用T-SQL語(yǔ)言,在StuSelDB數(shù)據(jù)庫(kù)中創(chuàng)建名為CourseType的表,該表包含CourseTypeID、CourseTypeName兩列,可以利用以下命令實(shí)現(xiàn):

USE StuSelDB

CREATE TABLE CourseType

(CourseTypeID int NOT NULL,

CourseTypeName varchar(10) NOT NULL)

GO

2.數(shù)據(jù)控制語(yǔ)言

數(shù)據(jù)控制語(yǔ)言(Data Control Language ,DCL)用來(lái)執(zhí)行有關(guān)安全管理的操作,包括對(duì)表和視圖的訪問(wèn)權(quán)限及對(duì)數(shù)據(jù)庫(kù)操作事務(wù)的控制。

GRANT:將指定的安全對(duì)象的權(quán)限授予相應(yīng)的主體。

DENY:拒絕授予主體權(quán)限,并且防止主體通過(guò)組或角色成品繼承權(quán)限。

REVOKE:刪除授予的權(quán)限。

例如,將CourseType表的查詢權(quán)限授予public角色,可以利用以下命令實(shí)現(xiàn):

GRANT SELECT ON CourseType TO public

GO

3.數(shù)據(jù)操縱語(yǔ)言

數(shù)據(jù)操縱語(yǔ)言(Data Manipulation Language,DML)用于操縱表和視圖中的數(shù)據(jù)。其中,

SELECT命令,用于查詢;

INSERT命令,用于插入;

DELETE命令,用于刪除;

UPDATE命令,用于更新。

例如,查詢CourseType表中CourseTypeID和CourseTypeName兩列數(shù)據(jù),編輯兩行數(shù)據(jù),可以利用以下命令實(shí)現(xiàn):

SELECT CourseTypeID,CourseTypeName

FROM CourseType

二、使用T-SQL操作數(shù)據(jù)庫(kù)

1.創(chuàng)建數(shù)據(jù)庫(kù)

命令格式為:

CREATE DATABASE database_name

[

ON[PRIMARY]

[(NAME=logical_name,F(xiàn)ILENAME=path

[,SIZE=database_size]

[,MAXSIZE=database_maxsize]

[,F(xiàn)ILEGROWTH=growth_increment])

[,F(xiàn)ILEGROUP filegroup_name

[(NAME=datafile_name FILENAME=path

[,SIZE=datafile_size]

[,MAXSIZE=datafile_maxsize]

[,F(xiàn)ILEGROWTH=growth_increment])]]

]

[LOGON

[(NAME=logfile_name FILENAME=path

[,SIZE=datafile_size]

[,MAXSIZE=database_maxsize]

[,F(xiàn)ILEGROWTH=growth_increment])]

]

例如,創(chuàng)建名為StuSelDBXL的數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)包含主數(shù)據(jù)文件、輔助數(shù)據(jù)文件和日志文件各一個(gè),均放在“D:\DATA”目錄下。

CREATE DATABASE StuSelDBXL

ON PRIMARY

(NAME=StuSelDBXL,

FILENAME='D:\DATA\StuSelDBXL.mdf',

SIZE=5MB,

MAXSIZE=200MB,

FILEGROWTH=1MB),

(NAME=StuSelDBXL1,

FILENAME='D:\DATA\StuSelDBXL1.ndf',

SIZE=3MB,

MAXSIZE=UNLIMITED,

FILEGROWTH=1MB )

LOG ON

(NAME=StuSelDBXL_log,

FILENAME='D:\DATA\StuSelDBXL_log.ldf',

SIZE=1MB,

MAXSIZE=20MB,

FILEGROWTH=10% )

GO

2.修改數(shù)據(jù)庫(kù)

命令格式為:

ALTER DATABASE databasename

{ADD FILE…

REMOVE FILE…

MODIFY FILE…

MODIFY NAME=…

ADD FILEGROUP…

REMOVE FILEGROUP…

MODIFY FILEGROUP…

}

例如,修改剛才創(chuàng)建的數(shù)據(jù)庫(kù),將主數(shù)據(jù)文件的MAXSIZE改為UNLIMITED,刪除輔助數(shù)據(jù)文件StuSelDBXL1.ndf。

ALTER DATABASE StuSelDBXL

MODIFY FILE

(NAME=StuSelDBXL,

MAXSIZE=UNLIMITED)

GO

ALTER DATABASE StuSelDBXL

REMOVE FILE StuSelDBXL1

GO

3.使用T-SQL創(chuàng)建表

命令格式為:

Createtable [database_name.[ower].|owner.]table_name

({|

|column_nameascomputed_column_expression}[,…n])

[on{filegroup|DEFAULT}]

[TEXTIMAGE_ON{filegroup|DEFAULT}]

::={column_namedata_type}

[[DEFAULT constant_expression]|[INDENTITY[(seed,increment)]]]

[][……]

例如,在StuSelDB數(shù)據(jù)庫(kù)中,創(chuàng)建一個(gè)院系信息表DepInfo。

USE StuSelDB

CREATE TABLE DepInfo

(DepInfoID int PRIMARY KEY IDENTITY(1,1),

DepInfoCode char(3) NOT NULL,

DepInfoName varchar(50) NOT NULL,

DepInfoPreOfTech int DEFAULT 0,

DepInfoAssTech int DEFAULT 0

GO

4.使用T-SQL修改表

命令格式為:

ALTER TABLE table_name

{ALTER COLUM column_name

ADD…

DROP…

}

例如,向表中添加列。向ClassInfo表中添加名為Ctest的列,數(shù)據(jù)類型為int,不為空。

ALTER TABLE ClassInfo

ADD Ctest int NOT NULL

GO

SQL版本也經(jīng)歷了SQL-89、SQL-92、SQL-99、SQL-2003及SQL-2006。T-SQL具有編程結(jié)構(gòu)簡(jiǎn)單、直觀簡(jiǎn)潔、易學(xué)易用等特點(diǎn),因而受到用戶的喜愛(ài)。

參考文獻(xiàn):

[1]李錫輝.SQL Server2008數(shù)據(jù)庫(kù)案例教程[M].北京:清華大學(xué)出版社,2011.

[2]張素青.SQL Server2008數(shù)據(jù)庫(kù)應(yīng)用技術(shù)[M].北京:人民郵電出版社,2013.

[3]韓永印.SQL Server2008 數(shù)據(jù)庫(kù)項(xiàng)目教程[M].北京:人民郵電出版社,2013.

[4]王德永.數(shù)據(jù)庫(kù)原理與應(yīng)用SQL Server版項(xiàng)目式[M].北京:人民郵電出版社,2011.

[5]徐守祥.數(shù)據(jù)庫(kù)應(yīng)用技術(shù)—SQL Server2005篇(第2版)[M].北京:人民郵電出版社,2008.

猜你喜歡
數(shù)據(jù)表數(shù)據(jù)庫(kù)
聯(lián)合收獲機(jī)知識(shí)庫(kù)數(shù)據(jù)多表聯(lián)合查詢方法研究
湖北省新冠肺炎疫情數(shù)據(jù)表(2.26-3.25)
基于列控工程數(shù)據(jù)表建立線路拓?fù)潢P(guān)系的研究
圖表
基于VSL的動(dòng)態(tài)數(shù)據(jù)表應(yīng)用研究