这些是最基础的部分,若果这些不能满足你的需求,可以到http://www.w3school.com.cn中查询
增删改:
增
insert into<表名>(<列名列表>(如果添加一个表所有字段就不需要设置这项))values();
删
delete from <表名> where<过滤条件>;
改
update <表名> set <列1=值 ,列2=值> where <过滤条件>
查
@1.select *from <表名>;查询单表全部。
@2.select *from <表名> where <过滤条件>;
@3.Select * from student where <列名> in('A','B'); 集合条件查询。
@3.select <列名1 as 别名1,列名2 as 别名2>from <表名> where <过滤条件>; 查询一个表的某几个字段。
@4.select *from <表名> where...or/and... where后跟条件用or或者/and并且
去重查询
1.select distinct <列名> from <表名>;
子查询
1.select *from <表名> where <列名> In<
select <列名1>from <表名> where <过滤条件>
>;(In是包含的意思 In后的括号中也能是一个集合)
模糊查询
1.select *from <表名> where <列名> like((%张%)(包含零个或者多个任意字符)||(张_) 下画线代表一个字符)
聚合函数
count (统计数量)
sum (求和)
avg (平均值)
max (最大值)
min (最小值)
sql语句执行次序:
select子句
from子句
where子句
group by子句 分组语句 例如:group by 列名;
order by子句 排序语句 升asc 降desc
having 子句 后面跟聚合函数
where和having区别 两者多为过滤条件 where子句会在聚合函数之前计算之前就过滤,而having子句会在group by子句后执行。
多表查询
select 1.a ,2.b from 1 ,2 where 1.aa=2.bb;需要查询两张表中字段 用这种方式连接。
1.<表名>join<表名>on<连接条件>and... 链表查询链表条件用on 多条件时跟and。
2.<表名>join<表名>on<连接条件>where... 链表查询链表条件用on where就是对生成的表进行过滤。
3.<表名>join<表名>on<连接条件>join...on 多表连接。这是三张表连接样式。
4.select * from table1,table2 where table1.column1<table2.column2 非相等连接 如果把<换成= 也能连接。
内连接
from table1 inner join table2 on table1.column1=table2.column2 让两个表中条件值相匹配的进行连接。
左外连接
left join (left outer join)on 返回左边表全部,如果右表没有匹配的则返回空值。
右外连接
right join (right outer join) on 返回右边表全部,如果左表没有匹配的则返回空值
全外连接
full join (full outer join) on 返回左右表的全部行,若果一表没有匹配时返回空行匹配。