1. 程式人生 > >SQL sever 基礎入門(一)

SQL sever 基礎入門(一)

//建立一個表

create table <tableName>(  <colName>  <datatype> <constraint>,
……
  );
alter table <tableName> add <colName> <datatype>//新增列
alter table <tableName> drop column <colName>//刪除列


//datatype

int,smallint,tinyint,bigint  數 4位元組、2位元組、1位元組、8位元組 
char(size)       容納固定長度的字串,
varchar(size)     容納可變長度的字串,
date(yyyymmddd)    容納日期。
numeric(p,d)由p位數字(不包含符號、小數點)組成,小數點後面有d位數字,小數部分未滿d位時自動補0,最大38位
decimal(p,d),dec(p,d)同numeric
float(n)可選精度浮點數,精度至少為n位數 
real近似浮點數 類似float
boolean布林值true或false
date日期輸入(注意輸入形式為yyyy-mm-dd)
timestamp時間戳(不需要輸入,電腦隨機生成,資料更新時改變)
time時間(格式為HH:MM:SS)
booleansql sever 沒有布林型別 可以用bit代替


//constraint

not null                  約束強制列不接受 NULL 值。
unique                     約束唯一標識資料庫表中的每條記錄。
primary key              primary key 約束唯一標識資料庫表中的每條記錄(primary key約束的列必須是not null)
foreign key             一個表中的 fpreign key 指向另一個表中的 primary key。
CHECK                       約束用於限制列中的值的範圍。
DEFAULT                    約束用於向列中插入預設值,未宣告時改用預設值


/*not null*/
alter table <tableName> alter column <colName> <datatype> not null//新增“不可空”屬性
alter table <tableName> alter column <colname> <datatyep> null  //撤回“不可空”屬性
 
/*unique*/
alter table <tableName> add unique(<ColName>)   //後設置unique
alter table <tableName> add constraint <constraintName> unique(<ColName>) //命名unique約束
alter table <tableName> drop constraint <constraintName>  //撤銷unique約束

/*primary key*/
alter table <tableName> add primary key(<ColName>) //後設置primary key
alter table <tableName> add constraint <constraintName> primary key(<ColName>) //命名primary key約束
alter table <tableName> drop constraint <constraintName>  //撤銷primary key約束

/*foreign key*/
alter table <fTableName> add constraint <constraintName> foreign key(<fColName>) references <kTableName>(<kColName>) //後新增foreign key
alter table <tableName> drop constraint <constraintName>  //刪除foreign key

//check
alter table <tableName> add constraint <constraintName> check(<comdition> and <condition>)
alter table <tableName> drop constraint <constraintName>

//default
alter table <tableName> add constraint <constraintName> default <value> for <comdition>
alter table <tableName> drop constraint <constraintName>


___________________________________________________________________________________________________________________________________________________________________

//訓練程式碼

create table test( 
  col1 smallint not null unique,
  col2 int not null,
  col3 char(50) not null,
  col4 numeric(10,3),
  col5 decimal(5,2) not null,
  );


alter table test alter column col4 char not null
alter table test alter column col5 decimal null
alter table test add unique (col2)
alter table test add constraint uq_col2 unique(col2)
alter table test drop constraint uq_col2


create table orders(
id_O int not null primary key,
Id_P smallint FOREIGN KEY REFERENCES test(col1),
City varchar(255) DEFAULT 'Sandnes',
col1 char(10),
col2 varchar(20),


)
 select*from orders


alter table test add constraint ord primary key (id_0)
alter table test drop constraint ord


alter table orders add constraint ss foreign key(Id_P) references test(col1)
alter table orders drop constraint ss
alter table orders add constraint che check(id_O>0 and Id_P<2)
alter table orders drop constraint che


alter table test add col6 timestamp
alter table test drop column col3
select*from test
alter table test add col3 varchar(20)
alter table test add constraint de default 1 for col6
alter table test drop constraint de




————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

//引用文章


https://www.cnblogs.com/zhengyunjia/archive/2009/11/12/1601549.html(SqlServer中decimal(numeric )、float 和 real 資料型別的區別[轉])
https://www.cnblogs.com/cy920/p/5854005.html(SQL Server資料庫(時間戳timestamp)型別)
http://blog.csdn.net/evilcry2012/article/details/46684323(sqlserver 語句中的default 是怎麼用的)\
http://blog.csdn.net/csdn9_14/article/details/52612466(SQL Server 建立表及其約束條件)











相關推薦

SQL sever 基礎入門

//建立一個表create table <tableName>(  <colName>  <datatype> <constraint>,……   );alter table <tableName> add <

PHP基礎入門

ipa arr 客戶 默認值 unset 他會 blog 不能 fine php現在很火的後臺開發語言,它融合了許多其他的語言,所以它的靈活性不用多說.話不多說,我們開始php的學習吧! 整數類型:$變量名=132;浮點類型:$變量名=1.32;字符串類型:$變量名="

爬蟲基礎入門

第三部分 tps 百度首頁 控制 set 協議 debug AD 主機 1 URL含義 URL的格式由三部分組成: ①第一部分是協議(或稱為服務方式)。 ②第二部分是存有該資源的主機IP地址(有時也包括端口號)。 ③第三部分是主機資源的具體地址,如目錄和文件名等。 2 分

canvas基礎入門繪制線條、三角形、七巧板

java i++ rip BE lin scrip 瀏覽器 返回 函數 復雜的內容都是有簡單的線條結合而成的,想要繪制出復雜好看的內容先從畫直線開始 canvas繪制直線先認識幾個函數 beginPath();開始一條路徑,或重置當前的路徑 moveTo(x,y);用於規定

