查詢分析器創建資料庫

使用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打開另外一個資料庫。

相關詞條

熱門詞條

聯絡我們