大数据库基本SQL语句大全4773_第1页
大数据库基本SQL语句大全4773_第2页
大数据库基本SQL语句大全4773_第3页
大数据库基本SQL语句大全4773_第4页
大数据库基本SQL语句大全4773_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实用文档标准文案数据库基本SQL语句大全数据库基本-SQL语句大全、基础1、说明:创建数据库Create DATABASE database-name2、说明:删除数据库 drop database dbname3、说明:备份sql server- 创建备份数据的USE masterat- 开始备份BACKUP DATABASE pubs5、说明:删除新表drop table tabname6、说明:增加一个列Alter table tabname add注:列增加后将不能删除。类型的长度。create unique index idxnameon drop index idxname9、说明

2、:仓U建视图:create view viewname as select statementEXEC sp_addumpdevicedisk,testBack,c:mssql7backupMyNwind_1.d4、说明:创建新表create table tabname(col1type1 notnull primarykey,col2 type2notnull ,.)根据已有的表创建新表:A: create table tabnewlike taboldtiononlyB: create table tabnew(使用旧表创建新表as select col1,col2 - from)tabo

3、ld defini7、说明:添加主键:说明:删除主键:Alter table tabname add primarykey(col)Alter table tabname drop primarykey(col)deviceTOtestBackcolumn col typeDB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar8、说明:创建索引:删除索引:注:索引是不可更改的,想更改必须删除重新建。tabname(col -.)实用文档标准文案删除视图:drop view viewname行。C:INTERSECT运算符INTERSECT运算符通过只包括行而派生出一个结果表。当A

4、LL随INTERSECT一起使用时(INTERSECT ALL),不消除重行。注:使用运算词的几个查询结果行必须是一致的。12、说明:使用外连接A、left outer join :左外连接(左连接):结果集几包括连接表的匹配行,也包括左连接表的所有行。SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOI N b ON a.a = b.c l_B: right outer join:右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。C: full outer join :全外连接:不仅包括符号连接表的

5、匹配行,还包括两个连接表中的所有记录。选择:select* from table1 where范围插入:insertinto table1(field1,field2)values(value1,value2)删除:deletefrom table1 where范围更新:updatetable1 set field1=value1where范围查找:select* from table1 where field1like %value1%的语法很精妙,查资料!排序:select* from table1 order by field1,field2desc“一“总数:selectcount a

6、s totalcountfrom table1求和:selectsum(field1)as sumvalue from table1平均:selectavg(field1)as avgvalue from table1_ 1最大:selectmax(field1)as maxvalue from table1最小:selectmin(field1)as minvalue from table1-likeA:UNION运算符UNION运算符通过组合其他两个结果表(例如任何重复行而派生出一个结果表。当ALL随UNIONTABLE1和TABLE2并消去表中起使用时(即UNION ALL),不消除|.

7、重复行。两种情况下,派生表的每一行不是来自B:EXCEPT运算符EXCEPT运算符通过包括所有在重复行而派生出一个结果表。当ALL随TABLE1就是来自TABLE2TABLE1中但不在TABLE2中的行并消除所有EXCEPT一起使用时(EXCEPT ALL),不消除重复TABLE1和TABLE2中都有的行并消除所有重复10、说明:几个简单的基本的sql语句11、说明:几个高级查询运算词实用文档标准文案二、提升1、说明:复制表法一:select(只复制结构,源表名:* into b from aa新表名:b)where 11(Access可用)hereecte)法二:selecttop 0 *i

