sql语句大全.docx

上传人:b****7 文档编号:16300694 上传时间:2023-07-12 格式:DOCX 页数:20 大小:22.08KB
下载 相关 举报
sql语句大全.docx_第1页
第1页 / 共20页
sql语句大全.docx_第2页
第2页 / 共20页
sql语句大全.docx_第3页
第3页 / 共20页
sql语句大全.docx_第4页
第4页 / 共20页
sql语句大全.docx_第5页
第5页 / 共20页
sql语句大全.docx_第6页
第6页 / 共20页
sql语句大全.docx_第7页
第7页 / 共20页
sql语句大全.docx_第8页
第8页 / 共20页
sql语句大全.docx_第9页
第9页 / 共20页
sql语句大全.docx_第10页
第10页 / 共20页
sql语句大全.docx_第11页
第11页 / 共20页
sql语句大全.docx_第12页
第12页 / 共20页
sql语句大全.docx_第13页
第13页 / 共20页
sql语句大全.docx_第14页
第14页 / 共20页
sql语句大全.docx_第15页
第15页 / 共20页
sql语句大全.docx_第16页
第16页 / 共20页
sql语句大全.docx_第17页
第17页 / 共20页
sql语句大全.docx_第18页
第18页 / 共20页
sql语句大全.docx_第19页
第19页 / 共20页
sql语句大全.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

sql语句大全.docx

《sql语句大全.docx》由会员分享,可在线阅读,更多相关《sql语句大全.docx(20页珍藏版)》请在冰点文库上搜索。

sql语句大全.docx

sql语句大全

--语句功能

1、数据操作

Select--从数据库表中检索数据行和列

Insert--向数据库表添加新数据行

Delete--从数据库表中删除数据行

Update--更新数据库表中的数据

2、数据定义

CreateTABLE--创建一个数据库表

DropTABLE--从数据库中删除表

AlterTABLE--修改数据库表结构

CreateVIEW--创建一个视图

DropVIEW--从数据库中删除视图

CreateINDEX--为数据库表创建一个索引

DropINDEX--从数据库中删除索引

CreatePROCEDURE--创建一个存储过程

DropPROCEDURE--从数据库中删除存储过程

CreateTRIGGER--创建一个触发器

DropTRIGGER--从数据库中删除触发器

CreateSCHEMA--向数据库添加一个新模式

DropSCHEMA--从数据库中删除一个模式

CreateDOMAIN--创建一个数据值域

AlterDOMAIN--改变域定义

DropDOMAIN--从数据库中删除一个域

3、数据控制

GRANT--授予用户访问权限

DENY--拒绝用户访问

REVOKE--解除用户访问权限

4、事务控制

COMMIT--结束当前事务

ROLLBACK--中止当前事务

SETTRANSACTION--定义当前事务数据访问特征

5、程序化SQL

DECLARE--为查询设定游标

EXPLAN--为查询描述数据访问计划

OPEN--检索查询结果打开一个游标

FETCH--检索一行查询结果

CLOSE--关闭游标

PREPARE--为动态执行准备SQL语句

EXECUTE--动态地执行SQL语句

DESCRIBE--描述准备好的查询

6、局部变量

declare@idchar(10)

--set@id='10010001'

select@id='10010001'

7、全局变量

---必须以@@开头

8、IF语句

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'

9、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

10、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

11、WAITFOR语句

--例等待1小时2分零3秒后才执行Select语句

waitfordelay’01:

02:

03’

select*fromemployee

--例等到晚上11点零8分后才执行Select语句

waitfortime’23:

08:

00’

select*fromemployee

12、Select语句

select*(列名)fromtable_name(表名)wherecolumn_nameoperatorvalue

ex:

(宿主)

select*fromstock_informationwherestockid=str(nid)

stockname='str_name'

stocknamelike'%findthis%'

stocknamelike'[a-zA-Z]%'---------([]指定值的范围)

stocknamelike'[^F-M]%'---------(^排除指定范围)

---------只能在使用like关键字的where子句中使用通配符)

orstockpath='stock_path'

orstocknumber<1000

andstockindex=24

notstocksex='man'

stocknumberbetween20and100

stocknumberin(10,20,30)

orderbystockiddesc(asc)---------排序,desc-降序,asc-升序

orderby1,2---------by列号

stockname=(selectstocknamefromstock_informationwherestockid=4)

---------子查询

---------除非能确保内层select只返回一个行的值,

---------否则应在外层where子句中用一个in限定符

selectdistinctcolumn_nameformtable_name---------distinct指定检索独有的列值,不重复

selectstocknumber,"stocknumber+10"=stocknumber+10fromtable_name

selectstockname,"stocknumber"=count(*)fromtable_namegroupbystockname

---------groupby将表按行分组,指定列中有相同的值

havingcount(*)=2---------having选定指定的组

select*

