当前位置:在线查询网 > 在线百科全书查询 > 查询分析器创建数据库

查询分析器创建数据库_在线百科全书查询


请输入要查询的词条内容:

查询分析器创建数据库


使用SQLServer查询分析器以语句方式创建数据库的方法可以按照指定的逻辑数据库名称和逻辑日志名称,在指定存储设备的指定路径上创建数据库;第二种格式,可以按照指定的逻辑数据库名称和默认的逻辑日志名称(数据库名称_LOG.LDF),在指定存储设备的指定路径上创建数据库;第三种格式,可以按照默认的逻辑数据库名称(数据库名称.MDF)和逻辑日志名称(数据库名称_LOG.LDF),在默认存储设备的默认路径

如下:

单击工具栏的“新建查询(N)”,启动查询分析器。

管理工作室的新建数据库GUI

(2)利用查询分析器,可以直接使用语句创建数据库、数据表和视图等。其具体方法如下:

在查询分析器中,直接输入SQL语句;

单击语句语法分析按钮“√”,检查分析SQL语句是否正确;

单击执行按钮“!执行(X)”,运行查询分析器中的语句序列。

创建数据库的语句格式:

CREATE DATABASE <数据库名>

[ON

( NAME = <数据表名>,

FILENAME = <盘符\\路径\\数据库存储名称>)

[LOG ON

( NAME = <日志文件名>,

FILENAME = <盘符\\路径\\日志文件存储名称>)]]

创建数据库Student的语句:

CREATE DATABASE Student

ON

( NAME = ''Student_dat'',

FILENAME = ''D:\\data\\Student_dat.mdf'')

LOG ON

( NAME = ''Student_Log'',

FILENAME = ''D:\\data\\Student_Log.ldf '') 或者

CREATE DATABASE Student

ON

( NAME = ''Student_dat'',

FILENAME = ''D:\\data\\Student_dat.mdf'') 或者

CREATE DATABASE Student

在默认存储设备的默认路径上,创建默认的逻辑数据库名称(Student.MDF)和逻辑日志名称(Student_LOG.LDF)的数据库Student。其默认路径如下:

C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\Student.mdf

C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\Student_log.ldf

注意:上述三个格式中,第一种格式,(C:\\Program Files\\Microsoft SQL Server\\MSSQL\\Data\\)上创建数据库。

删除数据库的语句格式:

DROP DATABASE <数据库名>[,<数据库名>,…]

例如:建立数据库MyTestStudent,如果该数据库存在,则先删除,然后建立。

IF OBJECT_ID (''MyTestStudent'') IS NOT NULL

SELECT OBJECT_NAME(OBJECT_ID(''MyTestStudent'')) ''对象名称'',

OBJECT_ID(''MyTestStudent'') ''对象ID''

DROP DATABASE MyTestStudent

GO

CREATE DATABASE MyTestStudent

说明:OBJECT_ID()函数用于返回对象的ID,若存在,则返回值为一个整数,否则为空值(NULL)。OBJECT_NAME()函数用于返回对象的名称,若存在,则返回值为一个名称字符串,否则为空串(“”)。输出对象的Id和名称可以使用如下SELECT语句:

SELECT <表达式>[,…,<表达式>]

创建数据表的语句格式:

CREATE TABLE <数据表名>

(<列名> <数据类型>[ <列级完整性约束条件> ]

[,<列名> <数据类型>[ <列级完整性约束条件>] ] …

[,<表级完整性约束条件> ])

说明:

<数据表名>:所要定义的数据表的名称;

<列名>:组成数据表的各个数据项的名称;

<列级完整性约束条件>:数据项的完整性约束条件;

<表级完整性约束条件>:数据表的完整性约束条件;

<数据类型>:数据项的数据类型。常用的数据类型如表8.1所示。

表8.1 SQL Server 2008常用数据类型

BIT, SMALLINT, INT, BIGINT 整型

MONEY, SMALLMONEY 货币型

FLOAT,REAL 浮点型

DATETIME, SMALLDATETIME 日期时间型

IMAGE 二进制图像型

CHAR(n) 长度为n的字符型 创建数据库Student的相应数据表Student、Course和StudentCourse的语句如下:

