目录
- 一、MySQL学习路线
- 二、MySQL常见操作
- 1、查看所有数据库show databases。
- 2、MySQL 创建数据库
- 3、删除数据库
- 4、选择数据库use databasename
- 5、查看该数据库下所有表show tables
- 6、创建数据库表
- 7、删除数据库
- 三、增删改查
- 1、插入数据
- 2、查询数据
- 3、where子句
- 4、更新语句
- 5、删除语句
- 6、like语句
- 7、UNION 操作符
- 8、order by 排序
- 9、GROUP BY分组
- 四、LEFT JOIN左连接、RIGHT JOIN右连接、INNER JOIN内连接
- 五、NULL 值处理
- 六、正则表达式
- 七、MySQL基础知识总结
大家好,我是哪吒。
一、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;
- INT是整形;
- AUTO_INCREMENT表示自增;
- VARCHAR(100)表示字符串类型;
- NOT NULL表示非空;
- DATE时间数据类型;
- PRIMARY KEY主键;
- InnoDB设置存储引擎;
- 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内连接
- INNER JOIN(内连接):获取两个表中字段匹配关系的记录;
- LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录;
- 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 值处理
- IS NULL: 当列的值是 NULL,此运算符返回 true;
- 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同样支持正则表达式进行匹配。
正则表达式 | 描述 |
---|---|
^ | 匹配以某些字符开始的所有数据 |
$ | 匹配以某些字符结尾的所有数据 |
[…] | 字符集合。匹配所包含的任意一个字符。 |
[^…] | 负值字符集合。匹配未包含的任意字符。 |
a | b |
* | 匹配前面的子表达式零次或多次。 |
+ | 匹配前面的子表达式一次或多次。 |
{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架构师。