SQL Server 数据库设计和实现(三)

三、更新数据库
​(一)格式:具体格式请在“联机丛书”中查找关键字“alter database”进行查询

(二)相关示例:

1、向数据库中添加文件:下例创建数据库,并更改该数据库以添加一个 5 MB 大小的新数据文件。

USE master

GO

CREATE DATABA数据库查询语句SE Test1

ON

(

NAME = Test1dat1,

FILENAME = 'c:/Program Files/Microsoft SQtable什么意思L Sedatabase翻译rver/MSSQL/Data/t1dat1.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGsqlserver2008安装步骤教程ROWTH = 5MB

)

GO

ALTER DAdatabasenameTABASE Test1

ADD FILE

(

NAME = Test1dat2,

FILENAME = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/t1dat2.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWsqlserver是什么软件TH = 5MB

)

GO

2、向数据库中添加由table tennis两个文件组成的文件组:

下例在示例 A 中所创table建的 Test1 数据库中创建一个文件组,并将两个 5 MB 的文件添加到该文null资源下载件组。然后下例将 Test1FG1 设置database翻译为默认文件组。

USE masternull表示什么

GO

ALTER DATA数据库是什么BASE Test1

ADD FILEGROUP Test1FG1

GO

ALTER DAT数据库系统ABASE Test1

ADD FILE

(

NAME = test1dat3,

FILENAME = 'c:/Programnull Files/Microsoft SQL Server/MSSQL/Data/t1dat3.ndf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTH = 5MB

),

(

NAME = test1dat4,null天气

FILENAME = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/t1dat4.ndf',

SIZE = 5MB,

MAXSIZE = 100Msqlserver是什么软件B,

FILEGROW数据库系统的核心是TH =sqlserver端口号 5MBdatabasename

)

TO FILEGROUP Test1FG1

ALTER DATABASE Test1

MODIFY FILEGROUP Test1FG1 DEFA数据库系统ULT

GO

3、table是什么意思英语向数据库中添加两个日志文件:下例向数据库中添加两个 5 MB 大小的日志文件。

USE mastabletpc平板电脑价格ter

GOnull

ALsqlserver内存最佳配置TER DATtable tennisABASE Test1

ADD LOG FILE

(

NAME = test1log2,

FILENAME = 'c:/Program Files/Microsoft SQL Serv数据库系统的核心是er/MSSQL/Data/test2log.ldf',

SIZE = 5MB,

MAXSIZE = 100MB,

FILEGROWTtable什么意思H = 5MB

),

(

NAME = test1log3,

FILENAME = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/test3log.sqlserver无法连接到服务器ldf',

SIZE = 5MBnull啥意思,

MAXSIZE = 100MB,

FILEGROWTH = 5MB

)

GO

4、从数据库中删除文件:下例将示例 B 中添加到数据库 Test1 中的一个文件删除。

USE master

GO

ALTER DATABASE Test1

REnull官方下载地址MOVE FILE test1dat4

GO

5、更改文件:下例将示例 B 中添加到数据库 Test1 中的一个文件增加大小。

USE master

GO

ALTER DATABAnullSE Test1

MODIdatabase翻译Ftable什么意思Y FILE

(

NAME = test1dat3,

SIZE = 20MB

)

GO

2.3 使用SQL语句创建和删除表

一、创建表

(一)格式:

数据表的信息一般存储于各个数据库中的sysobjects表中,在创建表格时,可以同IF EXISTS判断语句一同使用

CREATE TABLE 表名

(

字段1 数据类型 列的特征,

字段2 数sqlserver端口号据类型 列的特征,

... ...

)

go

(二)参数分析:

1、字段:表格中数据库原理及应用的字段名称

2、database翻译数据类型:详见SQLSERVER应用开发

3、列的特征:即对该列中的数据的相关约束,一般包括

1)非空约束:是否允许列中的数据为null,允许可写为NULL或不写,不允数据库查询语句许写为NOT NULL

