zoukankan
html css js c++ java
SQL语法大全[转]
--数据操作
4 q2 I! X! M0 z9 p* L
SELECT --从数据库表中检索数据行和列
8 X) H9 }- x4 T- V9 S
INSERT --向数据库表添加新数据行
" j6 p) K- w6 S1 t
DELETE --从数据库表中删除数据行
# }1 a4 x4 [% s' h l# t# V
UPDATE --更新数据库表中的数据
7 L. d) Q2 P& k4 N
--数据定义
( ]' n; I" n% q4 U# U/ G( x0 U& D
CREATE TABLE --创建一个数据库表
# p A+ {, I! G1 T$ Q2 v% h
DROP TABLE --从数据库中删除表
M/ e1 ?( ] t: Y) M0 w! r
ALTER TABLE --修改数据库表结构
/ N+ S" N5 M; U, i6 X
CREATE VIEW --创建一个视图
% F! J1 J( J7 {- U
DROP VIEW --从数据库中删除视图
r7 l0 {/ m3 K# s+ j V9 c- @, y
CREATE INDEX --为数据库表创建一个索引
1 {: J/ U+ ?& f' _' J
DROP INDEX --从数据库中删除索引
! P1 o; d% k& w
CREATE PROCEDURE --创建一个存储过程
; h# I, H( |9 C4 E: V6 a$ f7 g
DROP PROCEDURE --从数据库中删除存储过程
9 Y3 w: N$ Q! K- b( v
CREATE TRIGGER --创建一个触发器
' w, m* m( M. X7 c- q
DROP TRIGGER --从数据库中删除触发器
, W$ h T" t& J3 d1 F* N" P, X
CREATE SCHEMA --向数据库添加一个新模式
% K$ a5 n0 }2 `4 j( k$ |& b
DROP SCHEMA --从数据库中删除一个模式
$ @9 c. z( q* ?# {0 {! v3 m
CREATE DOMAIN --创建一个数据值域
' M* m+ [0 M; k3 D ]3 r
ALTER DOMAIN --改变域定义
4 f- [8 Z& s5 c6 u8 [* X$ m. p
DROP DOMAIN --从数据库中删除一个域
: ^8 Z/ E% z$ x6 a
--数据控制
9 H4 _# a& t) `( D" {% C
GRANT --授予用户访问权限
! A1 x; G9 {( q4 L( z
DENY --拒绝用户访问
, H0 E9 i# ^% L/ ^! d" m
REVOKE --解除用户访问权限
2 X- l$ @. ~" r t, b$ r @2 t
--事务控制
/ k" O1 ^) [" Q8 E
COMMIT --结束当前事务
}% F! o6 N8 d1 P
ROLLBACK --中止当前事务
: g3 F- C$ I0 {! p5 e' @# h3 o
SET TRANSACTION --定义当前事务数据访问特征
" Z. C% O$ A$ x
--程序化SQL
7 ? f' K! t" `5 f
DECLARE --为查询设定游标
0 z0 y5 Z X6 C+ t5 c/ [) c1 p0 W
EXPLAN --为查询描述数据访问计划
+ M4 v' ]: v! h
OPEN --检索查询结果打开一个游标
8 d( h7 S. |) I, ~- K z; s$ J; S
FETCH --检索一行查询结果
! ]& Z, b% ]7 B; D, I# g
CLOSE --关闭游标
& ^; v" F, _; j: T, a- j5 S0 b
PREPARE --为动态执行准备SQL 语句
& c* L5 A q6 M! `3 }7 o
EXECUTE --动态地执行SQL 语句
1 X0 C9 u) I( k- G
DESCRIBE --描述准备好的查询
1 V) c6 Z- V. m) P: c
---局部变量
. b o- Y& @/ V+ a
declare @id char(10)
# j7 _! ]7 ?" h1 G
--set @id = '10010001'
" N. i" |* I8 Y; g5 Y, w
select @id = '10010001'
/ L* N. D+ ?/ C+ J& D
% M' x# v I) z* v$ [5 W0 x" J
---全局变量
1 {1 ~ i$ N; k6 \( z' F* E8 u9 U
---必须以@@开头
X( P- U2 ^ i$ }5 u
- I: Z/ I9 M* B- X% N9 ? o: `3 O4 C$ O6 k
+ C5 a9 u' Z3 v _- B' r
. S/ m. f1 E) Q2 K3 u' B& G$ i
--IF ELSE
* Q8 M0 x8 s x( p
declare @x int @y int @z int
! r. Y& b) t& b: } z, q2 }: Q! g
select @x = 1 @y = 2 @z=3
- Q) o" v* g' m# ?
if @x > @y
! b3 j( D1 g5 G# |
print 'x > y' --打印字符串'x > y'
! {# R9 O4 F$ K8 u4 R0 l& l
else if @y > @z
5 x9 p# Y& l* U5 r" J1 E7 \
print 'y > z'
+ F. _) ^* N; K# e8 J
else print 'z > y'
L8 a8 \, ^. o; b/ R! O1 O$ r) x
i8 a& N3 [4 ]9 U/ S O
, {/ v8 g% K& g v5 C* H9 `7 O
5 J( O% g9 K$ o& T
--CASE
6 b/ t& l- `" I; v/ r, L
use pangu
* D$ G, x) C7 x( K U1 B
update employee
! p& u# v }8 a& s$ J) D
set e_wage =
2 L% [0 q& _8 h
case
) D3 }$ A& `: L
when job_level = ’1’ then e_wage*1.08
- g. ^9 u( B1 P( n$ @5 E& p
when job_level = ’2’ then e_wage*1.07
2 d/ j3 O4 _: a
when job_level = ’3’ then e_wage*1.06
' i2 D8 a( X- i. R- t
else e_wage*1.05
9 _0 x% ?! Y8 P8 r
end
$ ~7 u+ I- G, d4 r( n- N
G$ w* w; [& ?! H/ n
& [. V" g8 Y2 v" d8 g
# v% V3 L9 h) F5 V/ z
--WHILE CONTINUE BREAK
j9 ]5 s$ Y1 B/ O4 j# v) Q3 z
declare @x int @y int @c int
6 K5 W# X" {# V' A; Z6 ?% b3 T2 C- N& H
select @x = 1 @y=1
0 W( ]# I& ~4 N
while @x < 3
! B" H1 n; i# J2 _
begin
% S5 Z( F3 [' J* E5 J9 C
print @x --打印变量x 的值
5 z5 H4 V" b) X, b
while @y < 3
8 k) `/ I! P2 R0 R
begin
7 t0 T6 ^8 L( h3 K% O; z( A
select @c = 100*@x + @y
$ @4 l$ U: t) U# A" |# [
print @c --打印变量c 的值
8 |$ z$ X# G- u- f, |# R! L! W
select @y = @y + 1
- ~+ n2 q8 s/ C0 k
end
. S0 O; z0 W! Q( @6 \" l+ R
select @x = @x + 1
; j, n2 K& m% T+ B8 c- E9 }8 `
select @y = 1
4 n0 y* H$ A9 u' W
end
7 G6 W: T0 l( C$ X2 }! J9 k
0 y9 P% U8 k# [1 S( `; ^% C
) f" W* J) m+ [1 X, R _
. K6 W5 W" a! K1 t5 s; O3 p
--WAITFOR
! i' e) M" p4 F! G ]
--例 等待1 小时2 分零3 秒后才执行SELECT 语句
* M1 ?3 k9 d) V
waitfor delay ’01:02:03’
4 m! y: I5 k0 p' J/ b
select * from employee
# C; ^2 h& @! g" h- }
--例 等到晚上11 点零8 分后才执行SELECT 语句
3 t0 p% E* q/ n% w; R
waitfor time ’23:08:00’
2 S$ b. c6 t6 m7 q+ T5 N
select * from employee
( {+ K; ?/ Z3 |7 D U2 K+ N- e
$ N2 R1 w8 v% f: M8 V$ z2 G' z# x
0 t% S" _1 r! ~7 C3 ]( k
4 u3 |1 N3 ^6 y% F! n
3 v% J+ a! D8 V. W
***SELECT***
4 D% ?$ R3 s9 ?9 ]8 H0 P# I
9 w0 }" y1 g8 ]! A, a' U
: l @- ?* o, y' Y3 x
# q4 o3 G6 u1 c ]
select *(列名) from table_name(表名) where column_name operator value
- |/ L, I. x( d* o! ^
ex
宿主)
+ Z; _ m0 R3 {& p2 ] _
select * from stock_information where stockid = str(nid)
1 V2 z$ |* o5 ^% ~# o
stockname = 'str_name'
/ t; o) s8 D- e0 i+ {# p$ i! U( a
stockname like '% find this %'
% U& n# V7 C2 P
stockname like '[a-zA-Z]%' --------- ([]指定值的范围)
" X5 I3 a% y# D% d# D8 f
stockname like '[^F-M]%' --------- (^排除指定范围)
/ \" P9 b: l1 `- U' p
--------- 只能在使用like关键字的where子句中使用通配符)
5 g1 B2 y, o" |# }
or stockpath = 'stock_path'
) M, e% }& Z. @
or stocknumber < 1000
( P" Y4 ?( J$ U9 L T- ?
and stockindex = 24
7 w' b7 s$ ~9 H; X
not stock*** = 'man'
# z9 u# Z0 y1 E0 R& V& C5 Z9 d, h
stocknumber between 20 and 100
$ O. R) v2 i& i+ E& h% j
stocknumber in(10,20,30)
8 o5 b. L3 L2 ~; q9 }4 I0 j
order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
, `8 }6 t) C; k {1 |) ]# f5 a
order by 1,2 --------- by列号
# @1 O; R( ]; f! e8 P2 O
stockname = (select stockname from stock_information where stockid = 4)
* c' @' a% h9 o9 T6 L
--------- 子查询
( y9 L! q+ r2 ~9 d' T7 U* P
--------- 除非能确保内层select只返回一个行的值,
) {& N0 m: t2 f+ N7 d R8 @7 Z
--------- 否则应在外层where子句中用一个in限定符
, K/ G# x; I& j$ H$ ?
select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复
" X* n" q8 L) g" ?
select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
5 D" M' R' B, C" a) J- e7 M/ K
select stockname , "stocknumber" = count(*) from table_name group by stockname
/ [2 [) T7 ~! \8 Q. c/ I
--------- group by 将表按行分组,指定列中有相同的值
3 Z1 X& D- b! V6 u4 T+ \ r- f
having count(*) = 2 --------- having选定指定的组
6 k5 |6 C, p4 e! w& Y2 I* s; [
8 B) t3 U- N3 x. F+ k& W, [0 i5 r3 w
/ u/ e h. G+ w2 ]4 A
" i! ^1 e9 T2 Z& x! ]
select *
4 h! N$ F9 I5 z8 g \" u. s
from table1, table2
! g7 X B/ V. X' H$ }) a
where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示
2 C/ _9 q+ [- C1 E# `' I
table1.id =* table2.id -------- 右外部连接
1 ?, R9 m3 G+ ]' j
( i, ^" \; A; o
1 s$ `7 j" B4 G, K
/ r1 _: ]$ F: H0 m/ T9 E
select stockname from table1
0 [: K- Z6 e# T/ ^! Y. f% S( x
union [all] ----- union合并查询结果集,all-保留重复行
5 x9 ^7 O. |$ c! K) k! O
select stockname from table2
5 {4 U* K; J- q& N* s- J+ u
, F8 O* n7 y4 n) i
, k2 m: C% ]' W1 y1 Z$ b
+ V( q4 v2 @8 {2 D; q5 _5 S L
***insert***
' j& L; h8 b" b" e
5 Y8 z2 y; g3 R
2 }2 Z! f; \8 H# `3 C3 O: G
k* W( B+ `. [8 z
insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")
, M- o# z+ s% t9 S/ o; Y: b
value (select Stockname , Stocknumber from Stock_table2)---value为select语句
. l, ~& Y& X& y% B6 p: [
! \6 g; D; o0 l" i4 _
0 B! Z2 u% K- i/ U
5 t9 T1 Y3 z* g/ Q5 }( {
***update***
; z- s% a* m$ g
! g' p% i6 g% y" t
7 G) i/ {' G- h
! m/ F+ ~2 |2 F2 }/ @. X% U% n
update table_name set Stockname = "xxx" [where Stockid = 3]
( ?: n" U/ U9 f2 M, D
Stockname = default
6 L+ Q+ S# ?' J% I
Stockname = null
! ]& l/ ? N9 J9 Y* _4 t2 C. c: q
Stocknumber = Stockname + 4
: h" m1 T: u* L& ^, J
( |2 ~8 e9 \ s; N5 l, s+ n3 J
& K, h% b" J( O' w% r9 z& a
1 d- E$ @; K% Z- ~5 a3 P2 ^1 q! |
***delete***
( ]7 k K7 s- S9 v6 R, c% C. m
9 q6 |' Q& ?9 P2 S) q
) @' j0 v/ Y( M! D
1 m1 z+ B. g" f5 I1 O% _. t- e
delete from table_name where Stockid = 3
7 d! Q& A S+ P5 ` Q u
truncate table_name ----------- 删除表中所有行,仍保持表的完整性
& R* g1 g' x" z7 S0 {8 ]# E/ |% A
drop table table_name --------------- 完全删除表
5 }7 \1 l8 @ Y! ^ X1 j
: j, }; g8 X# F1 o2 q7 l
! K6 D8 S4 o. a4 i
3 }% S6 ]3 e! j+ Z8 E9 o: P6 G
***alter table*** --- 修改数据库表结构
( m. ^- a# H# D
! `, s5 k) c, v; r/ U: _& j! q8 B
2 N; J" T ]- z" v0 |
: o0 I q& K$ v( u
alter table database.owner.table_name add column_name char(2) null .....
, s2 L8 z# |2 D- U& E
sp_help table_name ---- 显示表已有特征
' T9 C# b! Y4 V6 v5 l
create table table_name (name char(20), age smallint, lname varchar(30))
; H b! Q+ K O
insert into table_name select ......... ----- 实现删除列的方法(创建新表)
! m: i0 X* E5 |
alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束
: ^$ Q- D5 D: w
) F1 y" L, W# m1 {& `
: J; ~/ p, S6 e A" m# V
" G( H% x* z6 C1 _7 Q
***function(/*常用函数*/)***
- v" s- V) D8 r5 o! B5 d4 j
/ @ q4 V" Y5 Z9 q* `1 s
; g P/ B( l* T2 K7 G
6 b8 s( k' f. E# x* } r( J. \7 a2 Y
----统计函数----
1 ^+ Z" X# W) P6 E6 a: K( p' y2 t
AVG --求平均值
: y7 i4 b& R8 r% D
COUNT --统计数目
8 a7 w9 j& W7 {7 K- K
MAX --求最大值
* a3 A/ t" L: e( w2 {; x
MIN --求最小值
1 _) j4 r2 m* m" B* ^5 {
SUM --求和
1 c' z* ^8 }8 B; t! D6 Y* j
* p8 R- B6 q+ J! T' X6 D
% m, a7 I d9 F1 I
3 K H) s5 p3 `) x4 t% P/ E
--AVG
) n9 \- I& l& b
use pangu
+ X T2 w) u+ r
select avg(e_wage) as dept_avgWage
6 B. r! @/ _; X$ ]# a2 N
from employee
8 E$ `2 g: p0 }! \, }1 \; T
group by dept_id
; X8 K. v c& ]/ e% ?2 n7 N0 X8 @; G
8 g }1 B0 S4 E" v8 T Z
) |4 C4 q7 L. B/ S3 v; n# k0 x
2 I. |, `9 ]! B6 F2 j/ g- N
--MAX
0 T' S l2 T0 T2 ?1 l4 ]1 B4 d, i
--求工资最高的员工姓名
; D" D9 C* u% Z+ ?
use pangu
1 K" {$ @% B. h
select e_name
) n. C3 D; J* p l( @; b/ p* G
from employee
5 w0 F! D# |9 C- Z
where e_wage =
& I1 G$ _6 X' @* |5 d3 e- K
(select max(e_wage)
$ D: m! ]' q# Q1 }( }' w
from employee)
( Q4 r2 u1 q/ D2 ^, H8 C
8 B6 a( M$ `; P: X$ {5 E b3 g9 Q) J
4 a# c) y0 y6 i; @3 M8 g2 b v& ^
/ V) k9 t8 [5 _* h
--STDEV()
1 T0 R# i# M6 u7 c2 K
--STDEV()函数返回表达式中所有数据的标准差
4 n4 m. l) L4 t/ N$ Y6 R
! G9 O, _& O8 g9 M5 i- h2 g! j
" O. ]" a4 _& ~1 i6 W$ s$ D2 s
% Y0 f s+ d: S
--STDEVP()
' O X5 y2 z% O- G! ]
--STDEVP()函数返回总体标准差
1 n5 D% @1 R* Z( z
8 R: {; l1 g/ h0 [
5 c, v! _3 }, X+ S$ S6 d" R3 `
! T/ {8 w7 ]6 ?- R
--VAR()
$ y/ h) `( |0 g5 t0 Q3 e; T* e9 K" O' D
--VAR()函数返回表达式中所有值的统计变异数
/ U: }9 S) Q }9 W4 L& |+ p
+ {! n( i- ]1 w' Z7 _
* t0 s1 }: u9 H: o! y) I' }. P
7 Z' a3 W" u+ G9 q5 `5 E
--VARP()
$ E1 m0 ~/ H# c) d
--VARP()函数返回总体变异数
) \4 e. R0 Q, E" n
9 s$ P0 E" H+ i( R6 a) n, a N$ H
0 |& G6 T/ d0 G; o1 v2 r5 m5 R
+ Z; Q- I( r, M, l
----算术函数----
$ _7 Q- W0 {; D* x9 h/ q( s5 [
+ k% F" z& U& _8 `2 E
$ v! v3 _! J+ E
1 [" E# ~' y, [3 E6 B0 w. P/ t
/***三角函数***/
% R0 L B% ]! K, ?" z
SIN(float_expression) --返回以弧度表示的角的正弦
( K. d* H4 U! ?9 b
COS(float_expression) --返回以弧度表示的角的余弦
; y H. z4 i5 |
TAN(float_expression) --返回以弧度表示的角的正切
& H) c. X; y" r
COT(float_expression) --返回以弧度表示的角的余切
. h0 c2 _0 S/ h! Z# k5 w6 l
/***反三角函数***/
+ i0 W) m0 s5 y I0 X
ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角
% w; q) Z2 P1 N' ^. f
ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角
$ h* g! p6 N7 T4 r( G& x
ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角
7 j" r* e- Y! ^
ATAN2(float_expression1,float_expression2)
. n! h9 F$ ^ q
--返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
& i! `. h3 A" ?2 z5 }3 R1 r
DEGREES(numeric_expression)
- e& u" G! R: |3 V) F
--把弧度转换为角度返回与表达式相同的数据类型可为
8 y+ \3 R$ n: v. j
--INTEGER/MONEY/REAL/FLOAT 类型
- C6 K" d+ o- n
RADIANS(numeric_expression) --把角度转换为弧度返回与表达式相同的数据类型可为
3 y( ]1 H' w" M# @& g( w& A
--INTEGER/MONEY/REAL/FLOAT 类型
! I, B* V6 m- M# \# h4 ~8 L' N0 O# J7 P& j
EXP(float_expression) --返回表达式的指数值
8 e- l X* M8 k: `
LOG(float_expression) --返回表达式的自然对数值
0 i1 R5 _/ i! }" n# s0 q# W. T
LOG10(float_expression)--返回表达式的以10 为底的对数值
- {& {% G/ \" I' O+ D( T
SQRT(float_expression) --返回表达式的平方根
& t' H* H+ c4 z& s3 ]5 `
/***取近似值函数***/
; O& @8 x3 t+ y8 P, q% {7 I
CEILING(numeric_expression) --返回>=表达式的最小整数返回的数据类型与表达式相同可为
) ~, v/ }$ R I% n" S! C
--INTEGER/MONEY/REAL/FLOAT 类型
- ~4 l' b0 k1 Z! h, u' T( @
FLOOR(numeric_expression) --返回<=表达式的最小整数返回的数据类型与表达式相同可为
' F* \4 g: S* G2 t) t
--INTEGER/MONEY/REAL/FLOAT 类型
+ Z/ D/ v7 J; T
ROUND(numeric_expression) --返回以integer_expression 为精度的四舍五入值返回的数据
) l! j% q4 R8 f, ?5 Q
--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
0 b" R" V: w+ n$ r& n* m* X
ABS(numeric_expression) --返回表达式的绝对值返回的数据类型与表达式相同可为
# Z0 l' p/ m6 z% z
--INTEGER/MONEY/REAL/FLOAT 类型
& b. Z1 m' C' [
SIGN(numeric_expression) --测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型
" Q- a8 ^- i1 ^. B
--与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
) g8 c4 p! Q9 J
PI() --返回值为π 即3.1415926535897936
6 r0 ^& y+ j: K$ k) W5 e" H9 C
RAND([integer_expression]) --用任选的[integer_expression]做种子值得出0-1 间的随机浮点数
1 b% B H% H. u$ X/ i
3 B+ g9 L e( o% |2 ?3 [" S0 { D
- O- L# J4 e8 k8 a
& {1 f( @* [* J4 _$ @' d9 y$ w
+ i: k. O6 I: R8 @' k& H6 z
----字符串函数----
, i3 K5 t& ~; w
ASCII() --函数返回字符表达式最左端字符的ASCII 码值
! y+ M( b4 ~8 x E- R0 b
CHAR() --函数用于将ASCII 码转换为字符
# U4 q! O+ s) `
--如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值
8 Q' ^; `, \/ |- g# _
LOWER() --函数把字符串全部转换为小写
, B& j7 j2 m7 S, r6 F" o7 u
UPPER() --函数把字符串全部转换为大写
, p" B1 T) ^6 j. g- v/ ^# C
STR() --函数把数值型数据转换为字符型数据
- ~* p2 @% ^2 N0 w, K0 e
LTRIM() --函数把字符串头部的空格去掉
! Q# a$ H$ r7 X1 e4 S
RTRIM() --函数把字符串尾部的空格去掉
' d/ K( R/ x$ s. C
LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串
+ a( V0 D9 H8 J8 H
CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置
( G& |7 }+ s: l9 Z8 }
SOUNDEX() --函数返回一个四位字符码
4 ^ h" }! k: D
--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值
4 i) s: l4 f) Q0 o$ ^* A
DIFFERENCE() --函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异
. n% q; C- R2 U7 K! q
--0 两个SOUNDEX 函数返回值的第一个字符不同
# L, Z! I6 c+ ~) R+ O, a K) c
--1 两个SOUNDEX 函数返回值的第一个字符相同
- A; J; ~/ ?6 `6 I$ y% @
--2 两个SOUNDEX 函数返回值的第一二个字符相同
/ H2 H6 F# b9 `& D* r( n
--3 两个SOUNDEX 函数返回值的第一二三个字符相同
; ]4 G& C, A! Q- S
--4 两个SOUNDEX 函数返回值完全相同
9 l5 Y' V o! w0 L- m: r: ^
' d9 r) g* X; ~" ?- D
% `, v: w" P. W. x
% T9 O# O7 }+ s; ^; w/ A3 ]4 |. E
6 I2 T+ k- T, y
QUOTENAME() --函数返回被特定字符括起来的字符串
7 k9 H% z, ?5 u f6 R$ B5 n
/*select quotename('abc', '{') quotename('abc')
& O6 W; m6 e7 z) X* Q
运行结果如下
$ l$ f1 @- u2 y1 p
----------------------------------{
j I4 t4 s3 w6 A5 |
{abc} [abc]*/
& e2 B( L- q) I% ^* z
2 F( G3 m* c8 `' Q( P
' Y, ~3 t% |7 @" n1 Y, G* i
0 k3 _' b: D2 w# I, A2 q
REPLICATE() --函数返回一个重复character_expression 指定次数的字符串
+ u. {8 }. U6 E+ x- e; M% g& [
/*select replicate('abc', 3) replicate( 'abc', -2)
8 D5 Q9 G5 M/ q8 b. F0 b
运行结果如下
9 d1 p, d4 }3 Y6 e) M
----------- -----------
; k" E) t7 _+ H& z2 H
abcabcabc NULL*/
, C+ l7 _2 _- h( E' F8 s
9 ]' O* z4 b$ \- h3 j
2 E; |9 ^" X- ^* z6 G
4 l4 Z3 k4 m6 a* m$ ]
REVERSE() --函数将指定的字符串的字符排列顺序颠倒
) X" N* @, N0 z4 \1 `/ `
REPLACE() --函数返回被替换了指定子串的字符串
0 n) ?! _4 `% {4 }( H# T
/*select replace('abc123g', '123', 'def')
% {9 w& L9 d" Y
运行结果如下
/ v( a! q: U. ^" J, D0 N) b
----------- -----------
# p* B! J7 B( P: G$ I
abcdefg*/
: W( n$ F9 W- D; i* U
" }; O* a8 z) Q+ M
) S% j1 {2 ^7 w
* P$ L1 ~. e; _! i W3 O
SPACE() --函数返回一个有指定长度的空白字符串
/ ~7 z% d) `# S- M2 ?
STUFF() --函数用另一子串替换字符串指定位置长度的子串
: [+ z5 N8 d) b1 H5 @0 B8 b' R
5 g# ?& u( b- C. h/ X
3 L2 @* c# w& I) T
+ G& U* J4 q# b
& P1 ?* P9 E* }* p
----数据类型转换函数----
" F9 c, P2 Y( M; X
CAST() 函数语法如下
8 h. I" Z! b2 m2 e- L: v
CAST() (<expression> AS <data_ type>[ length ])
0 ]8 P7 M3 i, |) T' G* @
CONVERT() 函数语法如下
5 v8 N% {" N" G! p5 r
CONVERT() (<data_ type>[ length ], <expression> [, style])
0 v; m$ o" F8 w& t/ \
% U: `1 G6 J/ X m* O) {8 b X
9 m$ w9 R, b# b. o8 l. J* o; }
$ T/ K( m. Q/ b/ D, q5 g3 y& M
select cast(100+99 as char) convert(varchar(12), getdate())
/ Y3 g/ R4 {5 R% f
运行结果如下
* G3 a: q! X/ K
------------------------------ ------------
: y8 i# h& [: Q6 C, K
199 Jan 15 2000
! e) H& k( u2 N+ O
6 t2 A0 c2 d4 O. ~3 J
6 \7 n( J+ _' }' F# S( |1 Q
( [6 p$ I: R3 K3 z6 m& q
----日期函数----
. z0 B' q- b7 w6 \
DAY() --函数返回date_expression 中的日期值
5 f( u. J- ~ m( X
MONTH() --函数返回date_expression 中的月份值
7 \5 A7 S; R9 C6 R3 |3 Z
YEAR() --函数返回date_expression 中的年份值
- n2 S9 Q" r0 X/ R* o6 H: p
DATEADD(<datepart> ,<number> ,<date>)
: E- h# B* l1 V* ]
--函数返回指定日期date 加上指定的额外日期间隔number 产生的新日期
' U8 B( `5 ^& Z" D* P1 f
DATEDIFF(<datepart> ,<number> ,<date>)
# ~4 D1 v3 o: z p& v$ f
--函数返回两个指定日期在datepart 方面的不同之处
3 o0 W( V$ ]# j ?1 P0 O
DATENAME(<datepart> , <date>) --函数以字符串的形式返回日期的指定部分
' j! R: Q( I" c! C* F' G* T6 e
DATEPART(<datepart> , <date>) --函数以整数值的形式返回日期的指定部分
& C# ~( z8 L0 `7 ]1 B1 s2 f
GETDATE() --函数以DATETIME 的缺省格式返回
系统
当前的日期和
时间
; J5 w' q/ |. f! T1 ]
2 T+ o7 G1 J+ D8 N
2 c2 E& b6 K t6 j: V6 @# v' e
+ v( x% x1 o% @5 C: q
----系统函数----
, J! K4 U/ ?0 Q6 V
APP_NAME() --函数返回当前执行的应用程序的名称
$ b$ g4 a% j9 J+ F
COALESCE() --函数返回众多表达式中第一个非NULL 表达式的值
# B' J3 @ i- p" E, f% X
COL_LENGTH(<'table_name'>, <'column_name'>) --函数返回表中指定字段的长度值
9 k9 w+ w0 G' h) @( c
COL_NAME(<table_id>, <column_id>) --函数返回表中指定字段的名称即列名
2 V7 e2 h3 X! X. M# u: O2 E3 B& A
DATALENGTH() --函数返回数据表达式的数据的实际长度
6 `5 l; P+ h3 ^: ` J
DB_ID(['database_name']) --函数返回数据库的编号
$ v% g+ P# d8 Z% f; h, I( s- J; {
DB_NAME(database_id) --函数返回数据库的名称
6 t4 `% l8 l1 ~6 \/ e. W
HOST_ID() --函数返回
服务器
端计算机的名称
! b8 @1 F; G2 L
HOST_NAME() --函数返回服务器端计算机的名称
/ X- a* M+ }7 a
IDENTITY(<data_type>[, seed increment]) [AS column_name])
5 q$ t0 g7 X: \! q
--IDENTITY() 函数只在SELECT INTO 语句中使用用于插入一个identity column列到新表中
% t8 a, O T% |" f2 ^/ A
/*select identity(int, 1, 1) as column_name
0 H! }! S: f M
into newtable
0 F" k$ C/ l( ^; i6 V, I+ T
from oldtable*/
% m d- w( a: f
ISDATE() --函数判断所给定的表达式是否为合理日期
9 v! H6 Q* E% C9 G7 O2 y. \
ISNULL(<check_expression>, <replacement_value>) --函数将表达式中的NULL 值用指定值替换
- R' S. P. Q: j" Z0 [
ISNUMERIC() --函数判断所给定的表达式是否为合理的数值
3 m+ D( \% A* w3 V
NEWID() --函数返回一个UNIQUEIDENTIFIER 类型的数值
, J) [" B3 k% S% A
NULLIF(<expression1>, <expression2>)
7 O% o8 w9 _9 l6 z- L& f8 {6 f
--NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回expression1 的值
4 a! l2 p5 R7 d3 m1 E Q
) u) A+ a1 l4 E% h% P% e6 l: M3 r
/ j5 v# K" ?: _& Y- d# V
" Q) i+ [) @% u( |' S
3 O7 a) T- y( M
0 r! s( H. t# _* W6 S$ |+ |; j
: g" k: E" D* q% w
: {& ?* T, c. J( H9 U" V3 ^
sql中的保留字
7 e" y* E4 Q' z
+ O0 }7 t5 q9 h% G' i! g
9 U6 A6 f( X9 G. z
# ?- D1 t" d/ M( F
action add aggregate all
8 V/ c' Z' a& x6 b5 r4 B. j7 i
alter after and as
C2 R* e0 i' X# U9 W
asc avg avg_row_length auto_increment
# c+ S# T3 A0 e
between bigint bit binary
0 k/ Z% w+ q/ H6 Q
blob bool both by
1 |, g/ c0 I2 B8 @/ [0 ?1 `
cascade case char character
; e' a$ r6 ]- I8 v4 \* I
change check checksum column
0 k& B/ Z! C' c$ u
columns comment constraint create
( H3 p9 J1 F/ ^
cross current_date current_time current_timestamp
% u; K6 q0 H8 s( b# Y
data database databases date
* |2 l1 |& D: P, i+ }' |! N
datetime day day_hour day_minute
, z/ u6 _ z9 Y; d
day_second dayofmonth dayofweek dayofyear
7 V0 z' k% ?9 w9 s% v- T
dec decimal default delayed
! z9 Y9 s) F% _, v$ [) r
delay_key_write delete desc describe
3 [8 T' t& X- T6 X& E+ }% G
distinct distinctrow double drop
( e, M! D* E+ f, R" [1 [4 E
end else escape escaped
3 i0 g: W( ?/ K) w
enclosed enum explain exists
; Q$ ^: i! Q$ u- s
fields file first float
! D- I; x- S2 y+ N, q4 l1 A
float4 float8 flush foreign
% z, H7 Y. s y2 g+ Q5 v9 O$ g
from for full function
8 w, L7 j3 Z) O4 ~' q) c
global grant grants group
B" t3 C- D/ m9 H4 p1 Y
having heap high_priority hour
: a: k4 J& h, N( A
hour_minute hour_second hosts identified
3 w; j, I9 S* x4 L5 |# \+ J& V% N
ignore in index infile
2 `; c2 z6 i4 ]
inner insert insert_id int
- H5 k c) A9 C( z* h
integer interval int1 int2
7 V# A- H5 G! \! |; i$ x$ G0 I
int3 int4 int8 into
. c+ i- ?: a* Y% _- F: K* T
if is isam join
/ i# n' X$ A* \9 f3 o4 [/ @( F
key
keys kill last_insert_id
& }% T( d& ~: W" m! w# Y
leading left length like
; F0 a1 D6 |# i, I! O
lines limit load local
; @8 L6 w: T, v1 i, s, u
lock logs long longblob
% m5 A) [* [. M' O$ y' O9 s
longtext low_priority max max_rows
' ~0 w* _: ~ L0 L4 Z
match mediumblob mediumtext mediumint
/ D/ t y1 h1 I6 h; r7 g4 z" A
middleint min_rows minute minute_second
0 l. p) P5 ]9 g/ r6 A2 s3 p3 ^
modify month monthname myisam
- M. W/ y; M+ z# z& ^# ~$ r
natural numeric no not
3 G# N2 O6 X9 W' v) z, [0 E
null on optimize option
4 _5 d7 W2 C0 r% x8 v5 ?
optionally or order outer
6 f. j% i$ T( @; X3 g8 b) H Q' ~
outfile pack_keys partial password
I- P4 J5 }& _
precision primary procedure process
+ h0 r6 \& Z2 e
processlist privileges read real
( y3 T5 B9 ]9 X0 y. m% F$ q
references reload regexp rename
. W0 r4 K4 X& a0 c
replace restrict returns revoke
2 E. J- q, N6 D9 T/ J& c
rlike row rows second
) `* T/ P; B6 K, c
select set show shutdown
& l- x* H, e# q. [4 V6 } C
smallint soname sql_big_tables sql_big_selects
( S. C% [$ ~# `4 e! y. x6 o' b
sql_low_priority_updates sql_log_off sql_log_update sql_select_limit
5 ]4 H+ N, G4 O* _/ F$ _
sql_small_result sql_big_result sql_warnings straight_join
+ p- Q) `( w1 l- h
starting status string table
* P+ u+ s3 ~9 z
tables temporary terminated text
. W+ `3 p6 v" w9 C ?8 j% @$ u5 m
then time timestamp tinyblob
; v% `8 r! }* n d3 F- u* U; n* _
tinytext tinyint trailing to
' ~, @4 ]4 Z/ C& Z. t6 k7 J
type use using unique
( n6 A+ ~, I; F+ K+ l' A
unlock unsigned update usage
+ ]- B9 p7 e' ^; `- _$ m
values varchar variables varying
. N: t. ?3 s2 K) Y! i
varbinary with write when
2 Y7 Q, H/ g1 Q' h0 U) W1 e
where year year_month zerofill
查看全文
相关阅读:
生成器和推导式
闭包
python
python初识函数二
python函数初识
python文件操作二
文件操作
python集合,深浅copy
Python安装、配置图文详解
jsDoc 使用及配置!
原文地址:https://www.cnblogs.com/liufei88866/p/1059504.html
最新文章
Python_if
Python_range
Python_元组
Python_Bool
Python_Int
python2中打印中文
有关python2与python3中关于除的不同
openpyxl
python的设计原则及设计模式
爬虫之初识爬虫
热门文章
sanic官方文档解析之Example(二)
sanic官方文档解析之Example(一)
sanic官方文档解析之Deploying(部署)和Extension(扩展)
sanic官方文档解析之ssl,debug mode模式和test(测试)
sanic官方文档解析之Custom Protocols(自定义协议)和Socket(网络套接字)
sanic官方文档解析之streaming(流动,滚动)和class_based_views(CBV的写法)
sanic官方文档解析之websocket(网络套接字)和handle decorators(处理程序装饰器)
sanic官方文档解析之Exception和Middleware,Listeners
sanic官方文档解析之静态文件和版本
python 内置函数
Copyright © 2011-2022 走看看