SQLServer学习笔记(4)基本语法

CREATE DATABASE 语句:

CREATE DATABASE database_name

 


CREAT TABLE 语句:

CREATE TABLE 表名称

(

列名称1 数据类型,

列名称2 数据类型,

列名称3 数据类型,

....

)

 

 

数据类型

描述

integer(size)

int(size)

smallint(size)

tinyint(size)

仅容纳整数。在括号内规定数字的最大位数。

decimal(size,d)

numeric(size,d)

容纳带有小数的数字。

"size" 规定数字的最大位数。"d" 规定小数点右侧的最大位数。

char(size)

容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。

在括号中规定字符串的长度。

varchar(size)

容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。

在括号中规定字符串的最大长度。

date(yyyymmdd)

容纳日期。

 


NOT NULL 约束:

约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录

 


UNIQUE 约束:

SQL UNIQUE Constraint on CREATE TABLE(在创建表格的时候添加单个Unique约束):

CREATE TABLE Persons

(

Id_P int NOT NULL UNIQUE,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

 

命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束:

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

)

 

SQL UNIQUE Constraint on ALTER TABLE(修改表格并添加Unique约束)

--添加单个约束
ALTER TABLE Persons

ADD UNIQUE (Id_P)



--添加多个约束

ALTER TABLE Persons

ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

 

撤销UNIQUE约束

ALTER TABLE Persons

DROP CONSTRAINT uc_PersonID

 


PRIMARY KEY 约束:

SQL PRIMARY KEY Constraint on CREATE TABLE(在创建表格时添加单个约束)

CREATE TABLE Persons

(

Id_P int NOT NULL PRIMARY KEY,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

 

命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

)

 

SQL PRIMARY KEY Constraint on ALTER TABLE

ALTER TABLE Persons

ADD PRIMARY KEY (Id_P)

 

ALTER TABLE Persons

ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

 

注意:

使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)

PRIMARY KEY 拥有自动定义的 UNIQUE 约束

 

撤销 PRIMARY KEY 约束

ALTER TABLE Persons

DROP PRIMARY KEY

 

ALTER TABLE Persons

DROP CONSTRAINT pk_PersonID

 


FOREIGN KEY 约束:

创建表格时添加Foreign Key约束:

CREATE TABLE Orders

(

Id_O int NOT NULL PRIMARY KEY,

OrderNo int NOT NULL,

Id_P int FOREIGN KEY REFERENCES Persons(Id_P)

)

 

命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束

CREATE TABLE Orders

(

Id_O int NOT NULL,

OrderNo int NOT NULL,

Id_P int,

PRIMARY KEY (Id_O),

CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

)

 

SQL FOREIGN KEY Constraint on ALTER TABLE

ALTER TABLE Orders

ADD FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

 

ALTER TABLE Orders

ADD CONSTRAINT fk_PerOrders

FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

 

撤销 FOREIGN KEY 约束

ALTER TABLE Orders

DROP CONSTRAINT fk_PerOrders

 


CHECK 约束:

SQL CHECK Constraint on CREATE TABLE

--添加单个check约束
CREATE TABLE Persons

(

Id_P int NOT NULL CHECK (Id_P>0),

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255)

)

--添加多个check约束
CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

)

 

CHECK 约束用于限制列中的值的范围

 

SQL CHECK Constraint on ALTER TABLE

--方法一
ALTER TABLE Persons

ADD CHECK (Id_P>0)



--方法二(可添加多个约束)

ALTER TABLE Persons

ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

 

撤销 CHECK 约束

ALTER TABLE Persons

DROP CONSTRAINT chk_Person

 


DEFAULT 约束:

SQL DEFAULT Constraint on CREATE TABLE

CREATE TABLE Persons

(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255) DEFAULT 'Sandnes'

)

 

DEFAULT 约束也可以用于插入系统值:

OrderDate date DEFAULT GETDATE()

 

SQL DEFAULT Constraint on ALTER TABLE

ALTER TABLE Persons

ALTER COLUMN City SET DEFAULT 'SANDNES'

 

撤销 DEFAULT 约束

ALTER TABLE Persons

ALTER COLUMN City DROP DEFAULT

 

猜你喜欢

转载自blog.csdn.net/stringYY/article/details/81943613