1:数据库插入记录:
insert [into] 表名(列名,列名,...) values (值,值....)
2:数据库更新记录:
update 表名 set 列名=值,列名=值.... [where 列名=值]
3:数据库删除记录:
delete 表名 [where 列名=值]
4:数据库查询语句:
select 列名,列名 from 表名 [where 列名=值]
5:数据库连接查询数据:
5.1:交叉连接(cross join):交叉连接(cross join):有两种,显式的和隐式的,
不带on子句,返回的是两表的乘积,也叫笛卡尔积。
5.1.1:隐式的交叉连接,没有cross join!
select o.id, o.order_number,c.id,c.name from orders o , customers c
where o.id=1;
5.1.2显式的交叉连接,使用cross join
select o.id,o.order_number,c.id,c.name from orders o cross join customers
c where o.id=1;
5.2:内连接(inner join):有两种,显式的和隐式的,
返回连接表中符合连接条件和查询条件的数据行。(所谓的链接 表就是数据库在做查询形成的中间表)。
5.2.1:隐式的内连接,没有inner join,
形成的中间表为两个表的笛卡尔积
select o.id,o.order_number,c.id,c.name
from customers c, orders owhere c.id=o.customer_id;
5.2.2:显示的内连接,一般称为内连接,有inner join,
形成的中间表为两个表经过on条件过滤后的笛卡尔积。
select o.id,o.order_number,c.id,c.namefrom customers c
inner join orders o on c.id=o.customer_id;
5.3:外连接(outer join):外连不但返回符合连接和查询条件的数据行,
还返回不符合条件的一些行。外连接分三类:左外连接(left outer join)
右外连接(right outer join)和全外连接(full outer join)。
5.3.1:共同点:
5.3.1.1:三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行
5.3.2:不同点:
5.3.2.1:左外连接还返回左表中不符合连接条件单符合查询条件的数据行。
5.3.2.2:右外连接还返回右表中不符合连接条件单符合查询条件的数据行。
5.3.2.3:全外连接还返回左表中不符合连接条件单符合查询条件的数据行,
并且还返回右表中不符合连接条件单符合查询条件的数据行。
全外连接实际是上左外连接和右外连接的数学合集(去掉重复),即“全外=左外 union 右外”。
5.3.3:左外连接(left outer join):
select o.id,o.order_number,o.customer_id,c.id,c.name
from orders o left outer join customers c on c.id=o.customer_id;
5.3.4:右外连接(right outer join)
select o.id,o.order_number,o.customer_id,c.id,c.name
from orders o right outer join customers c on c.id=o.customer_id;
5.4:where条件放在on后面查询的结果是不一样的。
5.4.1:where条件独立。
select o.id,o.order_number,o.customer_id,c.id,c.name
from orders o left outer join customers c on c.id=o.customer_id
where o.order_number<>'mike_order001';
5.4.2:将语where条件放到on后面。
select o.id,o.order_number,o.customer_id,c.id,c.name
from orders o left outer join customers c on c.id=o.customer_id
and o.order_number<>'mike_order001';
5.5:全外连接(full outer join)。
select o.id,o.order_number,o.customer_id,c.id,c.name
from orders o full outer join customers c on c.id=o.customer_id;
***:mysql不支持全外的连接的