SQL入門經典(第5版)第二章 定義資料結構

2021-08-07 17:43:35 字數 2223 閱讀 5385

本章的重點包括:

概述表的底層資料

簡介基本的資料型別

使用不同型別的資料

展示不同資料型別之間的區別

2.1 資料是什麼

資料是乙個資訊集合,以某種資料型別儲存在資料庫裡。

資料型別用於指定特定列所包含資料的規則,它決定了資料儲存在列裡的方式,包括分配給列的寬度,以及值是否可以是字母、數字、日期和時間等。

2.2 基本資料型別

最基本的資料型別是:

字串型別;

數值型別;

日期和時間型別;

2.2.1 定長字串

sql定長字串的標準:character(n) n是乙個數字,定義了字段裡能夠儲存的字元數量。

2.2.2 變長字串

sql變長字串的標準:character varying(n) n是乙個數字,定義了字段裡能夠儲存的最多字元數量。

常見的變長字串資料型別有varchar、varinary和varchar2。

varchar是ansi標準,microsoft sql server和mysql也使用它;

varinary和varchar2都是由oracle使用的。

2.2.3 大物件型別

常見的有blob和text資料型別。

blob是二進位製大物件,它的資料是很長的二進位制字串(位元組串)。blob適合在資料庫裡儲存二進位制**檔案,比如影象和***。

text資料型別是一種長字串型別,可以被看作是乙個大varchar欄位,通常用於在資料庫裡儲存大字符集,比如部落格站點的html輸入。在資料庫裡面儲存這型別的資料可以實現站點的動態更新。

2.2.4 數值型別

一般包括number、integer、real、decimal等

下面是sql數值的標準:

bit(n)

bit varying(n)

decimal(p,s)

integer

smallint

bigint

float(p,s)

double precision(p,s)

real(s)

p表示欄位的最大長度

s表示小數點後面的位數

sql實現中乙個通用的數值型別是numeric。

2.2.5 小數型別

p表示有效位數,s表示標度

decimal(p,s)

2.2.6 整數

整數是不包含小數點的數值(包括正數和負數)。

2.2.7 浮點數

浮點數是有效位數和標度都可變並且沒有限制的小數數值,任何有效位數和索菲亞都是可以的。

real代表單精度浮點數值(有效位數1-21)

double precision表示雙精度浮點數值。(有效位數22-53)

2.2.8 日期和時間型別

標準sql支援datetime資料型別,它包括以下型別:

date

time

datetime

timestamp

datetime資料型別的元素包括:

year

month

day

hour

minute

second

2.2.9 直義字串

直義字串就是一系列字元。

2.2.10 null資料型別

兩種用法

null (關鍵字null本身)

『null』 包含字元n-u-l-l直義字串

在使用null資料型別時,需要明確它表示相應字段不是必須要輸入資料的。如果某個字段必須包含資料,就把它設定為notnull。只要欄位有可能不包含資料,最好就把它設定為null。

2.2.11 布林值

布林值的取值範圍是true、false和null,用於進行資料比較。

2.2.12 自定義型別

自定義型別是由使用者定義的型別,它允許使用者根據已有的資料型別來定製自己的資料型別,從而滿足資料儲存的需要。

2.2.13 域

域是能夠被使用的有效資料型別的集合。域與資料相關聯,從而只接受特定的資料。在域建立之後,我們可以向域新增約束。

演算法競賽入門經典(第2版)第二章習題(Java)

引用的包 中並沒有寫,在eclipse下按shift ctrl o即可匯入包 習題 2 1 水仙花數 daffodil public static void daffodil 習題 2 2 韓信點兵 hanxin public static void hanxin str str case n no...

演算法競賽入門經典 第2版 課後習題 第二章

c 語言版實現 習題2 1 水仙花數 daffodil 輸出100 999中的所有水仙花數。若3位數abc滿足abc a3 b3 c 3abc a b c abc a3 b3 c3,則稱其為水仙花 數。例如153 1 3 53 33153 1 5 3 153 13 53 33,所以153是水仙花數。...

C PRIMER第5版第二章自做

2.1.範圍不一樣 範圍不一樣,乙個可以存負數,乙個不可以 精度不同 2.2.double,需要小數需要精度,運算也快 2.3u2 u 32 u u2 4294967264 i2 i 32 i i2 32 i u 0 u i 0 2.5a 字元a,寬字元a,字串a,寬字串a b 整型10,無符號整型...