創建、修改、刪除表總結

一、創建表

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 ;

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/458943.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/458943.shtml
英文地址,請注明出處:http://en.pswp.cn/news/458943.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux 編譯查看鏈接庫詳情,Linux環境下的編譯,鏈接與庫的使用

鏈接參數控制鏈接器中提供了-dn -dy 參數來控制使用的是動態庫還是靜態庫&#xff0c;-dn表示后面使用的是靜態庫&#xff0c;-dy表示使用的是動態庫例:g -Lpath -Wl,-dn -lx -Wl,-dy -lpthread 這樣如果在path路徑下有libx.so和libx.a這個時候只會用到 libx.a.注意在最后的地…

在C++中用虛函數的作用是什么? 為什么要用到虛函數?

***************************************************更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com***************************************************虛函數聯系到多態&#xff0c;多態聯系到繼承。所以本文中都是在繼承層次上做文章。沒了繼…

mysql 主主互備實現

今天星期天&#xff0c;么事就寫個MYSQL的主主架構的博客&#xff0c;原理如下圖&#xff0c;不是我畫的網上找的。主機作用操作系統mysql版本對應IPvip數據庫mysqlA(主)centos6.4mysql 5.5.48192.168.48.129192.168.48.126mysqlB(備)centos6.4mysql 5.5.48192.168.48.132一&am…

Linux Deepin 版本大全,Deepin下載-Deepin linuxv20.0 官方版下載-6188手游網

Deepin linux安裝準備一&#xff1a;為 Deepin 留出硬盤空間以便安裝。1.打開磁盤管理(Windows 徽標上右鍵單擊&#xff0c;選擇磁盤管理)。2.選中一個分區(空閑空間大于 30G)&#xff0c;我選擇的是 C 盤&#xff0c;因為是固態硬盤所以安裝啟動會快很多。磁盤 1 的 200G 分區…

動手實踐 Linux VLAN - 每天5分鐘玩轉 OpenStack(13)

本節我們來看如何在實驗環境中實施和配置如下 VLAN 網絡 配置 VLAN 編輯 /etc/network/interfaces&#xff0c;配置 eth0.10、brvlan10、eth0.20 和 brvlan20。 下面用 vmdiff 展示了對 /etc/network/interfaces 的修改 重啟宿主機&#xff0c;ifconfig 各個網絡接口 用 brct…

Socket的3次握手鏈接與4次斷開握手

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 連接握手&#xff1a; 1.客戶端發送建立連接請求 &#xff08;發送請求&#xff09;2.…

Linux桌面需要強制訪問控制,RHCSA 系列(十三): 在 RHEL 7 中使用 SELinux 進行強制訪問控制...

RHCSA 認證&#xff1a;SELinux 精要和控制文件系統的訪問盡管作為第一級別的權限和訪問控制機制是必要的&#xff0c;但它們同樣有一些局限&#xff0c;而這些局限則可以由安全增強 Linux(Security Enhanced Linux&#xff0c;簡稱為 SELinux)來處理。這些局限的一種情形是&am…

使用canvas實現擦玻璃效果

體驗效果:http://hovertree.com/texiao/html5/25/效果圖&#xff1a;代碼如下&#xff1a; <!DOCTYPE html> <html> <head lang"zh"> <meta name"viewport" content"initial-scale1.0, maximum-scale1.0, user-scalableno, widt…

如何計算時間復雜度

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 求解算法的時間復雜度的具體步驟是&#xff1a; ⑴ 找出算法中的基本語句&#xff1b;…

linux顯示系統信息軟件下載,linux查看系統信息軟件安裝信息命令學習筆記

查看LINUX安裝版本[rootlocalhost etc]# unameLinux[rootlocalhost etc]# uname -aLinux localhost.localdomain 2.6.32-279.11.1.el6.i686 #1 SMP Tue Oct 16 14:40:53 UTC 2012 i686 i686 i386 GNU/Linux[rootlocalhost etc]# cat /proc/versionLinux version 2.6.32-279.11.…

