T-SQL語句操作數據庫——基本操作


一、創建刪除數據數據庫

1、T-SQL語句創建數據庫語法如下:

CREATE DATABASE 數據庫名 ON [PRINARY] ( <文件參數>[,...n] [<文件組參數>] ) [LOG ON] ( {<日志文件參數>}[,...n] )

文件的具體參數語法如下:

(   [name=邏輯文件名,] filename=物理文件名 [,size=初始大小]
    [,maxsize={最大容量|UNLIMITED}]
    [,filegrowth=增長量] )

示例:

需求:創建一個people數據庫,有一個10MB和一個20MB的數據文件people1.mdf,people2.ndf,還有兩個10MB的日志文件。
主文件people1由primary指定,兩個數據文件的最大尺寸為無限大和100MB,增長速度為10%和1MB。日志文件people1_log和
people2_log,物理文件名為people1_log.ldf和people2_log.ldf,最大尺寸均為50MB,文件增長速度均為1MB。
CREATE DATABASE people ON PRIMARY ( NAME='people1', FILENAME='F:\數據庫\練習\people1.mdf', SIZE=10MB, FILEGROWTH=10% ), ( NAME='people2', FILENAME='F:\數據庫\練習\people2.ndf', SIZE=20MB, MAXSIZE=100MB, FILEGROWTH=1MB ) LOG ON ( NAME='people1_log', FILENAME='F:\數據庫\練習\people1_log.ldf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=1MB ), ( NAME='people2_log', FILENAME='F:\數據庫\練習\people2_log.ldf', SIZE=10MB, MAXSIZE=50MB, FILEGROWTH=1MB )

2、刪除數據庫語法如下:

DROP DATABASE 數據庫名

使用時需檢查數據庫是否存在

USE master GO
IF EXISTS(SELECT * FROM sysdatabases WHERE name='people') DROP DATABASE people

注:EXISTS(查詢語句)用來檢測某個查詢是否存在。

二、創建和刪除表

1、創建表的語法如下:

CREATE TABLE 表名 ( 字段1 數據類型 列的特征, 字段2 數據類型 列的特征, ... )

示例:

需求:創建學員信息表peoInfo。
USE people GO
CREATE TABLE peoInfo ( peoName VARCHAR(20) NOT NULL, peoNo CHAR(6) NOT NULL, peoAge INT NOT NULL, peoID NUMERIC(18,0), peoSeat SMALLINT IDENTITY (1,1), peoAddress TEXT )

注:列屬性"IDENTITY(起始值,遞增值)"表示"stuSeat"列為自動編號,也稱為標識列。

需求:創建成績表peoMarks
USE people GO
CREATE TABLE peoMarks ( ExamNo CHAR(7) NOT NULL,       --考號
    peoNO CHAR(6) NOT NULL,         --學號
    writtenExam INT NOT NULL,       --筆試成績
    LabEaxm INT NOT NULL            --機試成績
)

 

2、刪除表的語法如下:

DROP TABLE 表名

例如:

DROP TABLE peoInfo

三、使用SQL語句創建和刪除約束

約束的目的是確保表中數據的完整性。

常用的約束類型:

  • 主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。
  • 唯一約束(Unique Constraint):要求該列唯一,允許為空,但只能出現一個空值。
  • 檢查約束(Check Constraint):某列取值范圍顯示、格式限制等,如有關年齡的約束。
  • 默認約束(Default Constraint):某列的默認值,如我們的性別默認為“男”。
  • 外鍵約束(Foreign Key Constraint):用於在兩表之間建立關系,需要指定引用主表的那一列。

1、添加約束

添加約束的語法如下:

ALTER TABLE 表名 ADD CONSTRAINT 約束名 約束類型 具體的約束說明

示例:

需求:
為peoNo字段添加主鍵約束,約束名取名為"PK_peoNo", 為peoID字段添加唯一約束,約束名取名為"UQ_peoID", 為peoAddress字段添加默認約束,約束名取名為"DF_peoAddress", 為peoAge字段添加檢查約束,約束名取名為"CK_peoAge",
為peoMarks字段添加外鍵約束,約束名取名為"FK_peoNO",
/*--添加主鍵約束--*/
ALTER TABLE peoInfo ADD CONSTRAINT PK_peoNo PRIMARY KEY (peoNo) /*--添加唯一約束--*/
ALTER TABLE peoInfo ADD CONSTRAINT UQ_peoID UNIQUE (peoID) /*--添加默認約束--*/
ALTER TABLE peoInfo ADD CONSTRAINT DF_peoAddress DEFAULT ('地址不詳') FOR peoAddress /*--添加檢查約束--*/
ALTER TABLE peoInfo ADD CONSTRAINT CK_stuAge CHECK(peoAge BETWEEN 15 AND 40) /*--添加外鍵約束--*/
ALTER TABLE peoMarks ADD CONSTRAINT FK_peoNo FOREIGN KEY(peoNo) REFERENCES peoInfo(peoNo)

2、刪除約束

刪除約束的語法如下:

ALTER TABLE 表名 DROP CONSTRAINT 約束名

示例:

/*--刪除peoInfo表中地址默認約束的語句--*/
ALTER TABLE peoInfo DROP CONSTRAINT DF_peoAddress


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM