當前位置:首頁 » 編程語言 » datatypesql

datatypesql

發布時間: 2023-05-05 05:56:11

『壹』 sql 中的數據類型有那些請講明白些

這個太多了,推薦你還是看看Sql Sever 2000的基礎教程
數據類型
在 Microsoft® SQL Server™ 中,每個列、局部變數、表達式和參數都有一個相關的數據類型,這是指定對象可持有的數據類型(整型、字元、money 等等)的特性。SQL Server 提供系統數據類型集,定義了可與 SQL Server 一起使用的所有數據類型。下面列出系統提供的數據類型集。

可以定義用戶定義的數據類型,其是系統提供的數據類型的別名。有關用戶定義的數據類型的更多信息,請參見 sp_addtype 和創建用戶定義的數據類型。

當兩個具有不同數據類型、排序規則、精度、小數位數或長度的表達式通過運算符進行組合時:

通過將數據類型的優先順序規則應用到輸入表達式的數據類型來確定所得值的數據類型。有關更多信息,請參見數據類型的優先順序。

如果結果數據類型為 char、varchar、text、nchar、nvarchar 或 ntext,則結果值的排序規則由排序規則的優先順序規則決定。有關更多信息,請參見排序規則的優先順序。

結果的精度、小數位數及長度取決於輸入表達式的精度、小數位數及長度。有關更多信息,請參見精度、小數位數和長度。
SQL Server 為 SQL-92 兼容性提供了數據類型同義詞。有關更多信息,請參見數據類型同義詞。

精確數字
整數
bigint

從 -2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807) 的整型數據(所有數字)。

int

從 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型數據(所有數字)。

smallint

從 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型數據。

tinyint

從 0 到 255 的整數數據。

bit
bit

1 或 0 的整數數據。

decimal 和 numeric
decimal

從 -10^38 +1 到 10^38 –1 的固定精度和小數位的數字數據。

numeric

功能上等同於 decimal。

money 和 smallmoney
money

貨幣數據值介於 -2^63 (-922,337,203,685,477.5808) 與 2^63 - 1 (+922,337,203,685,477.5807) 之間,精確到貨幣單位的千分之十。

smallmoney

貨幣數據值介於 -214,748.3648 與 +214,748.3647 之間,精確到貨幣單位的千分之十。

近似數字
float

浮點精度數字數據,有效值為:從 -1.79E + 308 到 -2.23E - 308,0 和 2.23E + 308 到 1.79E + 308。

real

浮點精度數字數據,有效值為:從 -3.40E + 38 到 -1.18E - 38,0 和 1.18E - 38 到 3.40E + 38。

datetime 和 smalldatetime
datetime

從 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和時間數據,精確到百分之三秒(或 3.33 毫秒)。

smalldatetime

從 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和時間數據,精確到分鍾。

字元串
char

固定長度的非 Unicode 字元數據,最大長度為 8,000 個字元。

varchar

可變長度的非 Unicode 數據,最長為 8,000 個字元。

text

可變長度的非 Unicode 數據,最大長度為 2^31 - 1 (2,147,483,647) 個字元。

Unicode 字元串
nchar

固定長度的 Unicode 數據,最大長度為 4,000 個字元。

nvarchar

可變長度 Unicode 數據,其最大長度為 4,000 字元。sysname 是系統提供用戶定義的數據類型,在功能上等同於 nvarchar(128),用於引用資料庫對象名。

ntext

可變長度 Unicode 數據,其最大長度為 2^30 - 1 (1,073,741,823) 個字元。

二進制字元串
binary

固定長度的二進制數據,其最大長度為 8,000 個位元組。

varbinary

可變長度的二進制數據,其最大長度為 8,000 個位元組。

image

可變長度的二進制數據,其最大長度為 2^31 - 1 (2,147,483,647) 個位元組。

其它數據類型
cursor

游標的引用。

sql_variant

一種存儲 SQL Server 支持的各種數據類型(text、ntext、timestamp 和 sql_variant 除外)值的數據類型。

table

一種特殊的數據類型,存儲供以後處理的結果集。

timestamp

資料庫范圍的唯一數字,每次更新行時也進行更新。

uniqueidentifier

全局唯一標識符 (GUID)。
回答者:wfchenjin - 大魔法師 九級 3-10 17:48

--------------------------------------------------------------------------------

SQL SERVER的數據類型

數據類弄是數據的一種屬性,表示數據所表示信息的類型。任何一種計算機語言都定義了自己的數據類型。當然,不同的程序語言都具有不同的特點,所定義的數據類型的各類和名稱都或多或少有些不同。SQLServer 提供了 25 種數據類型:
·Binary [(n)]
·Varbinary [(n)]
·Char [(n)]
·Varchar[(n)]
·Nchar[(n)]
·Nvarchar[(n)]
·Datetime
·Smalldatetime
·Decimal[(p[,s])]
·Numeric[(p[,s])]
·Float[(n)]
·Real
·Int
·Smallint
·Tinyint
·Money
·Smallmoney
·Bit
·Cursor
·Sysname
·Timestamp
·Uniqueidentifier
·Text
·Image
·Ntext (1)二進制數據類型

二進制數據包括 Binary、Varbinary 和 Image
Binary 數據類型既可以是固定長度的(Binary),也可以是變長度的。
Binary[(n)] 是 n 位固定的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4 個位元組。
Varbinary[(n)] 是 n 位變長度的二進制數據。其中,n 的取值范圍是從 1 到 8000。其存儲窨的大小是 n + 4個位元組,不是n 個位元組。
在 Image 數據類型中存儲的數據是以位字元串存儲的,不是由 SQL Server 解釋的,必須由應用程序來解釋。例如,應用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把數據存儲在 Image 數據類型中。 (2)字元數據類型

字元數據的類型包括 Char,Varchar 和 Text
字元數據是由任何字母、符號和數字任意組合而成的數據。
Varchar 是變長字元數據,其長度不超過 8KB。Char 是定長字元數據,其長度最多為 8KB。超過 8KB 的ASCII 數據可以使用Text數據類型存儲。例如,因為 Html 文檔全部都是 ASCII 字元,並且在一般情況下長度超過 8KB,所以這些文檔可以 Text 數據類型存儲在SQL Server 中。 (3)Unicode 數據類型

Unicode 數據類型包括 Nchar,Nvarchar 和Ntext
在 Microsoft SQL Server 中,傳統的非 Unicode 數據類型允許使用由特定字元集定義的字元。在 SQL Server安裝過程中,允許選擇一種字元集。使用 Unicode 數據類型,列中可以存儲任何由Unicode 標準定義的字元。在 Unicode 標准中,包括了以各種字元集定義的全部字元。使用Unicode數據類型,所戰勝的窨是使用非 Unicode 數據類型所佔用的窨大小的兩倍。
在 SQL Server 中,Unicode 數據以 Nchar、Nvarchar 和 Ntext 數據類型存儲。使用這種字元類型存儲的列可以存儲多個字元集中的字元。當列的長度變化時,應該使用Nvarchar 字元類型,這時最多可以存儲 4000 個字元。當列的長度固定不變時,應該使用 Nchar 字元類型,同樣,這時最多可以存儲4000 個字元。當使用 Ntext 數據類型時,該列可以存儲多於 4000 個字元。 (4)日期和時間數據類型

