網(wǎng)站首頁 編程語言 正文
1.創(chuàng)建數(shù)據(jù)庫:
CREATE DATABASE my_db;
2.創(chuàng)建表:
CREATE TABLE Persons
(
Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
數(shù)據(jù)類型:
int ? smallint ?tinyint ? 整數(shù) ,?
char(size) ? ? 容納固定長度的字符串,
varchar(size) ? ? ?容納可變長度的字符串,
date(yyyymmddd) ? ? 容納日期。
3.約束:
?NOT NULL ? ? ? ? ? ? ? ? ?約束強制列不接受 NULL 值。
UNIQUE ? ? ? ? ? ? ? ? ? ? ?約束唯一標識數(shù)據(jù)庫表中的每條記錄。
PRIMARY KEY ? ? ? ? ? ? ?PRIMARY KEY 約束唯一標識數(shù)據(jù)庫表中的每條記錄。
FOREIGN KEY ? ? ? ? ? ??一個表中的 FOREIGN KEY 指向另一個表中的 PRIMARY KEY。
CHECK ? ? ? ? ? ? ? ? ? ? ? 約束用于限制列中的值的范圍。
DEFAULT ? ? ? ? ? ? ? ? ? ?約束用于向列中插入默認值。
3.1.Not ?Null
CREATE TABLE Persons
(
Id_P int
NOT NULL
,
LastName varchar(255)
NOT NULL
,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
3.2.UNIQUE
CREATE TABLE Persons
(
Id_P int NOT NULL
UNIQUE
,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
當表已被創(chuàng)建時,如需在 "Id_P" 列創(chuàng)建 UNIQUE 約束:
ALTER TABLE Persons
ADD UNIQUE (Id_P)
如需命名UNIQUE 約束:
ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P)
如需撤銷 UNIQUE 約束,請使用下面的 SQL:
ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID
3.3.PRIMARY KEY
CREATE TABLE Persons
(
Id_P int NOT NULL
PRIMARY KEY
,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)
如果在表已存在的情況下為 "Id_P" 列創(chuàng)建 PRIMARY KEY 約束:
ALTER TABLE Persons
ADD PRIMARY KEY (Id_P)
如需命名PRIMARY KEY 約束:
ALTER TABLE Persons
ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P)
如需撤銷 PRIMARY KEY 約束:
ALTER TABLE Persons
DROP CONSTRAINT pk_PersonID
3.4.FOREIGN KEY
"Persons" 表:
"Orders" 表:
請注意,"Orders" 中的 "Id_P" 列指向 "Persons" 表中的 "Id_P" 列。
"Persons" 表中的 "Id_P" 列是 "Persons" 表中的 PRIMARY KEY。
"Orders" 表中的 "Id_P" 列是 "Orders" 表中的 FOREIGN KEY。
FOREIGN KEY 約束用于預防破壞表之間連接的動作。
FOREIGN KEY 約束也能防止非法數(shù)據(jù)插入外鍵列,因為它必須是它指向的那個表中的值之一。
CREATE TABLE Orders
(
Id_O int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
Id_P int FOREIGN KEY REFERENCES Persons(Id_P)
)
如果在 "Orders" 表已存在的情況下為 "Id_P" 列創(chuàng)建 FOREIGN KEY 約束:
ALTER TABLE Orders
ADD
CONSTRAINT fk_PerOrders
FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)
如需撤銷 FOREIGN KEY 約束:
ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders
3.5.check
下面的 SQL 在 "Persons" 表創(chuàng)建時為 "Id_P" 列創(chuàng)建 CHECK 約束。CHECK 約束規(guī)定 "Id_P" 列必須只包含大
于?0 的整數(shù)。
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)
)
如果在表已存在的情況下為列創(chuàng)建 CHECK 約束以及為多個列定義 CHECK 約束:
ALTER TABLE Persons
ADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')
如需撤銷 CHECK 約束:
ALTER TABLE Persons
DROP CONSTRAINT chk_Person
3.6.DEFAULT
下面的 SQL 在 "Persons" 表創(chuàng)建時為 "City" 列創(chuàng)建 DEFAULT 約束:
CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255) DEFAULT 'Sandnes'
)
如果在表已存在的情況下為 "City" 列創(chuàng)建 DEFAULT 約束:
ALTER TABLE Persons
ALTER COLUMN City SET DEFAULT 'SANDNES'
撤銷 DEFAULT 約束:
ALTER TABLE Persons
ALTER COLUMN City DROP DEFAULT
這些就是創(chuàng)建表的一些約束及示例。
原文鏈接:https://blog.csdn.net/csdn9_14/article/details/52612466
相關推薦
- 2023-06-17 解讀C語言非void函數(shù)卻沒有return會怎么樣_C 語言
- 2023-04-02 GoLang調用鏈可視化go-callvis使用介紹_Golang
- 2022-06-29 Android實用小技巧之利用Lifecycle寫出更好維護的代碼_Android
- 2022-11-28 一文帶你搞懂Golang結構體內(nèi)存布局_Golang
- 2023-04-24 Python?語法錯誤:"SyntaxError:?invalid?character?in?ide
- 2022-08-31 C++?OpenCV裁剪圖片時發(fā)生報錯的解決方式_C 語言
- 2022-04-29 Sql?Server之數(shù)據(jù)類型詳解_MsSql
- 2022-01-29 composer 安裝包提示內(nèi)存不足的解決辦法
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細win安裝深度學習環(huán)境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結構-簡單動態(tài)字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支