经典sql语句基本的sql语句3篇(SQL基础:经典语句概述)

经典sql语句是数据库操作的基础,也是入门必学的内容。基本的sql语句包括增、删、改、查等操作,掌握后可用于数据管理、查询、排序、筛选等。本文将介绍最基本的sql语句以及实际应用和注意事项。

经典sql语句基本的sql语句3篇

第1篇

select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b

select a.a, a.b, a.c, b.c, b.d, b.f from a left out join b on a.a = b.c

select * from 日程安排 where datediff('minute',f开始时间,getdate)>5

说明:两张关联表,删除主表中已经在副表中没有的信息

delete from info where not exists ( select * from infobz where info.infid=infobz.infid )

to_char(to_date(to_char(sysdate, 'yyyy/mm') || '/01','yyyy/mm/dd') - 1, 'yyyy/mm') ) y,

select * from studentinfo where not exists(select * from student where studentinfo.id=student.id) and 系名称='“&strdepartmentname&”' and 专业名称='“&strprofessionname&”' order by 性别,生源地,高考总成绩

从数据库中去一年的各单位电话费统计(电话费定额贺电化肥清单两个表来源)

select a.userper, a.tel, a.standfee, to_char(a.telfeedate, 'yyyy') as telyear,

select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....

select (case when exists(select * from handle b where b.handleid = 1) then min(handleid) + 1 else 1 end) as handleid from handle where not handleid in (select a.handleid - 1 from handle a)

结构相同的两表,一表有记录3万条左右,一表有记录2万条左右,我怎样快速查找两表的不同记录?

select orderid from (select * from n1 union select * from n2) a group by orderid having count(*) > 1

select * from n1 where orderid in (select orderid from (select * from n1 union select * from n2) a group by orderid having count(*) > 1)

select * from n1 where orderid in(select orderid from (select * from n1 union select * from n2) a group by orderid having count(*) > 1)

select top m * into 临时表(或表变量) from tablename order by columnname -- 将top m笔插入

select top n * from (select top m * from tablename order by columnname) a order by columnname desc

如果你在执行select identity(int) id0,* into #temp from tablename这条语句的时候报错,那是因为你的db中间的select into/bulkcopy属性没有打开要先执行:

declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@type integer

select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*) from ' +@t_name +' group by ' +@f_key +' having count(*) > 1'

select @type = xtype from syscolumns where id=object_id(@t_name) and name=@f_key

