Mysql基础之增删改查

110 阅读2分钟

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;

如果是按照两个字段进行排序,他是先按照第一个字段进行排序,排序之后再按照第二个字段进行排序