志在指尖
用双手敲打未来

sql语句(SQL基础语句汇总)

sql语句

结构化查询言语(StructuredQueryLanguage)简称SQL,结构化查询言语是一种数据库查询和程序设计言语,用于存取数据以及查询、更新和办理关系数据库系统;
sql语句便是对数据库进行操作的一种言语。sql

SQL基础语句汇总

创立数据库
创立之前判别该数据库是否存在
ifexists(select*fromsysdatabaseswherename=’databaseName’)
dropdatabasedatabaseName
go
CreateDATABASEdatabasename
onprimary–默许就归于primary文件组,可省略

/*–数据文件的具体描述–*/
name=‘databasename_data’,–主数据文件的逻辑称号
filename=‘’所存位置:\databasename_data.mdf’,–主数据文件的物理称号
size=数值mb,–主数据文件的初始大小
maxsize=数值mb,–主数据文件添加的最大值
filegrowth=数值%–主数据文件的添加率

logon

/*–日志文件的具体描述,各参数含义同上–*/
name=’databasename_log’,–日志文件的逻辑称号
filename=’所存目录:\databasename_log.ldf’,–日志文件的物理称号
size=数值mb,–日志文件的初始大小
filegrowth=数值%–日志文件的添加值

删去数据库
dropdatabasedatabasename
备份
—创立备份数据的device
USEmaster
EXECsp_addumpdevice’disk’,’testBack’,’c:\mssql7backup\MyNwind_1.dat’
—开端备份
BACKUPDATABASEpubsTOtestBack
创立新表
createtabletabname(col1type1[notnull][primarykey]identity(起始值,递加量)
,col2type2[notnull],..)–primarykey为主键identity表示递加数量
依据已有的表创立新表:
A:go
use原数据库名
go
select*into意图数据库名.dbo.意图表名from原表名(使用旧表创立新表)
B:createtabletab_newasselectcol1,col2…fromtab_olddefinitiononly
创立序列
createsequenceSIMON_SEQUENCE
minvalue1–最小值
maxvalue999999999999999999999999999–最大值
startwith1–开端值
incrementby1–每次加几
cache20;
删去表
droptabletabname–这是将表连同表中信息一同删去可是日志文件中会有记载
删去信息
deletefromtable_name-这是将表中信息删去可是会保留这个表
添加列
Altertabletable_nameaddcolumn_namecolumn_type[default默许值]–在表中添加一列,[]内的内容为可选项
删去列
Altertabletable_namedropcolumncolumn_name–从表中删去一列
添加主键
Altertabletabnameaddprimarykey(col)
说明:删去主键:Altertabletabnamedropprimarykey(col)
创立索引
create[unique]indexidxnameontabname(col…。)
删去索引:dropindexidxnameontabname
注:索引是不行更改的,想更改必须删去重新建。
创立视图
createviewviewnameasselectstatement
删去视图:dropviewviewname
根本语句
(1)数据记载筛选:
sql=”select*from数据表where字段名=字段值orderby字段名[desc]”(按某个字段值降序摆放。默许升序ASC)
sql=”select*from数据表where字段名like’%字段值%’orderby字段名[desc]”
sql=”selecttop10*from数据表where字段名=字段值orderby字段名[desc]”
sql=”selecttop10*from数据表orderby字段名[desc]”
sql=”select*from数据表where字段名in(‘值1′,’值2′,’值3′)”
sql=”select*from数据表where字段名between值1and值2″
(2)更新数据记载:
sql=”update数据表set字段名=字段值where条件表达式”
sql=”update数据表set字段1=值1,字段2=值2……字段n=值nwhere条件表达式”
(3)删去数据记载:
sql=”deletefrom数据表where条件表达式”
sql=”deletefrom数据表”(将数据表一切记载删去)
(4)添加数据记载:
sql=”insertinto数据表(字段1,字段2,字段3…)values(值1,值2,值3…)”
sql=”insertinto方针数据表select*from源数据表”(把源数据表的记载添加到方针数据表)
(5)数据记载计算函数:
AVG(字段名)得出一个表格栏平均值
COUNT(*;字段名)对数据行数的计算或对某一栏有值的数据行数计算
MAX(字段名)获得一个表格栏最大的值
MIN(字段名)获得一个表格栏最小的值
SUM(字段名)把数据栏的值相加
引用以上函数的办法:
sql=”selectsum(字段名)as别号from数据表where条件表达式”
setrs=conn.excute(sql)
用rs(“别号”)获取计算的值,其它函数运用同上。
查询去除重复值:selectdistinct*fromtable1
(6)数据表的树立和删去:
CREATETABLE数据表称号(字段1类型1(长度),字段2类型2(长度)……)
(7)单列求和:
SELECTSUM(字段名)FROM数据表
最新语句
查询数据库中含有同一这字段的表:
selectnamefromsysobjectswherextype=’u’andidin(selectidfromsyscolumnswherename=’s3′)
依据出生日期能够算出年纪:
selectdatediff(year,scrq,’2013′)as年纪frompage_shsjgrgl
依据当时年份自动算出年纪
selectdatediff(year,csny,cast(YEAR(GETDATE())aschar))