select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +''''

select * from hard a where je in (select top 2 je from hard b where a.qu=b.qu order by je)

insert temp1 select [标志字段id],count(*) from [表名] group by [标志字段id] having count(*)=1

select * into temp2 from [表名] where 标志字段id in(select 标志字段id from temp1)

declare @max integer,@id varchar(30) ,@sql varchar(7999) ,@type integer

select @sql = 'declare cur_rows cursor for select '+@f_key+' ,count(*) from ' +@t_name +' group by ' +@f_key +' having count(*) > 1'

select @type = xtype from syscolumns where id=object_id(@t_name) and name=@f_key

select @sql = 'delete from '+@t_name+' where ' + @f_key+' = '+''''+ @id +''''

select @sql = @sql + ',sum(case subject when '''+subject+''' then result end) ['+subject+']'

方法如下:先从systemobject系统表中取得数据表的systemid,然后再syscolumn表中取得该数据表的所有列名。

select 'column_name' = name from syscolumns where id = @objid order by colid

select column_name from information_schema.columns where is_nullable='no' and table_name=tablename

select * from (select top xxx * from yourtable) aa where not exists(select 1 from (select top xxx-1 * from yourtable) bb where aa.id=bb.id)

on ( i.id = a1.id and a1.id = object_id('sysobjects') and (i.status & 0x800) = 0x800 and a1.colid

on ( a.id = i.id and a.name = index_col('sysobjects', i.indid, a1.colid) )

on ( m.id = a.cdefault and objectproperty(a.cdefault, 'isconstraint') = 1 )

(case when columnproperty( a.id,a.name,'isidentity')=1 then '√'else ''

select rows from sysindexes where id = object_id('test') and indid in (0,1)

update [23] set id1 = 'no.'+right('00000000'+id,6) where id not like 'no%' //递增

update [23] set id1= 'no.'+right('00000000'+replace(id1,'no.',''),6) //补位递增

update [1] set domurl = replace(domurl,'upload/imgswf/','upload/photo/') where domurl like '%upload/imgswf/%'

经典sql语句基本的sql语句3篇

第2篇

过去来,mysql数据库以令人难以置信的速度在网络上流行起来,每一个wordpress博客都由mysql数据库驱动,存储博客日志、设置、评论等内容。

面对wordpress,虽然插件或编码技巧可以解决一些问题、完成某些任务,但是有时除了通过phpmyadmin或ssh执行sql语句外,你别无选择。下面让我们来看看wordpress实用sql语句集锦。本系列文章的每个篇章都严格按照提出问题、解决问题、解释说明的思路撰写,以使读者真正了解掌握解决问题的方法,达到举一反三的效果。

问题。尽管本文论及的所有语句已经过测试,我们仍然应当先备份mysql数据库,再尝试执行这些语句。

方案。要手工创建一个wordpress数据库备份,请按照下列步骤进行:

3、选择压缩方法(我个人习惯使用gzip),然后点击“执行”按钮。

4、浏览器会提示是否需要下载备份文件。选择“是”,然后将该文件储存在硬盘驱动器上。

解释。需要注意的是,创建wordpress数据库备份的任务,可以通过插件更容易地实现。每一个wordpress用户都应该安装此插件,并定期进行数据备份。(译注:此提示虽显絮叨却是博客作者都应遵循的准则。因为主题或插件没了都可以再安装,但数据没了那么所有过往的努力都将付诸东流。)

问题。修订版本是wordpress 2.6引入的功能,该功能虽然在某些场景下比较有用,但也增加了mysql数据库的大小。尽管我们可以手动删除文章修订版本,但这是非常漫长而枯燥的工作。

方案。这个问题的解决方法很简单:我们通过执行简单的sql查询来批量删除日志修订记录。如果你有很多的日志,其结果可能令人难以置信:数据库的大小将减少一半!

大功告成。最终节省的数据库空间大小取决于博客文章数的多少。

解释。wp_posts表有一个名为post_type的字段。此字段有几个取值,如“post”、“page”或“revision”。想要去除文章修订版本,只需运行一个命令以删除wp_posts表中,post_type字段等于“revision”的记录。

接下来我们分析关于批量删除待审核评论和变更日志归属的sql命令。

问题。真人真事:我的一个朋友最近搭建了自己的博客,并开始在网上四处推广。经过几个星期的紧张工作,他休了几天假没有上网。

回到家里他看了看博客,结果看到...超过5000条待审核评论!当然,其中大多数是垃圾评论,本来他打算逐一检验,以确保不会删掉一般读者的有效评论。

方案。令人高兴的是,友人把他的垃圾留言问题告诉了我。在我向他展示下面这条有用的sql语句前,他已经花了45分钟手工删除垃圾评论。

向垃圾评论说再见!享受未受垃圾评论侵扰的数据库吧!

解释。wp_comments表包含一个名为comment_approved的字段,取布尔值(1或0)。通过审核的评论该值为1,待审核的评论取0值。通过运行上面的命令,我们删除了全部待审核评论。

谨慎行事。如果你有一大堆垃圾留言需要删除,这种解决方案是非常有用的,但也可能删掉未经审核的有效评论。因此,如果你还没用上,马上安装它以阻止垃圾评论的骚扰。

第3篇

1、说明:复制表(只复制结构,源表名:a 新表名:b)(access可用)

2、说明:拷贝表(拷贝数据,源表名:a 目标表名:b)(access可用)

3、说明:跨数据库之间表的拷贝(具体数据使用绝对路径) (access可用)

insert into b(a, b, c)select d,e,f from b in ‘具体数据库’where 条件

例子:..from b in'“&server.mappath(”.“)&”data.mdb“&”' where..

select a,b,c from a wherea in (select d from b ) 或者:select a,b,c from a where a in (1,2,3)

selecta.title,a.username,b.adddate from table a,(select max(adddate) adddate fromtable where table.title=a.title) b

select a.a, a.b, a.c,b.c, b.d, b.f from a left out join b on a.a = b.c

8、说明:between的用法,between限制查询数据范围时包括了边界值,not between不包括

select * from table1where a [not] in (‘值1’,’值2’,’值4’,’值6’)

10、说明:两张关联表,删除主表中已经在副表中没有的信息

delete from table1 wherenot exists ( select * from table2 where table1.field1=table2.field1 )

select * from a leftinner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.dwhere .....

sql: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5

select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 desc) a,表名 b where b.主键字段 = a.主键字段 order by a.排序字段

set @sql=’select top’+str(@end-@start+1)+’+from t where ridnot in(select top’+str(@str-1)+’rid from t where rid>-1)’

注意:在top后不能直接跟一个变量,所以在实际应用中只有这样的进行特殊的处理。rid为一个标识列,如果top后还有具体的字段,这样做是非常有好处的。因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际表中的不一致(逻辑索引中的数据有可能和数据表中的不一致,而查询时如果处在索引则首先查询索引)

15、说明:选择在每一组b值相同的数据中对应的a最大的记录的所有信息(类似这样的用法可以用于论坛每月排行榜,每月热销产品分析,按科目成绩排名,等等.)

select a,b,cfrom tablename ta where a=(select max(a) from tablename tb wheretb.b=ta.b)

16、说明:包括所有在 tablea中但不在 tableb和tablec中的`行并消除所有重复行而派生出一个结果表

(select a from tablea )except (select a from tableb) except (select a from tablec)

1),delete from tablenamewhere id not in (select max(id) from tablename group by col1,col2,...)

评价: 这种操作牵连大量的数据的移动,这种做法不适合大容量但数据操作

3),例如:在一个外部表中导入数据,由于某些原因第一次只导入了一部分,但很难判断具体位置,这样只有在下一次全部导入,这样也就产生好多重复的字段,怎样删除重复字段

22、说明:列示type、vender、pcs字段,以type字段排列,case可以方便地实现多重选择,类似select 中的case。

select type,sum(casevender when 'a' then pcs else 0 end),sum(case vender when 'c' then pcs else 0end),sum(case vender when 'b' then pcs else 0 end) from tablename group by type

select top 5 * from(select top 15 * from table order by id asc) table_别名 order by id desc

★其他类似内容

1学校食堂采购部的年度工作总结范文5篇

学校食堂采购部的年度工作总结范文5篇

该文主要介绍学校食堂采购部的年度工作总结范文,包括采购计划、供应商管理、采购流程等具体内容,为广大学校食堂工作人员提供经...

查看剩余 81% 学校食堂采购部的年度工作总结范文5篇

22023酒店客房经理的年度总结11篇

2023酒店客房经理的年度总结11篇

2023年度,酒店客房经理的工作充满挑战和机遇。他们需要不断提升服务品质,确保顾客满意度,同时增强酒店竞争力。这篇文章将为你...

查看剩余 82% 2023酒店客房经理的年度总结11篇

3销售一周简短的工作总结8篇

销售一周简短的工作总结8篇

本文主题为销售一周简短的工作总结,总结对于销售工作的重要性不言而喻。通过对销售业绩、客户关系以及市场反馈的分析,得到最准...

查看剩余 89% 销售一周简短的工作总结8篇

4小班关于圣诞节的教案7篇

小班关于圣诞节的教案7篇

《小班关于圣诞节的教案》是一份精心设计的教学教案,适用于小班级孩子的圣诞节主题课程。教案内容兼顾了知识点的掌握和趣味性的...

查看剩余 75% 小班关于圣诞节的教案7篇

5丰富多彩的暑假作文8篇

丰富多彩的暑假作文8篇

暑假,是学生放飞自我的好时光,也是展现个人才华的绝佳机会。为了展示优秀学生的成果和精彩人生,我们特别推出“丰富多彩的暑假...

查看剩余 72% 丰富多彩的暑假作文8篇