時間緊張,先記一筆,后續優化與完善。
????
???? 一、數據類型(用常)
???? ?
????
數據類型 |
義含 |
CHAR(n) |
長度為n的定長字符串 |
VARCHAR(n) |
大最長度為n的變長字符串 |
INT |
存儲正負整數(-2E31~2E32) |
SMALLINT |
存儲正負整數(-32768~32767) |
TINYINT |
存儲小范圍的正整數(0~255) |
NUMERIC(p,d) |
定點數,由p位數字(不含包號符、小數點)成組,小數點面后d位數字 |
FLOAT(n) |
浮點數,精度最少為n位數字 |
DATETIME |
日期 |
?
???? 二、完整性約束
????1、說明
????①不允許取值空(NOT NULL)
????②列值一唯(UNIQUE)
????③指定列值該應滿意的條件(CHECK)
????④省缺(默許)(DEFAULT)
?
???? 三、創立表
????1、法語
???? CREATE TABLE <表名>
???? (<列名> <數據類型>[ <列級完整性約束條件> ]
???? [,<列名> <數據類型>[ <列級完整性約束條件>] ]
???? ?…
???? [,<表級完整性約束條件> ] );
?
????注:如果完整性約束條件涉及到該表的多個性屬列,則必須義定在表級上,否則既可以義定在列級也可以義定在表級。
????2、例實
????①
???? create table 先生表
???? ( 學號 varchar ( 6 ) primary key ,
???? 姓名 varchar ( 10 ),
???? 性別 varchar ( 2 ) default ' 男 ' ,
???? 出生日期 datetime ,
???? 政治面貌 varchar ( 10 ) default ' 黨員 ' ,
???? 籍貫 varchar ( 10 ),
???? 在所系 varchar ( 4 ))
????②
???? create table 選課表 (
???? 學號 varchar ( 6 ) primary key ,
???? 課程號 varchar ( 4 ),
???? 成就 tinyint check ( 成就 between 0 and 100 ),
???? foreign key ( 學號 ) references 先生表 ( 學號 ))
????③
???? create type address from char ( 40 ) null
???? ?
???? create table student
???? ( Sno char ( 8 ) primary key ,
???? Sname char ( 8 ) not null,
???? Ssex char ( 6 ) not null,
???? Sbirthday datetime not null,
???? Sage as year ( getdate ())- year ( Sbirthday ),
???? Saddress address ,
???? Sphoto image ,
???? Smemory varchar ( 100 ))
?
???? 四、修改表
????1、法語
????(1)加增新列
???? ALTER TABLE 表名
???? ADD 列名 數據類型 完整性約束
????(2)修改列的類型
???? ALTER TABLE 表名????
???? ALTER COLUMN 列名 數據類型
????(3)加增約束條件
???? ALTER TABLE 表名
???? ADD 完整性約束
????(4)刪除指定列
???? ALTER TABLE 表名???
???? DROP COLUMN 列名
????(5)刪除指定的完整性約束條件
???? ALTER TABLE 表名
???? DROP 完整性約束名
????(6)修改列名
???? exec sp_rename 表名.列名', '表名.新列名',’column’
????(7)修改表名
???? exec sp_rename 就表名', '新表名 '
????2、例實
????(1)加增新列
????①給先生表加添新字段‘手機號碼’,并設置一唯值約束
???? alter table 先生表
???? add 手機號碼 char ( 11 ) unique
????(2)修改列的類型
????①將先生表的‘手機號碼’字段長度為改11
???? alter table 先生表
???? alter column 手機號碼 char ( 11 )
????(3)加增約束條件
????①給先生表的籍貫字段加添默許值約束,默許值為“陜西”
???? alter table 先生表
???? add default ' 陜西 ' for 籍貫
????②對StudentCourse表的Score行進CHECK約束:Score必須在至之間。
???? alter table StudentCourse
???? add check ( Score >= 0 and Score <= 100 )
????③對Teaching表義定外鍵約束
???? alter table Teaching
???? add foreign key ( Tno ) references TeacherInfo ( Tno )
????(4)刪除指定列
????①刪除先生表的‘手機號碼’字段
???? alter table 先生表
???? drop column 手機號碼
????(5)修改列名
????①把先生表的“姓名”列改名為“先生姓名”
???? exec sp_rename ' 先生表 . 姓名 ' , ' 先生姓名 ' , 'column'
????(6)修改表名
????①把“先生表”改名為“studentinfo”
???? exec sp_rename ' 先生表 ' , 'studentinfo'
?
???? 五、刪除表
????1、法語
????(1)刪除表的記載,保存表的結構,寫日記可以恢復
????①法語: DELETE FROM <表名>[WHERE <條件>]
????(2)刪除表的全部記載,保存表的結構,不寫日記,沒法恢復,速度快
????①法語: TRUNCATE TABLE <表名>
????(3)刪除表的結構和數據
????①法語: DROP TABLE <表名>[RESTRICT| CASCADE]
????②注解:
????l? RESTRICT:刪除表是有制限的。欲刪除的基本表不能被其他表的約束所引用。若存在賴依該表的象對,則此表不能被刪除。
????l? CASCADE:刪除該表沒有制限。在刪除基本表的同時,相干的賴依象對一同刪除。
????2、例實
????①刪除選課表
???? drop table 選課表
????②刪除選課表的內容
????方法一:
???? truncate table student
????方法二:
???? delete from student
?
?
文章結束給大家分享下程序員的一些笑話語錄: 小沈陽版程序員~~~ \n程序員其實可痛苦的了......需求一做一改,一個月就過去了;嚎~ \n需求再一改一調,一季度就過去了;嚎~ \n程序員最痛苦的事兒是啥,知道不?就是,程序沒做完,需求又改了; \n程序員最最痛苦的事兒是啥,知道不? 就是,系統好不容易做完了,方案全改了; \n程序員最最最痛苦的事兒是啥,知道不? 就是,系統做完了,狗日的客戶跑了; \n程序員最最最最最痛苦的事兒是啥,知道不? 就是,狗日的客戶又回來了,程序給刪沒了!
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