fromtable1,table2

wheretable1.id*=table2.id--------左外部连接,table1中有的而table2中没有得以null表示

table1.id=*table2.id--------右外部连接

selectstocknamefromtable1

union[all]-----union合并查询结果集,all-保留重复行

selectstocknamefromtable2

13、insert语句

insertintotable_name(Stock_name,Stock_number)value("xxx","xxxx")

value(selectStockname,StocknumberfromStock_table2)---value为select语句

14、update语句

updatetable_namesetStockname="xxx"[whereStockid=3]

Stockname=default

Stockname=null

Stocknumber=Stockname+4

15、delete语句

deletefromtable_namewhereStockid=3

truncatetable_name-----------删除表中所有行,仍保持表的完整性

droptabletable_name---------------完全删除表

16、altertable***---修改数据库表结构

altertabledatabase.owner.table_nameaddcolumn_namechar

(2)null.....

sp_helptable_name----显示表已有特征

createtabletable_name(namechar(20),agesmallint,lnamevarchar(30))

insertintotable_nameselect.........-----实现删除列的方法(创建新表)

altertabletable_namedropconstraintStockname_default----删除Stockname的default约束

17、常用函数

----统计函数----

AVG--求平均值

COUNT--统计数目

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()函数返回表达式中所有数据的标准差

--STDEVP()

--STDEVP()函数返回总体标准差

--VAR()

--VAR()函数返回表达式中所有值的统计变异数

--VARP()

--VARP()函数返回总体变异数

----算术函数----

/***三角函数***/

SIN(float_expression)--返回以弧度表示的角的正弦

COS(float_expression)--返回以弧度表示的角的余弦

TAN(float_expression)--返回以弧度表示的角的正切

COT(float_expression)--返回以弧度表示的角的余切

/***反三角函数***/

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)

--把弧度转换为角度返回与表达式相同的数据类型可为

--INTEGER/MONEY/REAL/FLOAT类型

RADIANS(numeric_expression)--把角度转换为弧度返回与表达式相同的数据类型可为

--INTEGER/MONEY/REAL/FLOAT类型

EXP(float_expression)--返回表达式的指数值

LOG(float_expression)--返回表达式的自然对数值

LOG10(float_expression)--返回表达式的以10为底的对数值

SQRT(float_expression)--返回表达式的平方根

/***取近似值函数***/

CEILING(numeric_expression)--返回>=表达式的最小整数返回的数据类型与表达式相同可为

--INTEGER/MONEY/REAL/FLOAT类型

FLOOR(numeric_expression)--返回<=表达式的最小整数返回的数据类型与表达式相同可为

--INTEGER/MONEY/REAL/FLOAT类型

ROUND(numeric_expression)--返回以integer_expression为精度的四舍五入值返回的数据

--类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT类型

ABS(numeric_expression)--返回表达式的绝对值返回的数据类型与表达式相同可为

--INTEGER/MONEY/REAL/FLOAT类型

SIGN(numeric_expression)--测试参数的正负号返回0零值1正数或-1负数返回的数据类型

--与表达式相同可为INTEGER/MONEY/REAL/FLOAT类型

PI()--返回值为π即3.1415926535897936

RAND([integer_expression])--用任选的[integer_expression]做种子值得出0-1间的随机浮点数

18、字符串函数

ASCII()--函数返回字符表达式最左端字符的ASCII码值

CHAR()--函数用于将ASCII码转换为字符

--如果没有输入0~255之间的ASCII码值CHAR函数会返回一个NULL值

LOWER()--函数把字符串全部转换为小写

UPPER()--函数把字符串全部转换为大写

STR()--函数把数值型数据转换为字符型数据

LTRIM()--函数把字符串头部的空格去掉

RTRIM()--函数把字符串尾部的空格去掉

LEFT(),RIGHT(),SUBSTRING()--函数返回部分字符串

CHARINDEX(),PATINDEX()--函数返回字符串中某个指定的子串出现的开始位置

SOUNDEX()--函数返回一个四位字符码

--SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0值

DIFFERENCE()--函数返回由SOUNDEX函数返回的两个字符表达式的值的差异

--0两个SOUNDEX函数返回值的第一个字符不同

--1两个SOUNDEX函数返回值的第一个字符相同

--2两个SOUNDEX函数返回值的第一二个字符相同

--3两个SOUNDEX函数返回值的第一二三个字符相同

--4两个SOUNDEX函数返回值完全相同

QUOTENAME()--函数返回被特定字符括起来的字符串

/*selectquotename('abc','{')quotename('abc')

运行结果如下

----------------------------------{

{abc}[abc]*/

REPLICATE()--函数返回一个重复character_expression指定次数的字符串

/*selectreplicate('abc',3)replicate('abc',-2)

运行结果如下

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

abcabcabcNULL*/

REVERSE()--函数将指定的字符串的字符排列顺序颠倒

