SQL基础常用语法

时间:2022-06-03 10:44:07

一、基础

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语法博大精深,日后遇到其他常用的和有用的也会一一补充进来。