2)默认值约束:当用户没有对列输入信息时,用默认值代替,可以写为DEFAUsqlserver安装教程LT 默认值,如果字段为字符型,应写数据库系统概论第五版课后答案为DEFAULT '默认值'

3)唯一约束:对于该列的数据sqlserver安装教程采用唯一性原则,即没有重复的元素,可以包括null值,但只能有一个,可写为UNIQUE

4)主键约束:将该列的数据设为主键,和唯一约束一样,不存在重复的元素,但不能包括null,即主键不能为空tableau数据可视化

5)外键约束:将从表null啥意思中列的数据与主表中相关主键的数据相关联,可写为references 主表名(主键列名)

6)检查约束:对列中的数据进行格式上的限制,可写为CHECK(条件表达式)

7)标识列:对于列的数据由系统从种子基数开始,按照种子递增量自动增加,可写为IDENTITY(null资源下载种子基数,种子递增量)

(三)相关示例:

1、完整的表定义:

下例显示 pubs 数据库中所创建的三个表(jo数据库系统的核心是bs、emplotable和desk的区别yee 和 publishers)的完整表定义,其中包含所有的约束定义。

/* ************************** jobs tabltable和desk的区别e ************************** */

CREAtable和desk的区别TE TABLE jobs

(

job_id smallint IDENTITY(1,1) PRIMARY KEY CLUSTERED, -- 将该列定义为自动增长的聚焦索引主键

job_desc varchar(50) NOT NULL DEFAULT 'New Position - title not formalized yet', -- 将该列定义数据库管理系统为非空字段并且有默认值

min_lvl tinyint NOT NULL C数据库管理系统HECK (min_lvl >= 10), -- 限制该列数据只能tableware为只于10的整数

max_lvl tinyint NOT NULL CHECK (max_lvl <= 250)

)

go

/* ************database********数据库设计***** empltable什么意思oyee tsqlserver安装教程able ************************* */

CREATE TABLE esqlserver和mysql区别m数据库ployee

(

emp_id empid CONSTRAINT Psqlserver内存最佳配置K_emp_id PRIMARY KEY NONCLUSTERED CONSTRAINT CK_emp_id CHECK (emp_id LIKE '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' or emp_id LIKE '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]'),

fname varchar(20) NOT NUsqlserver是什么软件LL,

minit chatable什么意思r(1) NULL,

lname varchar(30) NOT NULL,

job_id smallint NOT NULL DEFAULT 1 REFERENCES jobs(job_id),

job_lvl tinyint DEFAULT 10,

pub_id char(sqlserver无法连接到服务器4) NOT NUtable翻译LL DEFAULT ('9952') REFERdatabase是什么意思英语ENCES publishers(pub_id), hire_date datetime NOT NULL DEFAULT (getdate())

)

/* ***************** publishers table ******************** */

CREATE Tsqlserver修改字段长度ABLE publishers

(

pub_id char(4) NOT NULL CONSTRAINT UPKCL_pubind PRIMARY KEY CLUSTERED CHECK (pub_id IN ('1389', '0736', '0877', '1622', '1756') OR pub_id LIKE '99[0-9][0-9]'),

pub_name varchar(40) NULL,

city varcharnull文件怎么打开(20) NULL,

state char(2) NULL,

country varchar(30) NULL DEFAULT(database是什么意思'USA')

)

2、在列中使用 uniqueidentidatabase是什么意思英语fier 数据类型:

下例创建含有 uniqutable是什么意思英语eidentifier 列的表。该表使database读音用 PRIMARY KEY 约束以确保用户不会在表中插入重null啥意思复的值,并在 DEFAULT 约束中使用 NEWID() 函数为database翻译新行提供值。

CR数据库系统概论第五版课后答案EATE TABLE Globally_Unique_Data

(

guid uniqueidentnull中文什么意思ifier CONSTRAINT Guid_Default DEFAULT NEnull官方下载地址WID(),

Employee_Name varchar(6SQL+Server0),sqlserver安装教程

CONSTRAINT Guid_PK PRIMARY KEY (Guid)

)

