在这里插入图片描述

大家好,我是哪吒。

一、MySQL学习路线

在这里插入图片描述

二、MySQL常见操作

1、查看所有数据库show databases。

在这里插入图片描述

2、MySQL 创建数据库

CREATE DATABASE test;

3、删除数据库

drop database test;

4、选择数据库use databasename

在这里插入图片描述

5、查看该数据库下所有表show tables

6、创建数据库

CREATE TABLE IF NOT EXISTS `student`(
   `id` INT UNSIGNED AUTO_INCREMENT,
   `name` VARCHAR(100) NOT NULL,
   `sex` VARCHAR(40) NOT NULL,
   `op_date` DATE,
   PRIMARY KEY ( `id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. INT是整形;
  2. AUTO_INCREMENT表示自增;
  3. VARCHAR(100)表示字符串类型;
  4. NOT NULL表示非空;
  5. DATE时间数据类型;
  6. PRIMARY KEY主键;
  7. InnoDB设置存储引擎;
  8. CHARSET设置编码;

7、删除数据库

DROP TABLE student;

三、增删改查

1、插入数据

insert student (name,address,op_date) values ('哪吒编程','辽宁省大连市',NOW());

2、查询数据

select * from student;

在这里插入图片描述

3、where子句

 select * from student where name = '哪吒编程'

4、更新语句

update student set address = '上海市' where name = '美杜莎';

5、删除语句

delete from student where id = 3;

6、like语句

like语句表示模糊查询,只知道字段的部分就可以完成查询。

LIKE 通常与 % 一同使用,类似于一个元字符的搜索,百分号 %字符来表示任意字符,如果没有使用百分号 %, LIKE 子句与等号 = 的效果是一样的。

select * from student where name like '%编程';

select * from student where name like '%编程%';

select * from student where name like '哪吒%';

7、UNION 操作符

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中。

select * from student where name like '%编程' UNION select * from student where name like '美%';

在这里插入图片描述

8、order by 排序

MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

select * from student order by id desc;

在这里插入图片描述

9、GROUP BY分组

GROUP BY 语句根据一个或多个列对结果集进行分组。

在分组的列上我们可以使用 COUNT, SUM, AVG等函数。

在这里插入图片描述

四、LEFT JOIN左连接、RIGHT JOIN右连接、INNER JOIN内连接

  1. INNER JOIN(内连接):获取两个表中字段匹配关系的记录;
  2. LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录;
  3. RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录;
select s.name,t.teacher_name,t.course from student s left join teacher t on s.teacher_id=t.id;

在这里插入图片描述

五、NULL 值处理

  1. IS NULL: 当列的值是 NULL,此运算符返回 true;
  2. IS NOT NULL: 当列的值不为 NULL, 运算符返回 true。
select s.name,t.teacher_name,t.course from student s left join teacher t on s.teacher_id=t.id where t.teacher_name is not null;

在这里插入图片描述

六、正则表达式

前面提到了like %用于模糊查询。

MySQL同样支持正则表达式进行匹配。

正则表达式描述
^匹配以某些字符开始的所有数据
$匹配以某些字符结尾的所有数据
[…]字符集合。匹配所包含的任意一个字符。
[^…]负值字符集合。匹配未包含的任意字符。
ab
*匹配前面的子表达式零次或多次。
+匹配前面的子表达式一次或多次。
{n}n 是一个非负整数。匹配确定的 n 次。
{n,m}m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。
 select * from student where name REGEXP '^哪吒';

在这里插入图片描述

查询以“云美萧”开头的所有数据:

select * from student where name REGEXP '^[云美萧]';

在这里插入图片描述

七、MySQL基础知识总结

MySQL数据库基础知识1,数据类型与三范式

MySQL数据库基础知识2,那些年学过的事务

MySQL数据库基础知识3,mysql索引详解,上篇

MySQL数据库基础知识4,mysql索引详解,下篇

MySQL数据库基础知识5,为什么查询速度会慢

MySQL数据库基础知识6,缓存表、视图、计数器表、自定义变量

MySQL数据库基础知识7,查询的执行过程

MySQL数据库基础知识8,分区表详解

MySQL数据库基础知识9,InnoDB和MyISAM的数据分布对比

MySQL数据库基础知识10,MySQL全文索引

MySQL数据库基础知识11,查询缓存

MySQL数据库基础知识12,MySQL单列索引和联合索引

在这里插入图片描述

🏆本文收录于,数据库基础教程系列,包含MySQL基础、MySQL进阶、Redis、MongoDB等数据库基础知识。

🏆哪吒多年工作总结:Java学习路线总结,搬砖工逆袭Java架构师

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