数据库教程:Mysql数据库基础学习笔记

Mysql数据库基础学习笔记 1.mysql查看当前登录的账户名以及数据库 一、单表查询 1、创建数据库yuzly,创建表fruits 创建表 插入内容 2、查询所有字段 3.查询指定字段 4.带IN关键字的查询 IN关键字:IN(xx,yy,…) 满足条件范围内的一个值即为匹配项 5.带BET …

mysql数据库基础学习笔记

1.mysql查看当前登录的账户名以及数据库

 Mysql数据库基础学习笔记

一、单表查询

1、创建数据库yuzly,创建表fruits

  创建表     

create table fruits(f_id char(10) not null,s_id int not null,f_name char(255) not null,f_price decimal(8,2) not null,primary key(f_id));

  插入内容   

insert into fruits(f_id,s_id,f_name,f_price) values('a1',101,'apple',5.2);  insert into fruits(f_id,s_id,f_name,f_price) values('b1',101,'blackberry',10.2);  insert into fruits(f_id,s_id,f_name,f_price) values('bs1',102,'orange',11.2);  insert into fruits(f_id,s_id,f_name,f_price) values('bs2',105,'melon',8.2);  insert into fruits(f_id,s_id,f_name,f_price) values('t1',102,'banana',10.3);  insert into fruits(f_id,s_id,f_name,f_price) values('t2',102,'grape', 5.3);  insert into fruits(f_id,s_id,f_name,f_price) values('o2',103,'coconut',9.2);  insert into fruits(f_id,s_id,f_name,f_price) values('c0',101,'cherry',3.2);  insert into fruits(f_id,s_id,f_name,f_price) values('a2',103,'apricot',2.2);  insert into fruits(f_id,s_id,f_name,f_price) values('l2',104,'lemon',6.4);  insert into fruits(f_id,s_id,f_name,f_price) values('b2',104,'berry',7.6);  insert into fruits(f_id,s_id,f_name,f_price) values('m1',106,'mango',15.6);  insert into fruits(f_id,s_id,f_name,f_price) values('m2',105,'xbabay',2.6);  insert into fruits(f_id,s_id,f_name,f_price) values('t4',107,'xbababa',3.6);  insert into fruits(f_id,s_id,f_name,f_price) values('m3',105,'xxtt',11.6);  insert into fruits(f_id,s_id,f_name,f_price) values('b5',107,'xxxx',3.6 );

2、查询所有字段

  Mysql数据库基础学习笔记

3.查询指定字段

  Mysql数据库基础学习笔记

4.带in关键字的查询

in关键字:in(xx,yy,…) 满足条件范围内的一个值即为匹配项

  Mysql数据库基础学习笔记

5.带between and的范围查询

between … and … : 在…到…范围内的值即为匹配项

  Mysql数据库基础学习笔记

6.带like的字符匹配查询

like: 相当于模糊查询,和like一起使用的通配符有  “%”、”_” 

  ”%”:作用是能匹配任意长度的字符。

  ”_”:只能匹配任意一个字符

  Mysql数据库基础学习笔记

7.查询空值

空值不是指为空字符串””或者0,一般表示数据未知或者在以后在添加数据,也就是在添加数据时,其字段上默认为null,也就是说,如果该字段上不插入任何值,就为null。此时就可以查询出来。

select * from 表名 where 字段名 is null;  //查询字段名是null的记录

select * from 表名 where 字段名 is not null;  //查询字段名不是null的记录

8.带and的多条件查询

  Mysql数据库基础学习笔记

9.带or的多条件查询

  Mysql数据库基础学习笔记

10.关键字distinct(查询结果不重复)

  Mysql数据库基础学习笔记

11.对查询结果排序(order by)

  Mysql数据库基础学习笔记

  Mysql数据库基础学习笔记

12.分组查询(group by)

分组之后还可以进行条件过滤,将不想要的分组丢弃,使用关键字 having

having和where都是进行条件过滤的,区别就在于 where 是在分组之前进行过滤,而having是在分组之后进行条件过滤。

  Mysql数据库基础学习笔记

  Mysql数据库基础学习笔记