CREATE TABLE Student(

SNo CHAR(10) PRIMARY KEY NOT NULL,

SName CHAR(20) NOT NULL,

SSex CHAR(2),

SAge INT) 或者

CREATE TABLE Student(

SNo CHAR(10) PRIMARY KEY NOT NULL,

SName CHAR(20) NOT NULL,

SSex CHAR(2),

SAge INT CHECK (SAge>1 and SAge<100)) 或者

CREATE TABLE Student(

SNo CHAR(10) PRIMARY KEY NOT NULL,

SName CHAR(20) NOT NULL,

SSex CHAR(2),

SAge INT,

CONSTRAINT SAge1_100 CHECK (SAge>1 and SAge<100)) 或者

CREATE TABLE Student(

SNo CHAR(10) NOT NULL,

SName CHAR(20) CONSTRAINT SName_NotNull NOT NULL,

SSex CHAR(2),

SAge INT,

CONSTRAINT SNo_PK PRIMARY KEY(SNo),

CONSTRAINT SName_Unique UNIQUE(sname),

CONSTRAINT SAge1_100 CHECK (sage>1 and sage<100)) 或者

CREATE TABLE Course(

CNo CHAR(10) PRIMARY KEY NOT NULL,

CName CHAR(20) NOT NULL,

CCredit INT) 或者

CREATE TABLE StudentCourse(

SNo CHAR(10) NOT NULL,

CNo CHAR(10) NOT NULL,

Grade FLOAT,

PRIMARY KEY (SNo, CNo),

FOREIGN KEY (SNo) REFERENCES Student(SNo),

FOREIGN KEY (CNo) REFERENCES Course(CNo))

注意:在创建数据表之前,先使用USE语句打开相应的数据库。或者在SQL Server的管理工作室的工具栏的“可用数据库”下拉列表框中,选择相应的数据库。

例如:打开数据库Student的语句为:USE Student

技巧:在创建数据表之前,如果该数据表已经存在,可以先使用OBJECT_ID检测其存在性,若非空,则可以先删除该数据表,然后再建立。具体实现方法如下:

例如:建立一个数据表MyTestStudent,即使该表存在,也可以建立。

-- 测试数据表是否存在,如果若存在,则删除

IF OBJECT_ID (''MyTestStudent'') IS NOT NULL

DROP TABLE MyTestStudent

GO

CREATE TABLE MyTestStudent(

SNo CHAR(10) PRIMARY KEY NOT NULL,

SName CHAR(20) NOT NULL,

SSex CHAR(2),

SAge INT)

向数据表添加新数据项的语句格式:

ALTER TABLE <表名>

ADD <新列名> <数据类型> [ 完整性约束 ]

例如:向Student增加“注册时间”列,其数据类型为日期型。

ALTER TABLE Student ADD SEnrollment DATETIME

例如:向Student的SName增加唯一性约束。

ALTER TABLE Student ADD UNIQUE(SName) 或者

ALTER TABLE Student ADD CONSTRAINT Un_SName UNIQUE(SName)

修改数据表的数据项的语句格式:

ALTER TABLE <表名>

ALTER COLUMN <列名> <数据类型>

例如:修改Student的SAge的类型为SMALLINT。

ALTER TABLE Student ALTER COLUMN Sage SMALLINT

删除数据表的数据项的语句格式:

ALTER TABLE <表名>

DROP COLUMN <列名> | CONSTRAINT <约束名称>

例如:删除Student的数据项Senrollment。

ALTER TABLE Student DROP COLUMN Senrollment

删除数据表的数据项约束的语句格式:

ALTER TABLE <表名>

DROP CONSTRAINT <约束名称>

例如:删除Student的SName的唯一性约束。

ALTER TABLE Student DROP CONSTRAINT Un_SName

删除数据表的语句格式:

DROP TABLE <数据表名称>

例如:删除数据表Student。

DROP TABLE Student

删除数据库的语句格式:

DROP DATABASE <数据库名称>

例如:删除数据库Student。

DROP DATABASE Student

注意:在删除数据库之前,先关闭要删除的数据库。方法是使用USE打开另外一个数据库。