SQL基础常用语法

一、基础 

1、说明:创建数据库 CREATE DATABASE database-name 

2、说明:删除数据库 DROP database dbname 

3、说明:创建新表 

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 

根据已有的表创建新表: 

4、说明:删除新表 DROP table tabname 

5、说明:增加一个列 Alter table tabname add column col type 

6、说明:几个简单的基本的sql语句 

选择:select * from table1 where 范围 

插入:insert into table1(field1,field2) values(value1,value2) 

删除:delete from table1 where 范围 

更新:update table1 set field1=value1 where 范围 

查找:select * from table1 where field1 like ’%value1%’

排序:select * from table1 order by field1,field2 [desc] 

总数:select count as totalcount from table1 

求和:select sum(field1) as sumvalue from table1 

平均:select avg(field1) as avgvalue from table1 

最大:select max(field1) as maxvalue from table1 

最小:select min(field1) as minvalue from table1 

二、提升

1、说明:子查询(表名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)

2、说明: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 

3、说明:in 的使用方法 

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

4、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 

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

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

三、技巧 

1、1=1,1=2的使用,在SQL语句组合时用的较多 

“where 1=1” 是表示选择全部   “where 1=2”全部不选

2、left join(左外连接),很重要

SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name;

  我工作时间不长,以上都是我遇到的比较常用的语句,还有外键以及获取数据的处理逻辑,当然了,Sql语法博大精深,日后遇到其他常用的和有用的也会一一补充进来。

原文地址:https://www.cnblogs.com/huskyking/p/5895493.html