Heim >Datenbank >MySQL-Tutorial >MySQL数据库常用SQL语句总结二_MySQL

MySQL数据库常用SQL语句总结二_MySQL

WBOY
WBOYOriginal
2016-06-01 13:12:32977Durchsuche

MySQL数据库常用SQL语句总结二

 

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

 法一:select * into b from a where 11 

 法二:select top 0 * into b from a  

 

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

insert into b(a, b, c) select d,e,f from b;  

 

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

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

  例子:..from b in "&Server.MapPath(".")&"data.mdb" &" where..  

 

4、说明:子查询(表名1:a 表名2:b)  

select a,b,c from a where a IN (select d from b )

 或者: select a,b,c from a where a IN (1,2,3)  

 

5、说明:显示文章、提交人和最后回复时间  

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

 

6、说明:外连接查询(表名1:a 表名2: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  

 

7、说明:在线视图查询(表名1:a )  

select * from (SELECT a,b,c FROM a) T where t.a > 1;  

 

8、说明:between的用法,

between限制查询数据范围时包括了边界值,not between不包括 

select * from table1 where time between time1 and time2  select a,b,c, from table1 where a not between 数值1 and 数值2  

 

9、说明:in 的使用方法  

select * from table1 where a [not] in (值1,值2,值4,值6)  

 

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

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

 

11、说明:四表联查问题:  

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 .....  

 

12、说明:日程安排提前五分钟提醒  

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

 

13、说明:一条sql 语句搞定数据库分页  

select top 10 b.* from (select top 20 主键字段,排序字段 from 表名 order by 排序字段 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 tablename tb where tb.b=ta.b)  

 

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

(select a from tableA ) except (select a from tableB) except (select a from tableC)  

 

17、说明:随机取出10条数据  

select top 10 * from tablename order by newid()  

 

18、说明:随机选择记录  select newid()  

 

19、说明:删除重复记录  

Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)  

 

20、说明:列出数据库里所有的表名  

select name from sysobjects where type=U 

 

 21、说明:列出表里的所有的  

select name from syscolumns where id=object_id(TableName) 

 

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn