数据表的增删改查的sql语法
1.增加:CREATE
1. 增加单条数据
INSERT INTO student ( 字段1, 字段2,字段3,字段4... )
VALUES (值1,值2,值3,值4...);
2.增加多条数据
INSERT INTO student ( 字段1, 字段2,字段3,字段4... )
VALUES (值1,值2,值3,值4...),
(值1,值2,值3,值4...);
2.修改:UPDATE
UPDATE student SET `字段`='值'
WHERE id=num;
3.删除:DELETE
DELETE FROM 表名
WHERE name='张三211';
4. 表的查询
select
*,as 可以取别名 ,case, distinct 去重
from
where
=,in,is,is not,>,<,>=,<=,between,like(模糊查询) ,and,or
order by
asc 升序,desc降序
limit(n,m)
n,m 跳过n条数据,取出m条数据
5.联表查询
left join 左连接
与内连接相比,即使没有匹配行,也会返回一个表的全集。
外连接分为三种:左外连接,右外连接,全外连接。对应SQL:LEFT/RIGHT/FULL OUTER JOIN。通常我们省略outer 这个关键字。写成:LEFT/RIGHT/FULL JOIN。
重点:至少有一方保留全集,没有匹配行用NULL代替。
1)LEFT OUTER JOIN,简称LEFT JOIN,左外连接(左连接)
结果集保留左表的所有行,但只包含第二个表与第一表匹配的行。第二个表相应的空行被放入NULL值。
SELECT Students.ID,Students.Name,Majors.Name AS MajorName
FROM Students LEFT JOIN Majors
ON Students.MajorID = Majors.ID
right join 右连接
RIGHT JOIN(right outer join)右外连接(右连接)
右外连接保留了第二个表的所有行,但只包含第一个表与第二个表匹配的行。第一个表相应空行被入NULL值。
右连接与左连接思想类似。只是第二张保留全集,如果第一张表中没有匹配项,用NULL代替
依然沿用内链接的例子,只是改为右连接
SELECT Students.ID,Students.Name,Majors.Name AS MajorName
FROM Students RIGHT JOIN Majors
ON Students.MajorID = Majors.ID
inner join 内连接
INNER JOIN(内连接),也成为自然连接
作用:根据两个或多个表中的列之间的关系,从这些表中查询数据。
注意: 内连接是从结果中删除其他被连接表中没有匹配行的所有行,所以内连接可能会丢失信息。
重点:内连接,只查匹配行。
语法:(INNER可省略)
SELECT fieldlist
FROM table1 [INNER] join table2
ON table1.column=table2.column
6.运行顺序
from -> where -> select -> order by -> limit
|