java程式設計師菜鳥進階十三linux基礎入門vmvare下安裝linux RedHat圖解超詳細篇

對於linux,我從大二就想學習一下,但一直苦於無從下手,所以一直拖到現在,鑑於筆者瞭解很多人在linux入門的困難在何處,所以我認為本套入門基礎文章還是挺適合想學習linux的朋友,本系列文章大約十篇文章左右,近期會不斷更新下來,沒有linux基礎但又想學習linux的朋友可以關注一下本系列

PL/SQL程式設計基礎知識

--PL/SQL變數的宣告和賦值 declare v_ename varchar2(30);--定義變數 begin v_ename:='&請輸入名字';--接受鍵盤輸入 dbms_output.put_line(v_ename); end; --put_line :列印換行

1 小時 SQL 極速入門

前幾天,我在論壇溜達。看到一個人發帖說 做了6年的企業級開發,總是被網際網路行業的人認為沒技術含量,不就是CRUD麼 先解釋下 CRUD 是什麼。CRUD 就是我們常說的增刪改查(Create,Retrieve,Update,Delete) 其實,對這個問題,我也思考過。我們所有的業務流程,最終

docker容器技術基礎入門

目錄   一、什麼是容器 二、虛擬化的實現 1、主機級虛擬化 2、容器級別虛擬化 2.1、Linux Namespaces 2.2、Control Groups(CGroups)的作用 2.2.1、CGroups的功能 2.3、LXC(

Swift專欄:Swift基礎入門

Swift 介紹 簡介 Swift 語言由蘋果公司在 2014 年推出,用來撰寫 OS X 和 iOS 應用程式2014 年,在 Apple WWDC 釋出 幾家歡喜,幾家愁愁者:只學Object-C

Sql小白入門概述

    雖然接觸Sql的時間挺長了,但是一直都沒有對Sql整理、總結,許多東西都是一知半解,所以將筆者學習Sql的筆記,整理為部落格,對自己也算是一個歸納總結的過程,如果有錯誤之處,歡迎指出!開始博文!本系列博文內容摘錄自《Sql入門經典》,在此向該書的作者表示感謝!   

Winform基礎入門

l概念和基礎 l常用的控制元件及其作用 l向文字框新增時間和控制元件ComboBox lMessageBox類和窗體的一些屬性事件 lTab鍵聚焦設定 lASCII碼錶中需要記憶的部分 l為更好的使用者體驗而設計(範例) 1.概念和基礎: Winform:Windows

微信小程式基礎入門:小程式介面介紹&創造自己的第一個小程式

承接小程式配置之後 ,先對小程式開發軟體的介面進行介紹: 然後進入第一個小程式的構造:獲取使用者登陸資訊 通過左上角的 “+”新增頁面 然後建立第一個功能頁面 然後頁面構造完成:各部分程式碼: app.

Spring基礎入門

註解 一份 req 遠程 對象創建 構造方法 prototype 創建對象 cto 一、Spring概念 1.什麽是Spring ??Spring是一個開源框架,它由Rod Johnson創建。它是為了解決企業應用開發的復雜性而創建的。Spring使用基本的JavaBean

Apache Flink 零基礎入門基礎概念解析

Apache Flink 的定義、架構及原理     Apache Flink 是一個

WEB應用之httpd基礎入門

  前文我們聊了下http協議web服務的一些常識和httpd伺服器軟體三種響應模型的簡單介紹,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/12515075.html;今天我們來聊一聊httpd的一些常用配置;   httpd是一款歷史悠久的web伺服器軟體,現如今比

WEB快取系統之varnish基礎入門

  前文我們聊了下http協議裡的快取控制機制以及varnish架構元件介紹,回顧請參考https://www.cnblogs.com/qiuhom-1874/p/12620538.html;今天我們來聊一下怎樣配置使用varnish;   前邊我們說到過varnish有兩個配置檔案,一個是/etc/varn

Linux入門基礎命令

linux運維Linux入門基礎命令內部命令常駐內存:由shell自帶的,而且通過某命令形式提供help:獲取所有內部命令列表(下圖只截取了一部分)enable COMMAND:執行此命令可以啟用COMMAND命令enable -n COMMAND:執行此命令可以禁用COMMAND命令enable -n:查看

Kotlin快速入門基礎

一個表 range fix font 有一個 get() nta 兼容 des Kotlin快速入門(一)基礎 Kotlin學習筆記,主要記錄與Java不同的地方。 1 基本類型 1.1 數字 1)數字沒有隱式擴寬轉換 val b: Byte = 1 // OK, 字面值

Netty入門:零基礎“HelloWorld”詳細圖文步驟

-a 多線程 obj chan blog 接口文檔 syn 幫助 final 因為接下來的項目要用到netty,所以就了解一下這個程序,奈何網上的教程都是稍微有點基礎的,所以,就寫一篇對於netty零基礎的,順便也記錄一下。 先扔幾個參考學習的網頁: netty 官方

Java的執行機制——有C++基礎的Java入門

前言:還是那句話,第一、凡是涉及到概念性內容的時候,我都會到官網去確認內容的真實性!第二、我喜歡偏向於原理學習。在 java介紹裡面,我認為知道這是一門完全面向物件的語言就足夠了。我的導師說C++是認為程式設計師是很強大的,開放了所有的功能許可權;Java是認為程式設計師不是那麼全能的