13.使用limit限制查询结果的数量

  Mysql数据库基础学习笔记

14.count()函数

count(*):计算表中的总的行数,不管某列有数值或者为空值,因为*就是代表查询表中所有的数据行。

count(字段名):计算该字段名下总的行数,计算时会忽略空值的行,也就是null值的行。

 Mysql数据库基础学习笔记

15.sum()函数

  Mysql数据库基础学习笔记

16.avg()函数

  Mysql数据库基础学习笔记

17.max()函数、min()函数

  Mysql数据库基础学习笔记

二、多表查询

1.创建表,插入数据 

create table suppliers(s_id int not null,s_name char(50) not null,s_city char(50) null,s_zip char(10) null,s_call char(50) not null,primary key(s_id));    insert into suppliers values(101,'supplies a','tianjin','400000','18075');  insert into suppliers values(102,'supplies b','chongqing','400000','44333');  insert into suppliers values(103,'supplies c','shanghai','400000','90046');  insert into suppliers values(104,'supplies d','zhongshan','400000','11111');  insert into suppliers values(105,'supplies e','taiyuang','400000','22222');  insert into suppliers values(106,'supplies f','beijing','400000','45678');  insert into suppliers values(107,'supplies g','zhengzhou','400000','33332');  insert into suppliers values(108,'supplies h','xiaan','400000','44442');  insert into suppliers values(109,'supplies i','fuzhou','400000','55552');  insert into suppliers values(110,'supplies j','xiamen','400000','66662');

2.普通双表连接查询

  Mysql数据库基础学习笔记

3.内连接查询

格式:表名 inner join 表名 on 连接条件

  Mysql数据库基础学习笔记

4.外连接查询

内连接是将符合查询条件(符合连接条件)的行返回,也就是相关联的行就返回。

外连接除了返回相关联的行之外,将没有关联的行也会显示出来。

左外连接查询

格式: 表名 left join 表名 on 条件;

返回包括左表中的所有记录和右表中连接字段相等的记录,通俗点讲,就是除了显示相关联的行,还会将左表中的所有记录行都显示出来。

  Mysql数据库基础学习笔记

5.右外连接查询

格式: 表名 right join 表名 on 条件 

返回包括右表中的所有记录和右表中连接字段相等的记录

  Mysql数据库基础学习笔记

6.复合条件连接查询

 Mysql数据库基础学习笔记

7.使用inner join语法进行内连接查询,并对查询结果进行排序

 Mysql数据库基础学习笔记

8.子查询

将查询一张表得到的结果来充当另一个查询的条件,这样嵌套的查询就称为子查询。

搭建环境

  Mysql数据库基础学习笔记

9.带any、some关键字的子查询

any关键字接在一个比较操作符的后面,表示若与子查询返回的任何值比较为true,则返回true,通俗点讲,只要满足任意一个条件,就返回true。

Mysql数据库基础学习笔记

10.带all关键字的子查询

使用all时表示需要同时满足所有条件。

  Mysql数据库基础学习笔记

11.带exists关键字的子查询

exists关键字后面的参数是任意一个子查询,如果子查询有返回记录行,则为true,外层查询语句将会进行查询,如果子查询没有返回任何记录行,则为false,外层查询语句将不会进行查询。

  Mysql数据库基础学习笔记

12.带in关键字的子查询

  Mysql数据库基础学习笔记

13.合并结果查询

利用union关键字,可以将查询出的结果合并到一张结果集中,也就是通过union关键字将多条select语句连接起来,注意,合并结果集,只是增加了表中的记录,并不是将表中的字段增加,仅仅是将记录行合并到一起。其显示的字段应该是相同的,不然不能合并。 

union:执行的时候会删除重复的记录,所有返回的行度是唯一的,

union all:不删除重复航也不对结果进行自动排序。

  Mysql数据库基础学习笔记

14.使用union,而不用union all的话,重复的记录就会被删除掉。

  Mysql数据库基础学习笔记

 

需要了解更多数据库技术:Mysql数据库基础学习笔记,都可以关注数据库技术分享栏目—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/dtteaching/831365.html

(0)
上一篇 2021年9月19日
下一篇 2021年9月19日

精彩推荐