日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

创建、修改、删除表总结

發布時間:2023/12/19 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 创建、修改、删除表总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、創建表

CREATE TABLE? <表名>

(<列名><數據類型>[列級完整性約束條件]

? [,<列名> <數據類型>[列級完整性約束條件]]

???? …

? [,表級完整性約束條件]);

如果完整性約束條件涉及到該表的多個屬性列,則必須定義在表級上,否則既可以定義在列級也可以定義在表級

例句:

列級約束

create table student(

id int identity(1,1) primary key,

name varchar(20) not null,

sex? CHAR(2)

)

表級約束:Constraint為約束起名

CREATE TABLE Student

(Sno? CHAR(9) ,

Sname? varchar(20) ,

Ssex? CHAR(2) ,

Sage? SMALLINT,

Constraint PK_S PRIMARY KEY(Sno)

);

CREATE TABLE SC

?????????? (Sno?? CHAR(9)? NOT NULL,

??????????? Cno? CHAR(4)? NOT NULL,?

??????????? Grade??? INT,

Constraint PK_SC PRIMARY KEY (Sno,Cno)

);

列級unique約束

CREATE TABLE Student (

??? Sno?? CHAR(9) PRIMARY KEY,

??? Sname VARCHAR(20) Constraint UQ_s_sname UNIQUE,

??? Ssex??? CHAR(2),? Sage?? SMALLINT,

Sdept? CHAR(15)

);

?

CREATE TABLE Student

??????? (Sno? CHAR(9) PRIMARY KEY,

????????? Sname varchar(20) NOT NULL,????????????????????

????????? Ssex? CHAR(2) ,???????????????

????????? Sage? SMALLINT,

????????? Sdept? CHAR(15) ,

????????? UNIQUE(Sname),

????????? CHECK (Ssex IN (‘男’,‘女’) )

);

?

CREATE TABLE? Course

?(???? Cno ?char(4) ,

??????? Cname? varchar(40),???????????

??????? Cpno? char(4)? REFERENCES? Course(Cno) ,

??????? Ccredit? int,

??????? Primary Key(Cno)

?);

CREATE TABLE? SC

?????? (Sno? CHAR(9) REFERENCES Student(Sno) ,

?????? Cno? CHAR(4),?

?????? Grade INT DEFAULT 0,

?????? PRIMARY KEY (Sno,Cno),?

Constraint FK_sc_cno? foreign key (cno) references course(cno)

);

?二、約束類型

(1) PRIMARY KEY約束

(2)NULL/NOT NULL約束

(3)UNIQUE約束

(4) CHECK完整性約束

???????? 檢查字段值所允許的范圍

(5) FOREIGN KEY約束

(6)DEFAULT 約束

????????? 如果用戶在插入新行時沒有顯示為列提供數據,系統將默認值賦給該列

?

三、數據類型:

SQL中域的概念用數據類型來實現

數據類型

含義

CHAR(n)

長度為n的定長字符串

VARCHAR(n)

最大長度為n的變長字符串

INT

長整數(也可以寫作INTEGER

SMALLINT

短整數

NUMERIC(p,d)

定點數,由p位數字(不包括符號、小數點)組成,小數后面有d位數字

REAL

取決于機器精度的浮點數

Double Precision

取決于機器精度的雙精度浮點數

FLOAT(n)

浮點數,精度至少為n位數字

DATE

日期,包含年、月、日,格式為YYYY-MM-DD

TIME

時間,包含一日的時、分、秒,格式為HH:MM:SS

?

四、修改基本表

ALTER TABLE <表名>

??? [ADD <新列名><數據類型>[ <完整性約束定義]]

??? [ ADD? <表級完整性約束> ]

??? [ ALTER COLUMN<列名> <數據類型> ]]

??? [ DROP <完整性約束定義> ]

  • 注意:

1. 使用ADD方式增加的新列自動填充NULL值,所以當表中有數據時增加的新列不能指定NOT NULL約束

例句:

向Student表增加“入學時間”列,其數據類型為日期型。

?ALTER TABLE Student ADD S_entrance Datetime; ?//加列

ALTER TABLE Student ALTER COLUMN Sage INT; ? //修改列

ALTER TABLE Course ADD UNIQUE(Cname); ? ? ?//加約束

  • 表中有數據時:

????? Alter Table student ADD scome date default to_date('2008-01-01','yyyy-mm-dd');

?

五、刪除基本表

DROP TABLE <表名>[RESTRICT| CASCADE];

?1)?RESTRICT:刪除表是有限制的。

  • 欲刪除的基本表不能被其他表的約束所引用
  • 如果存在依賴該表的對象,則此表不能被刪除

?2) ?CASCADE:刪除該表沒有限制。

  • 在刪除基本表的同時,相關的依賴對象一起刪除

例句:

DROP TABLE? Student? CASCADE ;

?

總結

以上是生活随笔為你收集整理的创建、修改、删除表总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。