四时宝库

程序员的知识宝库

SQL Server T-SQL语言基础知识(一)—T-SQL查询和编程基础

一、SQL Server体系结构

1.1 SQL Server 实例

SQL Server 实例是指安装的一个SQL Server 数据库引擎或服务。在同一台计算机上可以安装SQL Server 的多个实例。

1.2 数据库

可以将数据库看作是各种对象的容器,这些对象可以是表、视图、存储过程等。每个SQL Server 实例可以包含多个数据库。

当安装SQLServer 时,安装程序会创建几个系统数据库,用于保存系统数据库和服务于内部目的。安装好之后,就可以创建自己的用户数据库,以保存应用程序的数据。

数据库在物理上由数据文件和事务日志文件组成。当创建数据库时,能够定义每个文件的各种属性,包括文件名、保存位置,以及文件自动扩展的增量。每个数据库必须至少有一个数据文件和一个日志文件。

数据文件用于保存数据库对象数据,而日志文件则保存SQL Server 为了维护事务而需要的信息。

文件扩展名.mdf(Master Data File主要数据文件),.ldf(Log Data File日志数据文件)和.ndf(Not Master Data File非主要数据文件)。

1.3 架构(Schema)和对象

一个数据库包含多个架构,而每个架构则又包含多个对象。可以将构架看作是各种对象的容器,这些对象可以是表、视图、存储过程等。可以在架构级别上控制对象的访问权限。架构也是一个命名空间,用作对象名称的前缀。例如:在架构Sales中有一个Qrders表,架构限定的对象名称是Sales.Orders,也称为两部分对象名称。

二、创建数据库和表

表是属于架构,而架构又属于数据库的。

2.1 创建数据库

例子中数据库名称是tesetdb,架构名称是dbo。

创建表之前,先要创建一个名为tesetdb的数据库,可以运行以下代码:

IF DB_ID('tesetdb') IS NULL

CREATE DATABASE tesetdb;

DB_ID函数接受一个数据库名称作为输入,返回它的内部数据库ID。如果输入名称指定的数据库不存在,这个函数将返回NULL。这是一种检查数据库是否存在的简单方法。

2.2 创建表

在tesetdb数据库中创建一个名为Employees的表,执行以下代码:

USE tesetdb;

IF OBJECT_ID('dbo.Employees', 'U') IS NOT NULL

DROP TABLE dbo.Employees;

CREATE TABLE dbo.Employees

(

empid INT NOT NULL,

firstname VARCHAR(30) NOT NULL,

lastname VARCHAR(30) NOT NULL,

hiredate DATE NOT NULL,

mgrid INT NULL,

ssn VARCHAR(20) NOT NULL,

salary MONEY NOT NULL,

);

USE语句将当前的数据库上下文切换为tesetdb。在创建对象的脚本中加入USE语句,它的重要作用是确保要在正确的数据库中创建对象。

IF语句调用OBJECT_ID函数来检查在当前数据库中是否已经存在Employees表。

OBJECT_ID函数接受一个对象名称和类型作为它的输入。类型'U'代表用户表。

CREATE TABLE语句定义前面提到的关系的主体。先指定表的名称,接着在圆括号中定义它的各种属性(列)。对于表的每个属性,需要指定它的属性名称、数据类型和是否允许NULL数据值。

作者:shy

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接