3、对计算列sqlserver和mysql区别使用表达式:下例显示如何使用表达式 ((low + high)/2) 计算 myavg 计算列。

CREATE TABLE mytable

(

low int,

high int,

myavg AS (low + high)/2

)

4、对计算列使用 USER_Nsqlserver是什么软件AME 函数:下例在 myuser_n数据库设计adatabasenameme 列中使用 USER_NAME 函数。

CREATE TABLE mylogintabletable是什么意思英语

(

date_in datetime,

user_id int,

myuse数据库管理系统r_name Anull资源下载S USER_NAME()

)

二、删除表

格式:DROP TABLE 表名

2.4 使用SQL语句创建和删除约束

一、添加约束:

(一)格式:

ALTER TSQL+ServerABLE 表名

ADD CONSTRAINnull官方下载地址T 约束名 约束类型 具体的约束说明

(二)相关示例:

1、添加主键约束:

为stuInfo表的stuNo字段添加主键约束(PRIMARY KEY),约束名为PK_stuNo

ALTER TABLE stuInfo

ADD CONSTRAINT PK_stuNo PRIMAnull软件9.0RY KEY (stuNo)

2、添加唯一约束:

为stuInfo表的stuId字段添加sqlserver是什么软件唯一约束(UNIQUE),约束名为UQ_stuId

AdatabaseLTER TABLE stunull中文什么意思Info

ADD CONSTRAINT Unull文件怎么打开Q_stutable是什么意思英语Id UNIQUE (stuId)

3、添加默认约束:

ALTER TABLE stuIdatabase读音nfo

ADD数据库是什么 CONSTnull软件9.0RAINT DF_stuAddress DEFAULT ('地址不详') FOR stuAddress

4、添加检查约束:年龄在15到40之间

ALTER TABLE stunull软件9.0Info

ADD CONSTRAINT CK_stuAge Csqlserver数据库HECK (stuAge BETWEEN 15 AND 40)

5、添加外键约束:将从表stuMarks中的stuNo列定义为外键并与主列中的stuNo列相关联

ALTER TABLE stuMarkssqlserver安装教程

ADD CONSTRAIsqlserver是什么软件NT FK_stuNo FOREIGN KEY (stuNo) REFERENCES stunullInfo (stuNo)

二、删除约SQL+Server束:

(一)格式: ALTER TABLE DROP CONSTRAINT 约束名

(二)相table tennis关示例:删除名为DF_stuAddress的约束

ALTERnull啥意思 TABLE DROP CONSTRAINT DF_stuAddress

三、扩展:修databasename改表格的方法

(一)格式:参见“联机丛书”,查找关键字“ALTER TABLE”

(二)相关示例:

1、更改表以添加新列:

下例添加一个允许空值的列,而且没有通过 DEFAULT 定义提供值。各行的新列中的值将为 NUL数据库管理系统L。

CREATE TABLE doc_exa

(

column_a INT

)

GO

ALTER TABLE doc_exa

ADD column_b VARCHAR(20) N数据库查询语句ULL

GO

EXEC spdatabase翻译_help doc_exa

GO

DROP TABLE doc_exa

GO

2、更改表以除去列:下例修改表以删除一列。

CREATE TABLE doc_exb

(

column_a INT,

column_b VARCHAR(20) NULL

)

GO

ALTER TABLE doc_exb

DROP COLUMN column_b

GO

EXEC sp_help doc_exb

GO

DROP TABLEnull文件怎么打开 doc_exb

GO

3、更改表以添加具有约束的列:下例向表中添加具有 UNIQUE 约束的新列。

CREATE TABLE数据库原理及应用 dotableauc_exc

(

column_a INT

)

GO

ALTER TABLE doc_exc

ADD colusqlserver内存最佳配置mn_b VARCHAR(20) NULL CONSTRAINT exb_uniqu数据库系统工程师e UNIQUE

GO

EXEC sp_help doc数据库系统的核心是_exc

GO

DROP TABLE doc_exc

GO