8、nto bfrom a2、说明:拷贝表insert into(拷贝数据b(a, b,,源表名:a目标表名:b)select d,e,f fromc)(Access b;可用)3、说明:跨数据库之间表的拷贝insert into条件例子:.from4、说明:selecta,b,c from5、说明:selectadddate from6、说明:b(a,b in(表名from子查询a,b,ca where ab, c)(具体数据使用绝对路径select d,e,f from&Server.MapPath(.&data.mdb1: a表名2: b)a where a ININ (1,

9、2,3)显示文章、提交人和最后回复时间a.title,a.username,b.adddatetable where table.title=a.title)外连接查询(selectfromtablea.aselectb.ca.a, a.b,(表名1: a b.c,a.c,n不包括值6)7、说明:select8、说明:selectselect9、说明:select在线视图查询* frombetween* froma,b,c,表名2:b.d,b)b.ffrom(Access可用) infrom具体数据库a,(selecta LEFTwhere.或者:selmax(adddatOUT JOIN b

10、 O(表名(Selecta,b,cFROM a)T where t.a 1;的用法,betweentable1 where限制查询数据范围时包括了边界值time betweentime1,not betweefrom table1 where a notin的使用方法from table1 where a not inbetweenand数值time21 and数值2(值1,值2,值4,10、说明:两张关联表,删除主表中已经在副表中没有的信息delete from table1 where not exists ( select * fromtable2 where table1.field1

11、=table2.field111、说明:四表联查问题:select * from a left inner join b on a.a=b.b rightinner joi实用文档标准文案实用文档标准文案n c on a.a=c.c inner join d on a.a=d.d where12、说明:日程安排提前五分钟提醒select * from日程安排where datediff(minute,f开始时间,getdate()5匚13、说明:一条sql语句搞定数据库分页select top 10 b.* from (select top 20主键字段,排序字段from表 名order by

12、排序字段desc) a,表名b where b.主键字段=a.主键字段order by a.排序字段14、 说明:前10条记录select top 10 * form table1 where范围15、 说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)select a,b,c from tablename ta where a=(select max(a) from table name tb where tb.b=ta.b)16、 说明:包括所有在TableA中但不在TableB和TableC中的

13、行并消除所有重复行而派生出一个结果表(select a from tableA except (select a from tableB) excep t (select a from tableC)L 17、说明:随机取出10条数据select top 10 * from tablename order by newid()18、 说明:随机选择记录select newid()I19、 说明:删除重复记录Delete from tablename where id not in (select max(id) from tablename group by col1,col2, where

14、type=Uwhere id=object_id(TableName)字段,以type字段排列,case可以方便地实现 多重选择,类似select 中的 case20、 说明:列出数据库里所有的表名select name from sysobjects21、 说明:列出表里的所有的select name from syscolumns22、 说明:歹U示type、vender、pcs实用文档标准文案FROM tablename group by type显示结果:typevenderpcs电脑A 1电脑A 1光盘B 2L, ,“皿光盘A 2手机B 3手机C 323、说明:初始化表table1T

15、RUNCATE TABLE table124、说明:选择从10到15的记录select top 5 * from (selecttop 15 * from table order by id asc) table_另U名orderby id descL三、技巧1、1=1 ,1=2的使用,在SQL语句组合时用的较多“where 1=1”是表示选择全部“where1=2”全部不选, 如:if strWhere !=beginset strSQL = select count(*) as Total from + tblName + where + strWhereendelsebeginset s

16、trSQL = select count(*) as Total fro m + tblName + end我们可以直接写成set strSQL = select count(*) as Total from + tblName + where 1=1安定+ strWhereLU2、收缩数据库selectse vender whentype,sum( case vender when A C thenpcs else 0 end),sum(then pcs else 0 end),sum( ca case vender when Bthen pcselse 0end)实用文档标准文案-重建索引

17、DBCC REINDEXDBCC INDEXDEFRAG-收缩数据和日志DBCC SHRINKDBDBCC SHRINKFILE3、 压缩数据库dbcc shrinkdatabase(dbname)4、 转移数据库给新用户以已存在用户权限exec sp_change_users_login update_one,newname,oldnamego5、 检查备份集RESTORE VERIFYONLY from disk=E:dvbbs.bak6、 修复数据库Alter DATABASE dvbbs SET SINGLE_USERGODBCC CHECKDB(dvbbs,repair_allow_

18、data_loss)WITH TABLOCKGOAlter DATABASE dvbbs SET MULTI_USERGO7、 日志清除SET NOCOUNTONDECLARE LogicalFileName sysname,MaxMinutes INT,NewSize INTUSEtablenameSelect LogicalFileName = tablename_log, MaxMinutes = 10,owed to wrap log.LNewSize = 1-你想设定的日志文件的大小(M)1_- Setup / initializeDECLARE OriginalSize intSe

19、lect OriginalSize= sizeFROM sysfilesWhere name = LogicalFileNameSelect Original Size of + db_name() + LOG is +CONVERT(VARCHAR(30),OriginalSize) + 8K pages o +CONVERT(VARCHAR(30),(OriginalSize*8/1024) + MB-要操作的数据库名- 日志文件名- Limit on time all实用文档标准文案FROM sysfiles Where name = LogicalFileName Create TAB

20、LE DummyTrans(DummyColumn char (8000) not null )DECLARE Counter INT, StartTime DATETIME, TruncLog VARCHAR(255)Select StartTime = GETDATE(), TruncLog = BACKUP LOG + db_name() + WITTRUNCATE_ONLYDBCC SHRINKFILE (LogicalFileName, NewSize) EXEC (TruncLog)- Wrap the log if necessary.WHILEMaxMinutes DATEDI

21、FF (mi, StartTime, GETDATE()-time has not expiredAND OriginalSize = (Select size FROM sysfiles Wher name = LogicalFileName)AND (OriginalSize * 8 /1024) NewSizeBEGIN - Outer loop.Select Counter = 0 WHILE (Counter OriginalSize /16) AND (Counte 50000) BEGIN - updateInsert DummyTrans VALUES (Fill Log) D

22、elete DummyTransSelect Counter = Counter + 1ENDEXEC (TruncLog) ENDSelect Final Size of + db_name() + LOG is +CONVERT(VARCHAR(30),size) + 8K pages or +CONVERT(VARCHAR(30),(size*8/1024) + MBFROM sysfiles Where name = LogicalFileName Drop TABLE DummyTrans SET NOCOUNTOFF实用文档标准文案8、说明:更改某个表exec sp_changeobjectowne

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论