Bzoj 2662: [BeiJing wc2012]凍結 dijkstra,堆,分層圖,最短路

2662: [BeiJing wc2012]凍結 Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 647 Solved: 348[Submit][Status][Discuss]Description “我要成為魔法少女&#xff01;” “那么&#xff0c;以靈魂為代價&#xff0c;你希望得到什么&#xff1f;” “我要將有關魔法和奇…

[轉]opencv學習資料

轉自&#xff1a;http://blog.csdn.net/poem_qianmo/article/details/20537737 1&#xff1a;Mat imread(const string& filename, intflags1 ); eg: Mat image0imread("dota.jpg",CV_LOAD_IMAGE_ANYDEPTH | CV_LOAD_IMAGE_ANYCOLOR);//載入最真實的圖像 ge1i…

linux servlet 亂碼問題,Servlet一次亂碼排查后的總結

由來在寫一個小小的表單提交功能的時候&#xff0c;出現了亂碼&#xff0c;很奇怪request上來的參數全部是亂碼&#xff0c;而從數據庫查詢出來的中文顯示到頁面正常&#xff0c;鎖定肯定是request對象那里出了問題。后來經過排查&#xff0c;發現是我封裝的框架中出了問題&…

C/C++回調函數

*************************************************** 更多精彩&#xff0c;歡迎進入&#xff1a;http://shop115376623.taobao.com *************************************************** 對于很多初學者來說&#xff0c;往往覺得回調函數很神秘&#xff0c;很想知道回調函數…

Linux 命令[2]:mkdir

make directories mkdir -p [目錄名] -p 遞歸創建 [rootlocalhost ~]# mkdir -p test [rootlocalhost ~]# ls anaconda-ks.cfg install.log install.log.syslog test 當然只創建一個目錄 -p 是可以省略的 注&#xff1a;如果創建多級目錄沒有 -p 會報錯 如&#xff1a; [roo…

jQuery動態設置樣式List item

前段時間&#xff0c;Insus.NET有修改一個功能《激活當前視圖菜單高亮呈現》http://www.cnblogs.com/insus/p/5287093.html 今天Insus.NET想改用另外一個方法來實現&#xff0c;使用jQuery。在ASP.NET MVC 環境實現&#xff1a; 代碼&#xff1a; <ul><li><a hr…

linux telnet 權限,允許telnet 通過root用戶進行訪問

允許telnet 通過root用戶進行訪問RHEL6:[rootclovem ~]# yum install telnet-server -y //安裝telnet服務端[rootclovem ~]# cat /etc/xinetd.d/telnet //開啟telnet的托管服務# default: on# description: The telnet server serves telnet sessions; it uses \#unencrypt…

TOUGHRADIUS 項目介紹

2019獨角獸企業重金招聘Python工程師標準>>> TOUGHRADIUS 項目介紹 ToughRADIUS是一個開源的Radius服務軟件&#xff0c;采用于 Apache License 2.0 許可協議發布&#xff0c;從創立之日起&#xff0c;他的宗旨就是服務于中小微ISP&#xff0c;讓運營變得更簡單。 T…

轉:Jmeter 用戶思考時間(User think time),定時器,和代理服務器(proxy server)...

在負載測試中需要考慮的的一個重要要素是思考時間&#xff08;think time&#xff09;&#xff0c; 也就是在兩次成功的訪問請求之間的暫停時間。 有多種情形揮發導致延遲的發生&#xff1a; 用戶需要時間閱讀文字內容&#xff0c;或者填表&#xff0c;或者查找正確的鏈接等。未…

linux sql語句傳參數,Linux/Unixshell參數傳遞到SQL腳本

在數據庫運維的過程中&#xff0c;Shell 腳本在很大程度上為運維提供了極大的便利性。而shell 腳本參數作為變量傳遞給SQL以及SQL腳本也是DB在數據庫運維的過程中&#xff0c;Shell 腳本在很大程度上為運維提供了極大的便利性。而shell 腳本參數作為變量傳遞給SQL以及SQL腳本也…