日期和時間數據類型包括 Datetime 和 Smalldatetime兩種類型
日期和時間數據類型由有效的日期和時間組成。例如,有效的日期和時間數據包括「4/01/98 12:15:00:00:00 PM」和「1:28:29:15:01AM 8/17/98」。前一個數據類型是日期在前,時間在後一個數據類型是霎時間在前,日期在後。在 Microsoft SQL Server中,日期和時間數據類型包括Datetime 和 Smalldatetime 兩種類型時,所存儲的日期范圍是從 1753 年 1 月 1 日開始,到9999 年12 月 31 日結束(每一個值要求 8 個存儲位元組)。使用 Smalldatetime 數據類型時,所存儲的日期范圍是 1900年 1 月 1日 開始,到 2079 年 12 月 31 日結束(每一個值要求 4 個存儲位元組)。
日期的格式可以設定。設置日期格式的命令如下:
Set DateFormat {format | @format _var|
其中,format | @format_var 是日期的順序。有效的參數包括 MDY、DMY、YMD、YDM、MYD 和 DYM。在默認情況下,日期格式為MDY。
例如,當執行 Set DateFormat YMD 之後,日期的格式為年 月 日 形式;當執行 Set DateFormat DMY 之後,日期的格式為日 月有年 形式 (5)數字數據類型

數字數據只包含數字。數字數據類型包括正數和負數、小數(浮點數)和整數
整數由正整數和負整數組成,例如 39、25、0-2 和 33967。在 Micrsoft SQL Server 中,整數存儲的數據類型是 Int,Smallint和 Tinyint。Int 數據類型存儲數據的范圍大於 Smallint 數據類型存儲數據的范圍,而 Smallint 據類型存儲數據的范圍大於Tinyint 數據類型存儲數據的范圍。使用 Int 數據狗昔存儲數據的范圍是從 -2 147 483 648 到 2 147 483 647(每一個值要求4個位元組存儲空間)。使用 Smallint 數據類型時,存儲數據的范圍從 -32 768 到 32 767(每一個值要求2個位元組存儲空間)。使用Tinyint 數據類型時,存儲數據的范圍是從0 到255(每一個值要求1個位元組存儲空間)。
精確小婁數據在 SQL Server 中的數據類型是 Decimal 和 Numeric。這種數據所佔的存儲空間根據該數據的位數後的位數來確定。
在SQL Server 中,近似小數數據的數據類型是 Float 和 Real。例如,三分之一這個分數記作。3333333,當使用近似數據類型時能准確表示。因此,從系統中檢索到的數據可能與存儲在該列中數據不完全一樣。 (6)貨幣數據表示正的或者負的貨幣數量 。

在 Microsoft SQL Server 中,貨幣數據的數據類型是Money 和 Smallmoney Money數據類型要求 8 個存儲位元組,Smallmoney 數據類型要求 4 個存儲位元組。 (7)特殊數據類型

特殊數據類型包括前面沒有提過的數據類型。特殊的數據類型有3種,即 Timestamp、Bit 和 Uniqueidentifier。
Timestamp 用於表示SQL Server 活動的先後順序,以二進投影的格式表示。Timestamp 數據與插入數據或者日期和時間沒有關系。
Bit 由 1 或者 0 組成。當表示真或者假、ON 或者 OFF 時,使用 Bit 數據類型。例如,詢問是否是每一次訪問的客戶機請求可以存儲在這種數據類型的列中。
Uniqueidentifier 由 16 位元組的十六進制數字組成,表示一個全局唯一的。當表的記錄行要求唯一時,GUID是非常有用。例如,在客戶標識號列使用這種數據類型可以區別不同的客戶。 2.用戶定義的數據類型

用戶定義的數據類型基於在 Microsoft SQL Server 中提供的數據類型。當幾個表中必須存儲同一種數據類型時,並且為保證這些列有相同的數據類型、長度和可空性時,可以使用用戶定義的數據類型。例如,可定義一種稱為 postal_code 的數據類型,它基於 Char 數據類型。
當創建用戶定義的數據類型時,必須提供三個數:數據類型的名稱、所基於的系統數據類型和數據類型的可空性。 (1)創建用戶定義的數據類型

創建用戶定義的數據類型可以使用 Transact-SQL 語句。系統存儲過程 sp_addtype 可以來創建用戶定義的數據類型。其語法形式如下:
sp_addtype {type},[,system_data_bype][,''null_type'']
其中,type 是用戶定義的數據類型的名稱。system_data_type 是系統提供的數據類型,例如 Decimal、Int、Char 等等。 null_type 表示該數據類型是如何處理空值的,必須使用單引號引起來,例如''NULL''、''NOT NULL''或者''NONULL''。
例子:
Use cust
Exec sp_addtype ssn,''Varchar(11)'',"Not Null''
創建一個用戶定義的數據類型 ssn,其基於的系統數據類型是變長為11 的字元,不允許空。
例子:
Use cust
Exec sp_addtype birthday,datetime,''Null''
創建一個用戶定義的數據類型 birthday,其基於的系統數據類型是 DateTime,允許空。
例子:
Use master
Exec sp_addtype telephone,''varchar(24),''Not Null''
Eexc sp_addtype fax,''varchar(24)'',''Null''
創建兩個數據類型,即 telephone 和 fax (2)刪除用戶定義的數據類型

當用戶定義的數據類型不需要時,可刪除。刪除用戶定義的數據類型的命令是 sp_droptype {''type''}。
例子:
Use master
Exec sp_droptype ''ssn''
注意:當表中的列還正在使用用戶定義的數據類型時,或者在其上面還綁定有默認或者規則時,這種用戶定義的數據類型不能刪除。

SQL SERVER的欄位類型說明

以下為SQL SERVER7.0以上版本的欄位類型說明。SQL SERVER6.5的欄位類型說明請參考SQL SERVER提供的說明。

欄位類型 描述
bit 0或1的整型數字
int 從-2^31(-2,147,483,648)到2^31(2,147,483,647)的整型數字
smallint 從-2^15(-32,768)到2^15(32,767)的整型數字
tinyint 從0到255的整型數字

decimal 從-10^38到10^38-1的定精度與有效位數的數字
numeric decimal的同義詞

money 從-2^63(-922,337,203,685,477.5808)到2^63-1(922,337,203,685,477.5807)的貨幣數據,最小貨幣單位千分之十
smallmoney 從-214,748.3648到214,748.3647的貨幣數據,最小貨幣單位千分之十

float 從-1.79E+308到1.79E+308可變精度的數字
real 從-3.04E+38到3.04E+38可變精度的數字

datetime 從1753年1月1日到9999年12日31的日期和時間數據,最小時間單位為百分之三秒或3.33毫秒
smalldatetime 從1900年1月1日到2079年6月6日的日期和時間數據,最小時間單位為分鍾

timestamp 時間戳,一個資料庫寬度的唯一數字
uniqueidentifier 全球唯一標識符GUID

char 定長非Unicode的字元型數據,最大長度為8000
varchar 變長非Unicode的字元型數據,最大長度為8000
text 變長非Unicode的字元型數據,最大長度為2^31-1(2G)

nchar 定長Unicode的字元型數據,最大長度為8000
nvarchar 變長Unicode的字元型數據,最大長度為8000
ntext 變長Unicode的字元型數據,最大長度為2^31-1(2G)

binary 定長二進制數據,最大長度為8000
varbinary 變長二進制數據,最大長度為8000
image 變長二進制數據,最大長度為2^31-1(2G)
回答者:mgc - 經理 五級 3-10 17:53

--------------------------------------------------------------------------------

表1顯示了數字數據類型;表2顯示了字元數據類型;表3顯示了日期和布爾數據類型。

表1 scalar types:numeric
datatype range subtypes description
binary_integer -214748-2147483647 natural
natural
npositive
positiven
signtype
用於存儲單位元組整數。
要求存儲長度低於number值。
用於限制范圍的子類型(subtype):
natural:用於非負數
positive:只用於正數
naturaln:只用於非負數和非null值
positiven:只用於正數,不能用於null值
signtype:只有值:-1、0或1.
number 1.0e-130-9.99e125 dec
decimal
double
precision
float
integeric
int
numeric
real
smallint 存儲數字值,包括整數和浮點數。可以選擇精度和刻度方式,語法:
number[([,])]。
預設的精度是38,scale是0.
pls_integer -2147483647-2147483647 與binary_integer基本相同,但採用機器運算時,pls_integer提供更好的性能 。

表2 字元數據類型
datatype rang subtype description
char 最大長度32767位元組 character 存儲定長字元串,如果長度沒有確定,預設是1
long 最大長度2147483647位元組 存儲可變長度字元串
raw 最大長度32767位元組 用於存儲二進制數據和位元組字元串,當在兩個資料庫之間進行傳遞時,raw數據不在字元集之間進行轉換。
longraw 最大長度2147483647 與long數據類型相似,同樣他也不能在字元集之間進行轉換。
rowid 18個位元組 與資料庫rowid偽列類型相同,能夠存儲一個行標示符,可以將行標示符看作資料庫中每一行的唯一鍵值。
varchar2 最大長度32767位元組 stringvarchar 與varchar數據類型相似,存儲可變長度的字元串。聲明方法與varchar相同

表3 date和boolean
datatype range description
boolean true/false 存儲邏輯值true或false,無參數
date 01/01/4712 bc 存儲固定長的日期和時間值,日期值中包含時間

『貳』 sql語句給表加欄位 sql語句欄位拼接

用sql語句在表中增加一個欄位

我來回答:

alter table rsda add column 獎金 int

或者

alter table rsda add 獎金 int

用sql語句在表中增加一個欄位

我來回答:

alter table rsda add column 獎金 int

或者

alter table rsda add 獎金 int

在數據表中添加一個欄位的SQL語句怎麼寫

通用式: alter table [表名] add [欄位名] 欄位屬性 default 預設值 default 是可選參數

增加欄位: alter table [表名] add 欄位名 *** allint default 0 增加數昌察字欄位,整型,預設值為0

alter table [表名] add 欄位名 int default 0 增加數字欄位,長整型,預設值為0

alter table [表名] add 欄位名 single default 0 增加數字欄位,單精度型,預設值為0

alter table [表名] add 欄位名 double default 0 增加數字欄位,雙精度型,物桐預設值為0

alter table [表名] add 欄位名 Tinyint default 0 增加數字欄位,位元組型,預設值為0

alter table [表名] add 欄位名 text [null] 增加備注型欄位,[null]可選參數

alter table [表名] add 欄位名 memo [null] 增加備注型欄位,[null]可選參數

alter table [表名] add 欄位名 varchar(N) [null] 增加變長文本型欄位大小為N(1~255)

alter table [表名] add 欄位名 char [null] 增加定長文本型欄位大小固定為255

alter table [表名] add 欄位名 Datetime default 函數增加日期型欄位,其中函數可以是now(),date()等,表示預設值

(上面都是最常用的,還有其他的屬性,可以參考下面的數據類型描述)

刪除欄位: alter table [表名] drop 欄位名

修改變長文本型欄位的大小:alter table [表名] alter 欄位名 varchar(N)

刪除表: drop table [表名]

創建表:

sql="CREATE TABLE [表名] ([欄位1,並設置為主鍵] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

"[欄位2] varchar(50),"&

"[欄位3] single default 0,"&

"[欄位4] varchar(100) null,"&

"[欄位5] *** allint default 0,"&

"[欄位6] int default 0,"&

"[欄位7] date default date(),"&

"[欄位8] int default 1)"

conn.execute sql

有null 的表示欄位允許零長

在數據表中添加一個欄位的SQL語句怎麼寫

通用式: alter table [表名] add [欄位名] 欄位屬性 default 預設值 default 是可選參數

增加欄位: alter table [表名] add 欄位名 *** allint default 0 增加數字欄位,整型,預設值為0

alter table [表名] add 欄位名 int default 0 增加數字欄位,長整型,預設值為0

alter table [表名] add 欄位名 single default 0 增加數字欄位,單精度型,預設值為0

alter table [表名] add 欄位名 double default 0 增加數字欄位,雙精度型,預設值為耐螞茄0

alter table [表名] add 欄位名 Tinyint default 0 增加數字欄位,位元組型,預設值為0

alter table [表名] add 欄位名 text [null] 增加備注型欄位,[null]可選參數

alter table [表名] add 欄位名 memo [null] 增加備注型欄位,[null]可選參數

alter table [表名] add 欄位名 varchar(N) [null] 增加變長文本型欄位大小為N(1~255)

alter table [表名] add 欄位名 char [null] 增加定長文本型欄位大小固定為255

alter table [表名] add 欄位名 Datetime default 函數增加日期型欄位,其中函數可以是now(),date()等,表示預設值

(上面都是最常用的,還有其他的屬性,可以參考下面的數據類型描述)

刪除欄位: alter table [表名] drop 欄位名

修改變長文本型欄位的大小:alter table [表名] alter 欄位名 varchar(N)

刪除表: drop table [表名]

創建表:

sql="CREATE TABLE [表名] ([欄位1,並設置為主鍵] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

"[欄位2] varchar(50),"&

"[欄位3] single default 0,"&

"[欄位4] varchar(100) null,"&

"[欄位5] *** allint default 0,"&

"[欄位6] int default 0,"&

"[欄位7] date default date(),"&

"[欄位8] int default 1)"

conn.execute sql

有null 的表示欄位允許零長

數據表(或稱表)是資料庫最重要的組成部分之一。資料庫只是一個框架,數據表才是其實質內容。根據信息的分類情況,一個資料庫中可能包含若干個數據表。

結構化查詢語言(英文簡稱:SQL)是一種特殊目的的編程語言,是一種資料庫查詢和程序設計語言,用於存取數據以及查詢、更新和管理關系資料庫系統;同時也是資料庫腳本文件的擴展名。

結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同 資料庫系統,,可以使用相同的結構化查詢語言作為數據輸入與管理的介面。結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。 1986年10月,美國國家標准協會對SQL進行規范後,以此作為關系式資料庫管理系統的標准語言(ANSI X3. 135-1986),1987年得到國際標准組織的支持下成為國際標准。結構化查詢語言有五種數據類型,字元型、文本型、數值型、邏輯型和日期型。

標簽:作文經典 上一篇:災字的成語 有災字的成語 下一篇:pns是什麼意思 是是什麼意思

向表裡增加一個欄位的 SQL 如何寫

如果要在數據表中添加一個欄位,應該如何表示呢?下面就為您介紹表添加欄位的SQL語句的寫法,希望可以讓您對SQL語句有更深的認識。

通用式:alter table [表名] add [欄位名]欄位屬性default預設值default是可選參數

增加欄位:alter table [表名] add欄位名 *** allint default 0增加數字欄位,整型,預設值為0

alter table [表名] add欄位名int default 0增加數字欄位,長整型,預設值為0

alter table [表名] add欄位名single default 0增加數字欄位,單精度型,預設值為0

alter table [表名] add欄位名double default 0增加數字欄位,雙精度型,預設值為0

alter table [表名] add欄位名Tinyint default 0增加數字欄位,位元組型,預設值為0

alter table [表名] add欄位名text [null]增加備注型欄位,[null]可選參數

alter table [表名] add欄位名memo [null]增加備注型欄位,[null]可選參數

alter table [表名] add欄位名varchar(N)[null]增加變長文本型欄位大小為N(1~255)

alter table [表名] add欄位名char [null]增加定長文本型欄位大小固定為255

alter table [表名] add欄位名Datetime default函數增加日期型欄位,其中函數可以是now(),date()等,表示預設值

(上面都是最常用的,還有其他的屬性,可以參考下面的數據類型描述)

刪除欄位:alter table [表名] drop欄位名

修改變長文本型欄位的大小:alter table [表名] alter欄位名varchar(N)

刪除表:drop table [表名]

創建表:

sql="CREATE TABLE [表名]([欄位1,並設置為主鍵] int IDENTITY(1,1)NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

"[欄位2] varchar(50),"&

"[欄位3] single default 0,"&

"[欄位4] varchar(100)null,"&

"[欄位5] *** allint default 0,"&

"[欄位6] int default 0,"&

"[欄位7] date default date(),"&

"[欄位8] int default 1)"

conn.execute sql

有null的表示欄位允許零長

sql server 中刪除表中的一個欄位,使用alter table語句

一、語法格式:alter table table_name dropcolumncol_name

二、參數說明:

table_name :表格的名稱

col_name:表格的欄位名稱

三、示例:

表格aaa結構如圖

刪除表格aaa中的欄位 h,SQL語句為:

1

altertableaaadropcolumnh;

如何用Sql語句添加欄位?

如果要在數據表中添加一個欄位,應該如何表示呢?下面就為您介紹表添加欄位的SQL語句的寫法,希望可以讓您對SQL語句有更深的認識。

*

通用式: alter table [表名] add [欄位名] 欄位屬性 default 預設值 default 是可選參數。

*

增加欄位: alter table [表名] add 欄位名 *** allint default 0 增加數字欄位,整型,預設值為0。

*

alter table [表名] add 欄位名 int default 0 增加數字欄位,長整型,預設值為0alter ;table [表名] add 欄位名 single default 0 增加數字欄位,單精度型,預設值為0alter ;table [表名] add 欄位名 double default 0 增加數字欄位,雙精度型,預設值為0alter ;table [表名] add 欄位名 Tinyint default 0 增加數字欄位,位元組型,預設值為0alter;

table [表名]add 欄位名 text [null] 增加備注型欄位,[null]可選參數alter;

table [表名]add 欄位名 memo [null] 增加備注型欄位,[null]可選參數;

alter table [表名] add 欄位名 varchar(N) [null] 增加變長文本型欄位大小為N(1~255);

alter table [表名] add 欄位名 char [null] 增加定長文本型欄位大小固定為255;

alter table [表名] add 欄位名 Datetime default 函數增加日期型欄位,其中函數可以是 now(),date()等,表示預設值;

PS:(上面都是最常用的,還有其他的屬性,可以參考下面的數據類型描述)

*

刪除欄位: alter table [表名] drop 欄位名,

修改變長文本型欄位的大小:alter table [表名] alter 欄位名 varchar(N)。

*

刪除表: drop table [表名]。

*

創建表:sql="CREATE TABLE [表名] ([欄位1,並設置為主鍵] int IDENTITY (1, 1) NOT NULL CONSTRAINT PrimaryKey PRIMARY KEY,"&

"[欄位2] varchar(50),"&;

"[欄位3] single default 0,"&;

"[欄位4] varchar(100) null,"&;

"[欄位5] *** allint default 0,"&;

"[欄位6] int default 0,"&;

"[欄位7] date default date(),"&;

"[欄位8] int default 1)";

conn.execute sql。

*

有null 的表示欄位允許零長。

如何使用SQL語句修改表的結構,比如添加欄位,修改欄位的類型

--表中添加欄位

ALTER TABLE table_name ADD column_name datatype

--刪除表中的列

ALTER TABLE table_name DROP COLUMN column_name

--修改欄位

ALTER TABLE table_name ALTER COLUMN column_name datatype

sql給表中某列數據同時加1的語句

update表名setjine=jine+1

sql增加一個欄位的sql語句怎麼寫

alter table 表名 ADD 欄位 類型 NOT NULL Default 0舉例:ALTER TABLE employee ADD spbh varchar(20) NOT NULL Default 0在表employee 中加入 spbh 類型是varchar大小20 不為空 默認值是0

在數據表中添加一個欄位的SQL語句怎麼寫

alter table 表名 add column 列名 類型(長度)

比如 alter table 學生表 add column 名字 varchar(60) ;

想加在username欄位後面可以在後面在加上 after username,否則就是加在最後面的位置了。

alter table `0902` add column 名字 varchar(60) after username

標簽:作文經典 上一篇:災字的成語 有災字的成語 下一篇:pns是什麼意思 是是什麼意思

『叄』 PL/SQL開發中動態SQL的使用方法

內容摘要 在PL/SQL開發過程中 使用SQL PL/SQL可禪仔以實現大部份的需求 但是在某些特殊的情況下 在PL/SQL中使用標準的SQL語句或DML語句不能實現自己的需求 比如需要動態建表或某個不確定的操作需要動態正宏執行 這就需要使用動態SQL來實現 本文通過幾個實例來詳細的講解動態SQL的使用 本文適宜讀者范圍 Oracle初級 中級 系統環境 OS windows Professional (英文版)Oracle 正文 一般的PL/SQL程序設計中 在DML和事務控制的語句中可以直接使用SQL 但是DDL語句及系統控制語句卻不能在PL/SQL中直接使用 要想實現在PL/SQL中使用DDL語句及系統控制語句 可以通過使用動態SQL來實現 首先我們應該了解舉襲冊什麼是動態SQL 在Oracle資料庫開發PL/SQL塊中我們使用的SQL分為 靜態SQL語句和動態SQL語句 所謂靜態SQL指在PL/SQL塊中使用的SQL語句在編譯時是明確的 執行的是確定對象 而動態SQL是指在PL/SQL塊編譯時SQL語句是不確定的 如根據用戶輸入的參數的不同而執行不同的操作 編譯程序對動態語句部分不進行處理 只是在程序運行時動態地創建語句 對語句進行語法分析並執行該語句 Oracle中動態SQL可以通過本地動態SQL來執行 也可以通過DBMS_SQL包來執行 下面就這兩種情況分別進行說明 一 本地動態SQL 本地動態SQL是使用EXECUTE IMMEDIATE語句來實現的 本地動態SQL執行DDL語句 需求 根據用戶輸入的表名及欄位名等參數動態建表 create or replace procere proc_test(table_name in varchar 表名field in varchar 欄位名datatype in varchar 欄位類型field in varchar 欄位名datatype in varchar 欄位類型) asstr_sql varchar ( );beginstr_sql:= create table ||table_name|| ( ||field || ||datatype || ||field || ||datatype || ) ;execute immediate str_sql; 動態執行DDL語句exceptionwhen others thennull;end ;以上是編譯通過的存儲過程代碼 下面執行存儲過程動態建表 SQL> execute proc_test( dinya_test id number( ) not null name varchar ( ) );PL/SQL procere successfully pletedSQL> desc dinya_test;Name TypeNullable Default Comments ID NUMBER( )NAME VARCHAR ( ) YSQL>到這里 就實現了我們的需求 使用本地動態SQL根據用戶輸入的表名及欄位名 欄位類型等參數來實現動態執行DDL語句 本地動態SQL執行DML語句 需求 將用戶輸入的值插入到上例中建好的dinya_test表中 create or replace procere proc_insert(id in number 輸入序號name in varchar 輸入姓名) asstr_sql varchar ( );beginstr_sql:= insert into dinya_test values(: : ) ;execute immediate str_sql using id name; 動態執行插入操作exceptionwhen others thennull;end ;執行存儲過程 插入數據到測試表中 SQL> execute proc_insert( dinya );PL/SQL procere successfully pletedSQL> select * from dinya_test;IDNAME dinya在上例中 本地動態SQL執行DML語句時使用了using子句 按順序將輸入的值綁定到變數 如果需要輸出參數 可以在執行動態SQL的時候 使用RETURNING INTO 子句 如 declarep_id number:= ;v_count number;beginv_string:= select count(*) from table_name a where a id=:id ;execute immediate v_string into v_count using p_id;end ;更多的關於動態SQL中關於返回值及為輸出輸入綁定變數執行參數模式的問題 請讀者自行做測試 二 使用DBMS_SQL包 使用DBMS_SQL包實現動態SQL的步驟如下 A 先將要執行的SQL語句或一個語句塊放到一個字元串變數中 B 使用DBMS_SQL包的parse過程來分析該字元串 C 使用DBMS_SQL包的bind_variable過程來綁定變數 D 使用DBMS_SQL包的execute函數來執行語句 使用DBMS_SQL包執行DDL語句 需求 使用DBMS_SQL包根據用戶輸入的表名 欄位名及欄位類型建表 create or replace procere proc_dbms_sql(table_name in varchar 表名field_name in varchar 欄位名datatype in varchar 欄位類型field_name in varchar 欄位名datatype in varchar 欄位類型)asv_cursor number; 定義游標v_string varchar ( ); 定義字元串變數v_row number; 行數beginv_cursor:=dbms_sql open_cursor; 為處理打開游標v_string:= create table ||table_name|| ( ||field_name || ||datatype || ||field_name || ||datatype || ) ;dbms_sql parse(v_cursor v_string dbms_sql native); 分析語句v_row:=dbms_sql execute(v_cursor); 執行語句dbms_sql close_cursor(v_cursor); 關閉游標exceptionwhen others thendbms_sql close_cursor(v_cursor); 關閉游標raise;end;以上過程編譯通過後 執行過程創建表結構 SQL> execute proc_dbms_sql( dinya_test id number( ) not null name varchar ( ) );PL/SQL procere successfully pletedSQL> desc dinya_test ;Name TypeNullable Default Comments ID NUMBER( )NAME VARCHAR ( ) YSQL> 使用DBMS_SQL包執行DML語句 需求 使用DBMS_SQL包根據用戶輸入的值更新表中相對應的記錄 查看錶中已有記錄 SQL> select * from dinya_test ;ID NAME Oracle CSDN ERPSQL>建存儲過程 並編譯通過 create or replace procere proc_dbms_sql_update(id number name varchar )asv_cursor number; 定義游標v_string varchar ( ); 字元串變數v_row number; 行數beginv_cursor:=dbms_sql open_cursor; 為處理打開游標v_string:= update dinya_test a set a name=:p_name where a id=:p_id ;dbms_sql parse(v_cursor v_string dbms_sql native); 分析語句dbms_sql bind_variable(v_cursor :p_name name); 綁定變數dbms_sql bind_variable(v_cursor :p_id id); 綁定變數v_row:=dbms_sql execute(v_cursor); 執行動態SQLdbms_sql close_cursor(v_cursor); 關閉游標exceptionwhen others thendbms_sql close_cursor(v_cursor); 關閉游標raise;end;執行過程 根據用戶輸入的參數更新表中的數據 SQL> execute proc_dbms_sql_update( csdn_dinya );PL/SQL procere successfully pletedSQL> select * from dinya_test ;ID NAME Oracle csdn_dinya ERPSQL>執行過程後將第二條的name欄位的數據更新為新值csdn_dinya 這樣就完成了使用dbms_sql包來執行DML語句的功能 使用DBMS_SQL中 如果要執行的動態語句不是查詢語句 使用DBMS_SQL Execute或DBMS_SQL Variable_Value來執行 如果要執行動態語句是查詢語句 則要使用DBMS_SQL define_column定義輸出變數 然後使用DBMS_SQL Execute DBMS_SQL Fetch_Rows DBMS_SQL Column_Value及DBMS_SQL Variable_Value來執行查詢並得到結果 總結說明 在Oracle開發過程中 我們可以使用動態SQL來執行DDL語句 DML語句 事務控制語句及系統控制語句 但是需要注意的是 PL/SQL塊中使用動態SQL執行DDL語句的時候與別的不同 在DDL中使用綁定變數是非法的(bind_variable(v_cursor :p_name name)) 分析後不需要執行DBMS_SQL Bind_Variable 直接將輸入的變數加到字元串中即可 另外 DDL是在調用DBMS_SQL lishixin/Article/program/SQLServer/201311/22089

『肆』 建表語句有哪些呢

建表語句有:

tablename:在資料庫中需要創建的表的表名稱,在同一個資料庫中的表名稱是不能重復的。

column_name:創建的表的列名稱,列名稱在一個表中也是不能重復的。

datatype:創建的表的列中存放數據的數據類型。

null,not null:允許該列為空或者不為空,默認情況下是不為空。

constraint:為表中的列設置約束,如主鍵約束,外鍵約束,唯一約束等。

結構化查詢語言(Structured Query Language)簡稱SQL,是用於訪問和處理資料庫的標準的計算機語言,同時也是資料庫腳本文件的擴展名。常用的操作:

刪除表-- drop table tabname--這是將表連同表中信息一起刪除但是日誌文件中會有記錄。

刪除資料庫 -- drop database databasename。

刪除數據記錄 -- "delete from 數據表 where 條件表達式"。

『伍』 Oracle資料庫管理員職責(四)

*** yze_p sql

*** yze_p sql

BEGIN SYS DBMS_UTILITY ANALYZE_SCHEMA( &OWNER PUTE ); END; /

pop_vol sql

pop_vol sql

insertintoutl_vol_facts selecttable_name 薯隱NVL(num_rows )asnum_rows trunc(last_ *** yzed)asmeas_dt fromall_tables

or just user_tables

whereownerin( &OWNER )

or a ma separated list of owners

/ mit /

C 每周處理程序

nextext sql

nextext sql To find tables that don t match the tablespace default for NEXT extent The implicit rule here is that every table in a given tablespace should use the exact same value for NEXT which should also be the tablespace s default value for NEXT his tells us what the setting for NEXT is for these objects today / /

SELECTsegment_name segment_type ds next_extentasActual_Next dt tablespace_name dt next_extentasDefault_Next FROMdba_tablespacesdt 數斗廳dba_segmentsds WHEREdt tablespace_name=ds tablespace_name ANDdt next_extent!=ds next_extent ANDds owner=UPPER( &OWNER ) ORDERBYtablespace_name 銷肢segment_type segment_name;

existext sql

existext sql To check existing extents This tells us how many of each object s extents differ in size from the tablespace s default size If this report shows a lot of different sized extents your free space is likely to bee fragmented If so this tablespace is a candidate for reanizing / /

SELECTsegment_name segment_type count(*)asnr_exts sum(DECODE(dx bytes dt next_extent ))asnr_illsized_exts dt tablespace_name dt next_extentasdflt_ext_size FROMdba_tablespacesdt dba_extentsdx WHEREdt tablespace_name=dx tablespace_name ANDdx owner= &OWNER GROUPBYsegment_name segment_type dt tablespace_name dt next_extent;

No_pk sql

no_pk sql To find tables without PK constraint / /

SELECTtable_name FROMall_tables WHEREwner= &OWNER MINUS SELECTtable_name FROMall_constraints WHEREwner= &&OWNER ANDconstraint_type= P ;

disPK sql

disPK sql To find out which primary keys are disabled / /

SELECTowner constraint_name table_name status FROMall_constraints WHEREwner= &OWNER ANDstatus= DISABLED ANDconstraint_type= P ;

nonuPK sql

nonuPK sql To find tables with nonunique PK indexes Requires that PK names follow a naming convention An alternative query follows that does not have this requirement but runs more slowly

/ /

SELECTindex_name table_name uniqueness FROMall_indexes WHEREindex_namelike &PKNAME% ANDwner= &OWNER ANDuniqueness= NONUNIQUE SELECTnstraint_name i tablespace_name i uniqueness FROMall_constraintsc all_indexesi WHEREc owner=UPPER( &OWNER )ANDi uniqueness= NONUNIQUE ANDnstraint_type= P ANDi index_name=nstraint_name

mkrebuild_idx sql

mkrebuild_idx sql Rebuild indexes to have correct storage parameters / /

SELECT alterindex ||index_name|| rebuild tablespaceINDEXESstorage || (initial Knext Kpctincrease ); FROMall_indexes WHERE(tablespace_name!= INDEXES ORnext_extent!=( * ) ) ANDwner= &OWNER /

datatype sql

datatype sql To check datatype consistency beeen o environments / /

SELECTtable_name column_name data_type data_length data_precision data_scale nullable FROMall_tab_columns firstenvironment WHEREwner= &OWNER MINUS SELECTtable_name column_name data_type data_length data_precision data_scale nullable FROMall_tab_columns@&my_db_link secondenvironment WHEREwner= &OWNER orderbytable_name column_name

obj_coord sql

obj_coord sql To find out any difference in objects beeen o instances / / lishixin/Article/program/Oracle/201311/17515

『陸』 SQL語句怎麼加列

ALTERTABLE語句
ALTERTABLE語句用於在已有的表中添加、修改或刪除列。
ALTERTABLE語法
如需在表中添加列,請使用下列語法:
ALTERTABLEtable_name
ADDcolumn_namedatatype
在表"Persons"中添加一個名為"Birthday"的新列。
ALTERTABLEPersons
ADDBirthdaydate
新列"Birthday"的類型是date,可以存放日期。數據類型規定列中可以存放的數據的類型。

(6)datatypesql擴展閱讀:
基本語句
1、數據記錄篩選:
sql="select*from數據表where欄位名=欄位值orderby欄位名[desc]"(按某個欄位值降序排列,默認升序ASC)。
sql="select*from數據表where欄位名like'%欄位值%'orderby欄位名[desc]"
sql="selecttop10*from數據表where欄位名=欄位值orderby欄位名[desc]"
sql="select*from數據表where欄位名in('值1','值2','值3')"
sql="select*from數據表where欄位名between值1and值2"
sql="select列名1,列名2from數據表where欄位名=欄位值groupby列名1,列名2"(groupby用來分組,並且只有出現自groupby中的列名,才允許出現在select語句中)。
2、更新數據記錄:
sql="update數據表set欄位名=欄位值where條件表達式"
sql="update數據表set欄位1=值1,欄位2=值2......欄位n=值nwhere條件表達式"
3、刪除數據記錄:
sql="deletefrom數據表where條件表達式"
sql="deletefrom數據表"(將數據表所有記錄刪除)
參考資料來源:網路-SQL語句大全

『柒』 spark sql 為什麼要自定義datatype

json File 期類型 處理字元型轉換Date或DateTime類型

json文件字元格式期類型

```
{ "name" : "Andy", "age" : 30, "time" :"2015-03-03T08:25:55.769Z"}
{ "name" : "Justin", "age" : 19, "枯銷寬time" : "2015-04-04T08:25:55.769Z" }
{ "name" : "pan", "age" : 49, "time" : "2015-05-05T08:25:55.769Z" }
{ "name" : "penny", "沒亮age" : 29, "time" : "2015-05-05T08:25:55.769Z" }
```
默認推測Schema:
```
root
|-- _corrupt_record: string (nullable = true)
|-- age: long (nullable = true)
|-- name: string (nullable = true)
|-- time200: string (nullable = true)
```
測試代碼
```
val fileName = "person.json"
val sc = SparkUtils.getScLocal("json file 測試")
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val jsonFile = sqlContext.read.json(fileName)
jsonFile.printSchema()
```
##解決案

### 案、json數據 間 long 秒或毫秒
### 案二、自定義schema
```
val fileName = "person.json"
val sc = SparkUtils.getScLocal("json file 測試")
val sqlContext = new org.apache.spark.sql.SQLContext(sc)
val schema: StructType = StructType(mutable.ArraySeq(
StructField("name", StringType, true),
StructField("age", StringType, true),
StructField("time", TimestampType, true)));
val jsonFile = sqlContext.read.schema(schema).json(fileName)
jsonFile.printSchema()
jsonFile.registerTempTable("person")
val now: Timestamp = new Timestamp(System.currentTimeMillis())

val teenagers = sqlContext.sql("SELECT * FROM person WHERE age >= 20 AND age <= 30 AND time <=『" +now+"『")
teenagers.foreach(println)
val dataFrame = sqlContext.sql("SELECT * FROM person WHERE age >= 20 AND age <= 30 AND time <=『2015-03-03 16:25:55.769『")
dataFrame.foreach(println)
```
###案三、sql建表
創建表斗源sql
```
CREATE TEMPORARY TABLE person IF NOT EXISTS
[(age: long ,name:string ,time:Timestamp)]
USING org.apache.spark.sql.json
OPTIONS ( path 『person.json『)

CREATE [TEMPORARY] TABLE [IF NOT EXISTS]
[(col-name data-type [, …])]
USING [OPTIONS ...]
[AS ]
```

### 案四、用textfile convert

『捌』 SQL語法中::=是什麼

一.SELECT語句的完整語法為:
SELECT[ALL|DISTINCT|DISTINCTROW|TOP]
{*|talbe.*|[table.]field1[AS
alias1][,[table.]field2[AS
alias2][,…]]}
FROM
tableexpression[,…
][IN
externaldatabase]
[WHERE…]
[GROUP
BY…]
[HAVING…]
[ORDER
BY…]
[WITH
OWNERACCESS
OPTION]
說明:
用中括弧([])括起來的部分表示是可選的,用大括弧({})括起來的部分是表示必須從中選擇其中的一個。
一.
1
FROM子句
FROM子句指定了SELECT語句中欄位的來嫌粗襲源。FROM子句後面是包含一個或多個的表達式(由逗號分開),其中的表達式可為單一表名稱、已保存的查詢或由
INNER
JOIN、LEFT
JOIN

RIGHT
JOIN
得到的復合結果。如果表或查詢存儲在外部凳賀資料庫,在IN
子句之後指明其完整路徑。
例:下列SQL語句返回所有有定單的客戶:
SELECT
OrderID,Customer.customerID
FROM
Orders
Customers
WHERE
Orders.CustomerID=Customers.CustomeersID
一.2
ALL、DISTINCT、DISTINCTROW、TOP謂詞
(1)
ALL
返回滿足SQL語句條件的所有記錄。如果沒有指明這個謂詞,默認為ALL。
例:SELECT
ALL
FirstName,LastName
FROM
Employees
(2)
DISTINCT
如果有多個記錄的選擇欄位的數據相同,只返回一個。
(3)
DISTINCTROW
如果有重復的記錄,只返回一個
(4)
TOP顯示查詢頭尾若干記錄。也可返回記錄的百分比,這是要用
TOP
N
PERCENT子句(其中N
表示百分比)
例:返回5%定貨額最大的定單
SELECT
TOP
5
PERCENT*
FROM
[
Order
Details]
ORDER
BY
UnitPrice*Quantity*(1-Discount)
DESC
一.3

AS
子句為欄位取別名
如果想為返回的列取一個新的標題,或者,經過對欄位的計算或總結之後,產生了一個新的值,希望把它放到一個新的列里顯示,則用AS保留。
例:返回FirstName欄位取別名為NickName
SELECT
FirstName
AS
NickName
,LastName
,City
FROM
Employees
例:返回新的一列顯芹兄示庫存價值
SELECT
ProctName
,UnitPrice
,UnitsInStock
,UnitPrice*UnitsInStock
AS
valueInStock
FROM
Procts

.WHERE
子句指定查詢條件

.
1比較運算符
比較運算符
含義
=
等於
>
大於
=
大於等於
不等於
!>
不大於
!#1/1/96#
AND
OrderDate#96-1-1#
也可以表示為:
WHERE
OrderDate>Datevalue(『1/1/96』)
使用
NOT
表達式求反。
例:查看96年1月1日以後的定單
WHERE
Not
OrderDateQuantity
另一種方法是用
Microsof
JET
SQL
獨有的
JNNER
JOIN
語法:
FROM
table1
INNER
JOIN
table2
ON
table1.field1
comparision
table2.field2
其中comparision
就是前面WHERE子句用到的比較運算符。
SELECT
FirstName,lastName,OrderID,CustomerID,OrderDate
FROM
Employees
INNER
JOIN
Orders
ON
Employees.EmployeeID=Orders.EmployeeID
注意:
INNER
JOIN不能連接Memo
OLE
Object
Single
Double
數據類型欄位。
在一個JOIN語句中連接多個ON子句
語法:
SELECT
fields
FROM
table1
INNER
JOIN
table2
ON
table1.field1
compopr
table2.field1
AND
ON
table1.field2
compopr
table2.field2
OR
ON
table1.field3
compopr
table2.field3
也可以
SELECT
fields
FROM
table1
INNER
JOIN
(table2
INNER
JOIN
[(
]table3
[INNER
JOER]
[(
]tablex[INNER
JOIN]
ON
table1.field1
compopr
table2.field1
ON
table1.field2
compopr
table2.field2
ON
table1.field3
compopr
table2.field3
外部連接返回更多記錄,在結果中保留不匹配的記錄,不管存不存在滿足條件的記錄都要返回另一側的所有記錄。
FROM
table
[LEFT|RIGHT]JOIN
table2
ON
table1.field1comparision
table.field2
用左連接來建立外部連接,在表達式的左邊的表會顯示其所有的數據
例:不管有沒有定貨量,返回所有商品
SELECT
ProctName
,OrderID
FROM
Procts
LEFT
JOIN
Orders
ON
Procts.PrctsID=Orders.ProctID
右連接與左連接的差別在於:不管左側表裡有沒有匹配的記錄,它都從左側表中返回所有記錄。
例:如果想了解客戶的信息,並統計各個地區的客戶分布,這時可以用一個右連接,即使某個地區沒有客戶,也要返回客戶信息。
空值不會相互匹配,可以通過外連接才能測試被連接的某個表的欄位是否有空值。
SELECT
*
FROM
talbe1
LEFT
JOIN
table2
ON
table1.a=table2.c

.1
連接查詢中使用Iif函數實現以0值顯示空值
Iif表達式:
Iif(IsNull(Amount,0,Amout)
例:無論定貨大於或小於¥50,都要返回一個標志。
Iif([Amount]>50,?Big
order?,?Small
order?)

分組和總結查詢結果
在SQL的語法里,GROUP
BY和HAVING子句用來對數據進行匯總。GROUP
BY子句指明了按照哪幾個欄位來分組,而將記錄分組後,用HAVING子句過濾這些記錄。
GROUP
BY
子句的語法
SELECT
fidldlist
FROM
table
WHERE
criteria
[GROUP
BY
groupfieldlist
[HAVING
groupcriteria]]
註:Microsoft
Jet資料庫
Jet
不能對備注或OLE對象欄位分組。
GROUP
BY欄位中的Null值以備分組但是不能被省略。
在任何SQL合計函數中不計算Null值。
GROUP
BY子句後最多可以帶有十個欄位,排序優先順序按從左到右的順序排列。
例:在『WA』地區的雇員表中按頭銜分組後,找出具有同等頭銜的雇員數目大於1人的所有頭銜。
SELECT
Title
,Count(Title)
as
Total
FROM
Employees
WHERE
Region
=
『WA』
GROUP
BY
Title
HAVING
Count(Title)>1
JET
SQL
中的聚積函數
聚集函數
意義
SUM
(
)
求和
AVG
(
)
平均值
COUNT
(
)
表達式中記錄的數目
COUNT
(*
)
計算記錄的數目
MAX
最大值
MIN
最小值
VAR
方差
STDEV
標准誤差
FIRST
第一個值
LAST
最後一個值

用Parameters聲明創建參數查詢
Parameters聲明的語法:
PARAMETERS
name
datatype[,name
datatype[,
…]]
其中name
是參數的標志符,可以通過標志符引用參數.
Datatype說明參數的數據類型.
使用時要把PARAMETERS
聲明置於任何其他語句之前.
例:
PARAMETERS[Low
price]
Currency,[Beginning
date]datatime
SELECT
OrderID
,OrderAmount
FROM
Orders
WHERE
OrderAMount>[low
price]
AND
OrderDate>=[Beginning
date]

功能查詢
所謂功能查詢,實際上是一種操作查詢,它可以對資料庫進行快速高效的操作.它以選擇查詢為目的,挑選出符合條件的數據,再對數據進行批處理.功能查詢包括更新查詢,刪除查詢,添加查詢,和生成表查詢.

.1
更新查詢
UPDATE子句可以同時更改一個或多個表中的數據.它也可以同時更改多個欄位的值.
更新查詢語法:
UPDATE
表名
SET
新值
WHERE
准則
例:英國客戶的定貨量增加5%,貨運量增加3%
UPDATE
OEDERS
SET
OrderAmount
=
OrderAmount
*1.1
Freight
=
Freight*1.03
WHERE
ShipCountry
=
『UK』

.2
刪除查詢
DELETE子句可以使用戶刪除大量的過時的或冗於的數據.
注:刪除查詢的對象是整個記錄.
DELETE子句的語法:
DELETE
[表名.*]
FROM
來源表
WHERE
准則
例:
要刪除所有94年前的定單
DELETE
*
FROM
Orders
WHERE
OrderData,,=)一起使用.返回一個布爾值True或False.ANY的意思是,表達式與子查詢返回的一系列的值逐一比較,只要其中的一次比較產生True結果,ANY測試的返回
True值(既WHERE子句的結果),對應於該表達式的當前記錄將進入主查詢的結果中.ALL測試則要求表達式與子查詢返回的一系列的值的比較都產生True結果,才回返回True值.
例:主查詢返回單價比任何一個折扣大於等於25%的產品的單價要高的所有產品
SELECT
*
FROM
Procts
WHERE
UnitPrice>ANY
(SELECT
UnitPrice
FROM[Order
Details]
WHERE
Discount>0.25)

.2檢查表達式的值是否匹配子查詢返回的一組值的某個值
語法:
[NOT]IN(子查詢)
例:返回庫存價值大於等於1000的產品.
SELECT
ProctName
FROM
Procts
WHERE
ProctID
IN
(SELECT
PrdoctID
FROM
[Order
DEtails]
WHERE
UnitPrice*Quantity>=
1000)

.2檢測子查詢是否返回任何記錄
語法:
[NOT]EXISTS
(子查詢)
例:用EXISTS檢索英國的客戶
SELECT
ComPanyName,ContactName
FROM
Orders
WHERE
EXISTS
(SELECT
*
FROM
Customers
WHERE
Country
=
『UK』
AND
Customers.CustomerID=
Orders.CustomerID)

『玖』 sql如何在一列裡面建立子列數據

首先我們打開SQL,顯示出我們之前已經創建好的表格如下
當我們需要重新插入一行新的數據時,我們輸入下列代碼:
INSERT INTO 表名稱 VALUES (值1, 值2,....);
接著重新顯示如下
如果我們只想在某一列或者某幾列裡面插入數據,則如下操作,語法如下:
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);
重新顯示就如下了(中間的NULL是因為還沒有插入數據而顯示如下的),接著只需要重新插入數據即可。
如果需要重新插入一列數據,則進行下面操作。語法如下
ALTER TABLE table_name
ADD column_name datatype// datatype是數據類型的意思。如果是年份就是data或者year,如何是字元就要用char,以此類推。

『拾』 @IndexAnalyze(dataType = DataType.KEYWORD, sqlColumn = "Last_Action")實力類中這個註解是做個啥的

indexanalyze 是指數或參數分析的意思,datatype 是數據類型,keyword是關鍵字,sqlcolumn 這個是資料庫列 的意思鎮則,last action 是上一個動作意思,希望能幫到你御凱棚孫游

熱點內容
網路訪問層 發布:2024-11-01 16:18:38 瀏覽:349
國產系列ftp 發布:2024-11-01 15:49:53 瀏覽:702
招編程師傅招聘 發布:2024-11-01 15:34:51 瀏覽:192
kkt編程 發布:2024-11-01 15:31:26 瀏覽:614
我的世界管理員進伺服器提示 發布:2024-11-01 15:21:12 瀏覽:126
如何刪除qq空間訪問記錄 發布:2024-11-01 15:20:07 瀏覽:323
微信上傳圖片失敗 發布:2024-11-01 15:19:53 瀏覽:117
python網站域名伺服器搭建 發布:2024-11-01 15:18:36 瀏覽:693
量產工具加密 發布:2024-11-01 15:14:31 瀏覽:674
儲備存儲 發布:2024-11-01 15:14:28 瀏覽:330