MySQL-Review
1. 创建表
create table 表名(
);
2. 插入
可以省略 将要插入表的字段,但是后面插入的数据要按照默认的顺序进行插入操作
insert into student values (1,1,'lisi',22);
在进行插入时的多种方式,指定字段
insert into student(id, teacher_id, name) values (8,6,'kesf')
-- 可以一次加入多个数据,使用逗号隔开
insert into student values (1,1,'lisi',22),(2,1,'zhangsan',33);
3.修改
-- 修改多个字段,同样的字段用逗号隔开
update student set name = 'lssss' where id = 2;
4. 删除
-- 删除列表,删除表总的所有数据,表的结构不发生变化 delete from student ;
-- 可以设置条件,指定删除指定的行 delete from student where id =3;
5. 查询
5.1 七大join理论
内连接:相交部分
select * from student inner join teacher on student.teacher_id = teacher.id;
左连接:包含左边表的所有行
select * from student left join teacher on student.teacher_id = teacher.id;
右连接:包含右边表的所有行
select * from student right join teacher on student.id = teacher.student_id;
只包含左边的独有的
select * from student left join teacher on student.teacher_id = teacher.id where teacher.id is Null;
只包含右边独有的
select * from student right join teacher on student.id = teacher.student_id where student.id is Null;
5.2 distinct
在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。
- select distinct name from A
- select distinct name, id from A 按照两个 字段拼接进行筛选
- select count(distinct name) from A;
select count(distinct name, id) from A; - select id, distinct name from A; --会提示错误,因为distinct必须放在开头
只 用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是
5.3 order by
ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。
ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用DESC关键字
可以按但个字段进行排序也可以按照多个字段进行排序。
select * from student order by name
select * from student order by name,age;
如果是按照两个字段进行排序,他是先按照第一个字段进行排序,排序之后再按照第二个字段进行排序