欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

第二章 数据库的实现

程序员文章站 2022-06-04 17:03:07
...

2.1 T-SQL语句回顾 在《使用SQL Server管理和查询数据》中,我们学习过T-SQL语句,它是Microsoft SQL Server 数据库对SQL语句的扩展,T-SQL语句的数据操作语法如下。 1. 添加数据 语法:Insert [into] 表名 (字段1,字段2,) Values (值1,值2,) 其中,

2.1 T-SQL语句回顾

  在《使用SQL Server管理和查询数据》中,我们学习过T-SQL语句,它是Microsoft SQL Server 数据库对SQL语句的扩展,T-SQL语句的数据操作语法如下。

  1. 添加数据

  语法:Insert [into] 表名 (字段1,字段2,···) Values (值1,值2,···)

  其中,Into 可选。

  例如: Insert into stuInfo (stuName, stuNo, stuAge) values ('张三', 's25301', 22)

  2. 修改数据

  语法:Update 表名 set 字段1 = 值1 , 字段2 = 值2,··· Where (条件)

  例如:Update StuInfo set stuAge = 24 where stuName = '张三'

  3. 查询数据

  语法:Select 字段1,字段2,··· from 表名 where (条件) Order by 字段名

  例如:Select stuName, stuNo from stuInfo where stuAge

  4. 删除数据

  语法:Delete from 表名 where (条件)

  例如:Delete from stuInfo where stuAge

  当项目经测试基本满足客户的需求后,需要部署在客户的实际环境中试运行。我们在部署前需要考虑的是,后台的数据库如何移植到客户的计算机中?考虑各种数据库版本的兼容性,行之有效的办法就是编写比较通用的SQL语句,包括创建库、创建表、添加约束、插入测试数据等。编写完毕后,存入*.sql文件中,最后复制到客户的计算机中,并执行*.sql文件中的SQL语句,从而实现后台数据库的移植。所以,我们还需要掌握如何使用SQL语句,实现创建库、创建表、添加约束和创建登录账户等。

2.2 使用SQL语句创建和删除数据库

  我们先简要回顾一下SQL Server数据库的基础知识。

  数据库文件由以下3部分组成。

  》》》主数据文件:*.mdf。

  》》》次要数据文件:*.ndf。

  》》》日志文件:*.ldf。

  其中,次要数据文件库可选,可以有多个数据库文件和日志文件。

  数据库文件的其他属性。

  》》》文件存放位置,分配的初始空间,属于哪个文件组。

  》》》文件的增长设置,可以按百分比或实际大小指定增长速度。

  》》》文件容量设置,网站空间,可以指定文件增长的最大值或不受限。

  其中,文件组允许对数据文件进行分组,以便于管理和数据的分配/放置。例如,可以分别在3个硬盘驱动器上创建3个文件(Data1.mdf,Data2.ndf和Data3.ndf),并将这3个文件指派到文件组fgroup1中。然后,可以明确地在文件组fgroup1中创建一个表。对表中数据的查询将分散到3个磁盘上,可以采用并发查询,因而性能得以提高。

2.2.1 创建数据表

  T-SQL创建数据库的语法如下:

  Creat Database 数据库名

    On [PRIMARY]

    (

    [,···n] []

    )

  [Log on]

  (

  {[,···n]}

  )

  文件的具体参数的语法如下。

  ([Name = 逻辑文件名,]

  FileName = 物理文件名

  [, Size = 大小]

  [, MaxSize = (最大容量 | Unlimited)]

  [, Filegrowth = 增长量]) [,···n]

  文件组参数的语法如下。

  Filegroup 文件组名 [,···n]

  其中,“[]”表示可选部分,“{}”表示必需的部分。各参数的含义说明如下。

  》》》数据库名:数据库的名称,最长为128个字符。

  》》》Primary:该选项是一个关键字,指定主文件组中的文件。

  》》》Log on:指明事务日志文件的明确定义。

  》》》Name:指定数据库的逻辑名称,这是在SQL Server系统中使用的名称,是数据库在SQL Server中的标识符。

  》》》FileName:指定数据库所在文件的操作系统文件名称和路径,该操作系统文件名和Name的逻辑名称一一对应。

  》》》Size:指定数据库的初始容量大小。

  》》》Maxsize:指定操作系统文件可以增长到的最大尺寸。

  》》》Filegrowth:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。

  示例一:

  创建一个数据文件和一个日志文件。

  Create Database stuDB

  on primary   --默认就属于primary主文件组,可省略

  (

  /*-- 数据文件的具体描述 --*/

  Name = 'stuDB_data',   --主数据文件的逻辑名称

  filename = 'D:\stuDB_data.mdf',   --主数据文件的物理名称

  size = 5mb,   --主数据文件的初始大小

  Maxsize = 100mb,   --主数据文件增长的最大值

  Filegrowth = 15%,   --主数据文件的增长率

  )

  Log on

  (

  /*-- 日志文件的具体描述,各参数含义同上 --*/

  Name = 'stuDB_log',

  FileName = 'D:\stuDB_log.ldf',

  size = 2mb,

  Filegrowth = 1mb

  )

  go --和后续的SQL语句分隔开

  在示例1中创建了学员信息数据库stuDB,该数据库的主数据文件逻辑名称为stuDB_data,物理文件名称为stuDB_data.mdf,初始大小为5MB,最大尺寸为100MB,增长速度为15%。数据库的日志文件逻辑名称为stuDB_log,物理文件名称为stuDB_log.ldf,初始大小为2MB,增长速度为1MB。该数据库存放在D:盘。

  示例二:

  创建多个数据文件和多个日志文件。

  Create DataBase employees

  on Primary

  (

  /*-- 主数据文件的具体描述 --*/

  Name = 'employees1',

  FileName = 'D:\employees1.mdf',

  Size = 10,

  Filegrowth = 10%,

  ),

  (

  /*-- 次要数据文件的具体描述 --*/

  Name = 'employee2',

  FileName = 'D:\employee2.ndf',

  Size = 20,

  MaxSize = 100,

  FileGrowth = 1

  )

  Log On

  (

  /*-- 日志文件1的具体描述 *--/

  Name = 'employeelog1',

  FileName = 'D:\employeelog1_log.ldf',

  Size = 10,

  MaxSize = 50,

  FileGrowth = 1

  )

  (

  /*-- 日志文件2的具体描述 *--/

  Name = 'employeelog2',

  FileName = 'D:\employeelog2_log.ldf',

  Size = 10,

  MaxSize = 50,

  FileGrowth = 1

  )

  go  -- 和后续的SQL语句分隔开