REPLACE()--函数返回被替换了指定子串的字符串

/*selectreplace('abc123g','123','def')

运行结果如下

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

abcdefg*/

SPACE()--函数返回一个有指定长度的空白字符串

STUFF()--函数用另一子串替换字符串指定位置长度的子串

19、数据类型转换函数----

CAST()函数语法如下

CAST()(AS[length])

CONVERT()函数语法如下

CONVERT()([length],[,style])

selectcast(100+99aschar)convert(varchar(12),getdate())

运行结果如下

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

199Jan152000

20、日期函数----

DAY()--函数返回date_expression中的日期值

MONTH()--函数返回date_expression中的月份值

YEAR()--函数返回date_expression中的年份值

DATEADD(,,

--函数返回指定日期date加上指定的额外日期间隔number产生的新日期

DATEDIFF(,,

--函数返回两个指定日期在datepart方面的不同之处

DATENAME(,)--函数以字符串的形式返回日期的指定部分

DATEPART(,)--函数以整数值的形式返回日期的指定部分

GETDATE()--函数以DATETIME的缺省格式返回系统当前的日期和时间

21、系统函数----

APP_NAME()--函数返回当前执行的应用程序的名称

COALESCE()--函数返回众多表达式中第一个非NULL表达式的值

COL_LENGTH(<'table_name'>,<'column_name'>)--函数返回表中指定字段的长度值

COL_NAME(,)--函数返回表中指定字段的名称即列名

DATALENGTH()--函数返回数据表达式的数据的实际长度

DB_ID(['database_name'])--函数返回数据库的编号

DB_NAME(database_id)--函数返回数据库的名称

HOST_ID()--函数返回服务器端计算机的名称

HOST_NAME()--函数返回服务器端计算机的名称

IDENTITY([,seedincrement])[AScolumn_name])

--IDENTITY()函数只在SelectINTO语句中使用用于插入一个identitycolumn列到新表中

/*selectidentity(int,1,1)ascolumn_name

intonewtable

fromoldtable*/

ISDATE()--函数判断所给定的表达式是否为合理日期

ISNULL(,)--函数将表达式中的NULL值用指定值替换

ISNUMERIC()--函数判断所给定的表达式是否为合理的数值

NEWID()--函数返回一个UNIQUEIDENTIFIER类型的数值

NULLIF(,

--NULLIF函数在expression1与expression2相等时返回NULL值若不相等时则返回expression1的值

22、数学函数

  1.绝对值

  S:

selectabs(-1)value

  O:

selectabs(-1)valuefromdual

  2.取整(大)

  S:

selectceiling(-1.001)value

  O:

selectceil(-1.001)valuefromdual

  3.取整(小)

  S:

selectfloor(-1.001)value

  O:

selectfloor(-1.001)valuefromdual

  4.取整(截取)

  S:

selectcast(-1.002asint)value

  O:

selecttrunc(-1.002)valuefromdual

  5.四舍五入

  S:

selectround(1.23456,4)value1.23460

  O:

selectround(1.23456,4)valuefromdual1.2346

  6.e为底的幂

  S:

selectExp

(1)value2.7182818284590451

  O:

selectExp

(1)valuefromdual2.71828182

  7.取e为底的对数

  S:

selectlog(2.7182818284590451)value1

  O:

selectln(2.7182818284590451)valuefromdual;1

  8.取10为底对数

  S:

selectlog10(10)value1

  O:

selectlog(10,10)valuefromdual;1

  9.取平方

  S:

selectSQUARE(4)value16

  O:

selectpower(4,2)valuefromdual16

  10.取平方根

  S:

selectSQRT(4)value2

  O:

selectSQRT(4)valuefromdual2

  11.求任意数为底的幂

  S:

selectpower(3,4)value81

  O:

selectpower(3,4)valuefromdual81

  12.取随机数

  S:

selectrand()value

  O:

selectsys.dbms_random.value(0,1)valuefromdual;

  13.取符号

  S:

selectsign(-8)value-1

  O:

selectsign(-8)valuefromdual-1

  ----------数学函数

  14.圆周率

  S:

SelectPI()value3.1415926535897931

  O:

不知道

  15.sin,cos,tan参数都以弧度为单位

  例如:

selectsin(PI()/2)value得到1(SQLServer)

  16.Asin,Acos,Atan,Atan2返回弧度

  17.弧度角度互换(SQLServer,Oracle不知道)

  DEGREES:

弧度-〉角度

  RADIANS:

角度-〉弧度

  ---------数值间比较

  18.求集合最大值

  S:

selectmax(value)valuefrom

  (select1value

  union

  select-2value

  union

  select4value

  union

  select3value)a

  O:

selectgreatest(1,-2,4,3)valuefromdual

  19.求集合最小值

  S:

selectmin(value)valuefr

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2