SQL 經(jīng)典語句
發(fā)布日期:2022-02-04 18:35 | 文章來源:腳本之家
復(fù)制代碼 代碼如下:
DROPTABLE數(shù)據(jù)表名稱(永久性刪除一個(gè)數(shù)據(jù)表) 刪除記錄:deletefrom表名where條件(rqjs_id=***) 更新所有記錄:update表名set字段名=值 按條件更新:update表名set字段名=值where條件(rqjs_id=***) (5)數(shù)據(jù)表的建立和刪除:
CREATETABLE數(shù)據(jù)表名稱(字段1類型1(長度),字段2類型2(長度)……)
例:CREATETABLEtab01(namevarchar(50),datetimedefaultnow())
DROPTABLE數(shù)據(jù)表名稱(永久性刪除一個(gè)數(shù)據(jù)表)
--語句功能
--數(shù)據(jù)操作
SELECT--從數(shù)據(jù)庫表中檢索數(shù)據(jù)行和列
INSERT--向數(shù)據(jù)庫表添加新數(shù)據(jù)行
DELETE--從數(shù)據(jù)庫表中刪除數(shù)據(jù)行
UPDATE--更新數(shù)據(jù)庫表中的數(shù)據(jù)
--數(shù)據(jù)定義
CREATETABLE--創(chuàng)建一個(gè)數(shù)據(jù)庫表
DROPTABLE--從數(shù)據(jù)庫中刪除表
ALTERTABLE--修改數(shù)據(jù)庫表結(jié)構(gòu)
CREATEVIEW--創(chuàng)建一個(gè)視圖
DROPVIEW--從數(shù)據(jù)庫中刪除視圖
CREATEINDEX--為數(shù)據(jù)庫表創(chuàng)建一個(gè)索引
DROPINDEX--從數(shù)據(jù)庫中刪除索引
CREATEPROCEDURE--創(chuàng)建一個(gè)存儲(chǔ)過程
DROPPROCEDURE--從數(shù)據(jù)庫中刪除存儲(chǔ)過程
CREATETRIGGER--創(chuàng)建一個(gè)觸發(fā)器
DROPTRIGGER--從數(shù)據(jù)庫中刪除觸發(fā)器
CREATESCHEMA--向數(shù)據(jù)庫添加一個(gè)新模式
DROPSCHEMA--從數(shù)據(jù)庫中刪除一個(gè)模式
CREATEDOMAIN--創(chuàng)建一個(gè)數(shù)據(jù)值域
ALTERDOMAIN--改變域定義
DROPDOMAIN--從數(shù)據(jù)庫中刪除一個(gè)域
--數(shù)據(jù)控制
GRANT--授予用戶訪問權(quán)限
DENY--拒絕用戶訪問
REVOKE--解除用戶訪問權(quán)限
--事務(wù)控制
COMMIT--結(jié)束當(dāng)前事務(wù)
ROLLBACK--中止當(dāng)前事務(wù)
SETTRANSACTION--定義當(dāng)前事務(wù)數(shù)據(jù)訪問特征
--程序化SQL
DECLARE--為查詢?cè)O(shè)定游標(biāo)
EXPLAN--為查詢描述數(shù)據(jù)訪問計(jì)劃
OPEN--檢索查詢結(jié)果打開一個(gè)游標(biāo)
FETCH--檢索一行查詢結(jié)果
CLOSE--關(guān)閉游標(biāo)
PREPARE--為動(dòng)態(tài)執(zhí)行準(zhǔn)備SQL語句
EXECUTE--動(dòng)態(tài)地執(zhí)行SQL語句
DESCRIBE--描述準(zhǔn)備好的查詢
---局部變量
declare@idchar(10)
--set@id='10010001'
select@id='10010001'
---全局變量
---必須以@@開頭 --IFELSE
declare@xint@yint@zint
select@x=1@y=2@z=3
if@x>@y
print'x>y'--打印字符串'x>y'
elseif@y>@z
print'y>z'
elseprint'z>y' --CASE
usepangu
updateemployee
sete_wage=
case
whenjob_level='1'thene_wage*1.08
whenjob_level='2'thene_wage*1.07
whenjob_level='3'thene_wage*1.06
elsee_wage*1.05
end --WHILECONTINUEBREAK
declare@xint@yint@cint
select@x=1@y=1
while@x<3
begin
print@x--打印變量x的值
while@y<3
begin
select@c=100*@x+@y
print@c--打印變量c的值
select@y=@y+1
end
select@x=@x+1
select@y=1
end --WAITFOR
--例等待1小時(shí)2分零3秒后才執(zhí)行SELECT語句
waitfordelay'01:02:03'
select*fromemployee
--例等到晚上11點(diǎn)零8分后才執(zhí)行SELECT語句
waitfortime'23:08:00'
select*fromemployee ***SELECT*** select*(列名)fromtable_name(表名)wherecolumn_nameoperator
value
ex:(宿主)
select*fromstock_informationwherestockid=str(nid)
stockname='str_name'
stocknamelike'%findthis%'
stocknamelike'[a-zA-Z]%'---------([]指定值的范圍)
stocknamelike'[^F-M]%'---------(^排除指定范圍)
---------只能在使用like關(guān)鍵字的where子句中使用通配符)
orstockpath='stock_path'
orstocknumber<1000
andstockindex=24
notstock***='man'
stocknumberbetween20and100
stocknumberin(10,20,30)
orderbystockiddesc(asc)---------排序,desc-降序,asc-升序
orderby1,2---------by列號(hào)
stockname=(selectstocknamefromstock_informationwhere
stockid=4)
---------子查詢
---------除非能確保內(nèi)層select只返回一個(gè)行的值,
---------否則應(yīng)在外層where子句中用一個(gè)in限定符
selectdistinctcolumn_nameformtable_name---------
distinct指定檢索獨(dú)有的列值,不重復(fù)
selectstocknumber,"stocknumber+10"=stocknumber+10from
table_name
selectstockname,"stocknumber"=count(*)fromtable_name
groupbystockname
---------groupby將表按行分組,指定列中有相同的值
havingcount(*)=2---------having選定指定的組 select*
fromtable1,table2
wheretable1.id*=table2.id--------
左外部連接,table1中有的而table2中沒有得以null表示
table1.id=*table2.id--------右外部連接 selectstocknamefromtable1
union[all]-----union合并查詢結(jié)果集,all-保留重復(fù)行
selectstocknamefromtable2 ***insert*** insertintotable_name(Stock_name,Stock_number)value
("xxx","xxxx")
value(selectStockname,Stocknumberfrom
Stock_table2)---value為select語句 ***update*** updatetable_namesetStockname="xxx"[whereStockid=3]
Stockname=default
Stockname=null
Stocknumber=Stockname+4 ***delete*** deletefromtable_namewhereStockid=3
truncatetable_name-----------刪除表中所有行,仍保持表的完整性
droptabletable_name---------------完全刪除表 ***altertable***---修改數(shù)據(jù)庫表結(jié)構(gòu) altertabledatabase.owner.table_nameaddcolumn_namechar(2)
null.....
sp_helptable_name----顯示表已有特征
createtabletable_name(namechar(20),agesmallint,lname
varchar(30))
insertintotable_nameselect.........-----實(shí)現(xiàn)刪除列的方法(創(chuàng)建新表)
altertabletable_namedropconstraintStockname_default----
刪除Stockname的default約束 ***function(/*常用函數(shù)*/)*** ----統(tǒng)計(jì)函數(shù)----
AVG--求平均值
COUNT--統(tǒng)計(jì)數(shù)目
MAX--求最大值
MIN--求最小值
SUM--求和 --AVG
usepangu
selectavg(e_wage)asdept_avgWage
fromemployee
groupbydept_id --MAX
--求工資最高的員工姓名
usepangu
selecte_name
fromemployee
wheree_wage=
(selectmax(e_wage)
fromemployee) --STDEV()
--STDEV()函數(shù)返回表達(dá)式中所有數(shù)據(jù)的標(biāo)準(zhǔn)差 --STDEVP()
--STDEVP()函數(shù)返回總體標(biāo)準(zhǔn)差 --VAR()
--VAR()函數(shù)返回表達(dá)式中所有值的統(tǒng)計(jì)變異數(shù) --VARP()
--VARP()函數(shù)返回總體變異數(shù) ----算術(shù)函數(shù)---- /***三角函數(shù)***/
SIN(float_expression)--返回以弧度表示的角的正弦
COS(float_expression)--返回以弧度表示的角的余弦
TAN(float_expression)--返回以弧度表示的角的正切
COT(float_expression)--返回以弧度表示的角的余切
/***反三角函數(shù)***/
ASIN(float_expression)--返回正弦是FLOAT值的以弧度表示的角
ACOS(float_expression)--返回余弦是FLOAT值的以弧度表示的角
ATAN(float_expression)--返回正切是FLOAT值的以弧度表示的角
ATAN2(float_expression1,float_expression2)
--返回正切是float_expression1/float_expres-sion2的以弧度表示的角
DEGREES(numeric_expression)
--把弧度轉(zhuǎn)換為角度返回與表達(dá)式相同的數(shù)據(jù)類型可為
--INTEGER/MONEY/REAL/FLOAT類型
RADIANS(numeric_expression)--把角度轉(zhuǎn)換為弧度返回與表達(dá)式相同的數(shù)據(jù)類型可為
--INTEGER/MONEY/REAL/FLOAT類型
EXP(float_expression)--返回表達(dá)式的指數(shù)值
LOG(float_expression)--返回表達(dá)式的自然對(duì)數(shù)值
LOG10(float_expression)--返回表達(dá)式的以10為底的對(duì)數(shù)值
SQRT(float_expression)--返回表達(dá)式的平方根
/***取近似值函數(shù)***/
CEILING(numeric_expression)--返回>=表達(dá)式的最小整數(shù)返回的數(shù)據(jù)類型與表達(dá)式相同可為
--INTEGER/MONEY/REAL/FLOAT類型
FLOOR(numeric_expression)--返回<=表達(dá)式的最小整數(shù)返回的數(shù)據(jù)類型與表達(dá)式相同可為
--INTEGER/MONEY/REAL/FLOAT類型
ROUND(numeric_expression)--返回以integer_expression
為精度的四舍五入值返回的數(shù)據(jù)
--類型與表達(dá)式相同可為INTEGER/MONEY/REAL/FLOAT類型
ABS(numeric_expression)--返回表達(dá)式的絕對(duì)值返回的數(shù)據(jù)類型與表達(dá)式相同可為
--INTEGER/MONEY/REAL/FLOAT類型
SIGN(numeric_expression)--測試參數(shù)的正負(fù)號(hào)返回0零值1正數(shù)或-1負(fù)數(shù)返回的數(shù)據(jù)類型
--與表達(dá)式相同可為INTEGER/MONEY/REAL/FLOAT類型
PI()--返回值為π即3.1415926535897936
RAND([integer_expression])--用任選的[integer_expression]做種子值得出0-1
間的隨機(jī)浮點(diǎn)數(shù) ----字符串函數(shù)----
ASCII()--函數(shù)返回字符表達(dá)式最左端字符的ASCII碼值
CHAR()--函數(shù)用于將ASCII碼轉(zhuǎn)換為字符
--如果沒有輸入0~255之間的ASCII碼值CHAR函數(shù)會(huì)返回一個(gè)NULL值
LOWER()--函數(shù)把字符串全部轉(zhuǎn)換為小寫
UPPER()--函數(shù)把字符串全部轉(zhuǎn)換為大寫
STR()--函數(shù)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù)
LTRIM()--函數(shù)把字符串頭部的空格去掉
RTRIM()--函數(shù)把字符串尾部的空格去掉
LEFT(),RIGHT(),SUBSTRING()--函數(shù)返回部分字符串
CHARINDEX(),PATINDEX()--函數(shù)返回字符串中某個(gè)指定的子串出現(xiàn)的開始位置
SOUNDEX()--函數(shù)返回一個(gè)四位字符碼
--SOUNDEX函數(shù)可用來查找聲音相似的字符串但SOUNDEX函數(shù)對(duì)數(shù)字和漢字均只返回0值
DIFFERENCE()--函數(shù)返回由SOUNDEX函數(shù)返回的兩個(gè)字符表達(dá)式的值的差異
--0兩個(gè)SOUNDEX函數(shù)返回值的第一個(gè)字符不同
--1兩個(gè)SOUNDEX函數(shù)返回值的第一個(gè)字符相同
--2兩個(gè)SOUNDEX函數(shù)返回值的第一二個(gè)字符相同
--3兩個(gè)SOUNDEX函數(shù)返回值的第一二三個(gè)字符相同
--4兩個(gè)SOUNDEX函數(shù)返回值完全相同 QUOTENAME()--函數(shù)返回被特定字符括起來的字符串
/*selectquotename('abc','{')quotename('abc')
運(yùn)行結(jié)果如下
----------------------------------{
{abc}[abc]*/ REPLICATE()--函數(shù)返回一個(gè)重復(fù)character_expression指定次數(shù)的字符串
/*selectreplicate('abc',3)replicate('abc',-2)
運(yùn)行結(jié)果如下
----------------------
abcabcabcNULL*/ REVERSE()--函數(shù)將指定的字符串的字符排列順序顛倒
REPLACE()--函數(shù)返回被替換了指定子串的字符串
/*selectreplace('abc123g','123','def')
運(yùn)行結(jié)果如下
----------------------
abcdefg*/ SPACE()--函數(shù)返回一個(gè)有指定長度的空白字符串
STUFF()--函數(shù)用另一子串替換字符串指定位置長度的子串 ----數(shù)據(jù)類型轉(zhuǎn)換函數(shù)----
CAST()函數(shù)語法如下
CAST()(<expression>AS<data_type>[length])
CONVERT()函數(shù)語法如下
CONVERT()(<data_type>[length],<expression>[,style]) selectcast(100+99aschar)convert(varchar(12),getdate())
運(yùn)行結(jié)果如下
------------------------------------------
199Jan152000 ----日期函數(shù)----
DAY()--函數(shù)返回date_expression中的日期值
MONTH()--函數(shù)返回date_expression中的月份值
YEAR()--函數(shù)返回date_expression中的年份值
DATEADD(<datepart>,<number>,<date>)
--函數(shù)返回指定日期date加上指定的額外日期間隔number產(chǎn)生的新日期
DATEDIFF(<datepart>,<number>,<date>)
--函數(shù)返回兩個(gè)指定日期在datepart方面的不同之處
DATENAME(<datepart>,<date>)--函數(shù)以字符串的形式返回日期的指定部分
DATEPART(<datepart>,<date>)--函數(shù)以整數(shù)值的形式返回日期的指定部分
GETDATE()--函數(shù)以DATETIME的缺省格式返回系統(tǒng)當(dāng)前的日期和時(shí)間 ----系統(tǒng)函數(shù)----
APP_NAME()--函數(shù)返回當(dāng)前執(zhí)行的應(yīng)用程序的名稱
COALESCE()--函數(shù)返回眾多表達(dá)式中第一個(gè)非NULL表達(dá)式的值
COL_LENGTH(<'table_name'>,<'column_name'>)--函數(shù)返回表中指定字段的長度值
COL_NAME(<table_id>,<column_id>)--函數(shù)返回表中指定字段的名稱即列名
DATALENGTH()--函數(shù)返回?cái)?shù)據(jù)表達(dá)式的數(shù)據(jù)的實(shí)際長度
DB_ID(['database_name'])--函數(shù)返回?cái)?shù)據(jù)庫的編號(hào)
DB_NAME(database_id)--函數(shù)返回?cái)?shù)據(jù)庫的名稱
HOST_ID()--函數(shù)返回服務(wù)器端計(jì)算機(jī)的名稱
HOST_NAME()--函數(shù)返回服務(wù)器端計(jì)算機(jī)的名稱
IDENTITY(<data_type>[,seedincrement])[AScolumn_name])
--IDENTITY()函數(shù)只在SELECTINTO語句中使用用于插入一個(gè)identitycolumn列到新表中
/*selectidentity(int,1,1)ascolumn_name
intonewtable
fromoldtable*/
ISDATE()--函數(shù)判斷所給定的表達(dá)式是否為合理日期
ISNULL(<check_expression>,<replacement_value>)--函數(shù)將表達(dá)式中的NULL
值用指定值替換
ISNUMERIC()--函數(shù)判斷所給定的表達(dá)式是否為合理的數(shù)值
NEWID()--函數(shù)返回一個(gè)UNIQUEIDENTIFIER類型的數(shù)值
NULLIF(<expression1>,<expression2>)
--NULLIF函數(shù)在expression1與expression2相等時(shí)返回NULL
值若不相等時(shí)則返回expression1的值 sql中的保留字 actionaddaggregateall
alterafterandas
ascavgavg_row_lengthauto_increment
betweenbigintbitbinary
blobboolbothby
cascadecasecharcharacter
changecheckchecksumcolumn
columnscommentconstraintcreate
crosscurrent_datecurrent_timecurrent_timestamp
datadatabasedatabasesdate
datetimedayday_hourday_minute
day_seconddayofmonthdayofweekdayofyear
decdecimaldefaultdelayed
delay_key_writedeletedescdescribe
distinctdistinctrowdoubledrop
endelseescapeescaped
enclosedenumexplainexists
fieldsfilefirstfloat
float4float8flushforeign
fromforfullfunction
globalgrantgrantsgroup
havingheaphigh_priorityhour
hour_minutehour_secondhostsidentified
ignoreinindexinfile
innerinsertinsert_idint
integerintervalint1int2
int3int4int8into
ifisisamjoin
keykeyskilllast_insert_id
leadingleftlengthlike
lineslimitloadlocal
locklogslonglongblob
longtextlow_prioritymaxmax_rows
matchmediumblobmediumtextmediumint
middleintmin_rowsminuteminute_second
modifymonthmonthnamemyisam
naturalnumericnonot
nullonoptimizeoption
optionallyororderouter
outfilepack_keyspartialpassword
precisionprimaryprocedureprocess
processlistprivilegesreadreal
referencesreloadregexprename
replacerestrictreturnsrevoke
rlikerowrowssecond
selectsetshowshutdown
smallintsonamesql_big_tablessql_big_selects
sql_low_priority_updatessql_log_offsql_log_update
sql_select_limit
sql_small_resultsql_big_resultsql_warningsstraight_join
startingstatusstringtable
tablestemporaryterminatedtext
thentimetimestamptinyblob
tinytexttinyinttrailingto
typeuseusingunique
unlockunsignedupdateusage
valuesvarcharvariablesvarying
varbinarywithwritewhen
whereyearyear_monthzerofill
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
相關(guān)文章