selectyear(djsj)frompage_shsjgrgl

selectmonth(djsj)frompage_shsjgrgl

selectday(djsj)frompage_shsjgrgl
在同一数据库中仿制表结构:
select*intoafrombwhere1<>1
当IDENTITY_INSERT设置为OFF时,不能为表’aa’中的标识列刺进显式值。
setidentity_insertaaON—-设置打开,
批量刺进:
insertintoaa(Customer_ID,ID_Type,ID_Number)selectCustomer_ID,ID_Type,ID_NumberfromTCustomer;
setidentity_insertaaOFF---关闭
不同数据库之间的仿制:
仿制结构:
select*intotest.dbo.bfromGCRT.dbo.page_shsjgrglwhere1<>1
仿制内容:
insertintotest.dbo.b(xm,ssdq)selectxm,ssdqfromGCRT.dbo.page_shsjgrgl
检查数据库中一切的数据表表名:
selectnamefromSysObjectswheretype=’u’
检查数据库中一切表含有同一字段的表:
selectnamefromsysobjectswherextype=’u’andidin(selectidfromsyscolumnswherename=’同一字段’)
检查数据表中的一切字段:
selectnamefromSyscolumnswhereid=object_id(‘表名’)
查询数据库时前10条记载:
selecttop10*fromtd_areacodeorderbynewid()
修改字段类型:
ALTERTABLE表名ALTERCOLUMN字段名varchar(30)NOTNULL
useZHJIANGJGYL
declare@tempnvarchar(30)
set@temp=’ZWI4′
selecthllxfrompage_yljg_zyrywherehllxnotin(
select
case@tempwhen”
then”
elseb1end
from(
select*fromTD_Codewherepage_en=’page_yljg_zyry’andB2=’ZWI’
)swheres.b1!=
case@tempwhen”then”else@tempend
)
更改数据库表字段类型:
altertablepage_shsjgrglaltercolumns1int
高档查询
A:UNION运算符
UNION运算符经过组合其他两个成果表(例如TABLE1和TABLE2)并消去表中任何重复行而派生出一个成果表。当ALL随UNION一同使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1便是来自TABLE2。
B:EXCEPT运算符
EXCEPT运算符经过包含一切在TABLE1中但不在TABLE2中的行并消除一切重复行而派生出一个成果表。当ALL随EXCEPT一同使用时(EXCEPTALL),不消除重复行。
C:INTERSECT运算符
INTERSECT运算符经过只包含TABLE1和TABLE2中都有的行并消除一切重复行而派生出一个成果表。当ALL随INTERSECT一同使用时(INTERSECTALL),不消除重复行。
注:使用运算词的几个查询成果行必须是一致的。
外衔接
A、leftouterjoin:
左外衔接(左衔接):成果集既包含衔接表的匹配行,也包含左衔接表的一切行。
SQL:selecta.a,a.b,a.c,b.c,b.d,b.ffromaLEFTOUTJOINbONa.a=b.c
B:rightouterjoin:
右外衔接(右衔接):成果集既包含衔接表的匹配衔接行,也包含右衔接表的一切行。
C:fullouterjoin:
全外衔接:不只包含符号衔接表的匹配行,还包含两个衔接表中的一切记载。

未经允许不得转载:IT技术网站 » sql语句(SQL基础语句汇总)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载