Mysql数据库基础学习笔记
Mysql数据库基础学习笔记
1.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、查询所有字段

3.查询指定字段

4.带IN关键字的查询
IN关键字:IN(xx,yy,...) 满足条件范围内的一个值即为匹配项

5.带BETWEEN AND的范围查询
BETWEEN ... AND ... : 在...到...范围内的值即为匹配项

6.带LIKE的字符匹配查询
LIKE: 相当于模糊查询,和LIKE一起使用的通配符有 "%"、"_"
"%":作用是能匹配任意长度的字符。
"_":只能匹配任意一个字符

7.查询空值
空值不是指为空字符串""或者0,一般表示数据未知或者在以后在添加数据,也就是在添加数据时,其字段上默认为NULL,也就是说,如果该字段上不插入任何值,就为NULL。此时就可以查询出来。
SELECT * FROM 表名 WHERE 字段名 IS NULL; //查询字段名是NULL的记录
SELECT * FROM 表名 WHERE 字段名 IS NOT NULL; //查询字段名不是NULL的记录
8.带AND的多条件查询

9.带OR的多条件查询

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

11.对查询结果排序(ORDER BY)


12.分组查询(GROUP BY)
分组之后还可以进行条件过滤,将不想要的分组丢弃,使用关键字 HAVING
HAVING和WHERE都是进行条件过滤的,区别就在于 WHERE 是在分组之前进行过滤,而HAVING是在分组之后进行条件过滤。


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

14.COUNT()函数
COUNT(*):计算表中的总的行数,不管某列有数值或者为空值,因为*就是代表查询表中所有的数据行。
COUNT(字段名):计算该字段名下总的行数,计算时会忽略空值的行,也就是NULL值的行。

15.SUM()函数

16.AVG()函数

17.MAX()函数、MIN()函数

二、多表查询
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','','');
INSERT INTO suppliers VALUES(102,'Supplies B','Chongqing','','');
INSERT INTO suppliers VALUES(103,'Supplies C','Shanghai','','');
INSERT INTO suppliers VALUES(104,'Supplies D','Zhongshan','','');
INSERT INTO suppliers VALUES(105,'Supplies E','Taiyuang','','');
INSERT INTO suppliers VALUES(106,'Supplies F','Beijing','','');
INSERT INTO suppliers VALUES(107,'Supplies G','Zhengzhou','','');
INSERT INTO suppliers VALUES(108,'Supplies H','Xiaan','','');
INSERT INTO suppliers VALUES(109,'Supplies I','Fuzhou','','');
INSERT INTO suppliers VALUES(110,'Supplies J','Xiamen','','');
2.普通双表连接查询

3.内连接查询
格式:表名 INNER JOIN 表名 ON 连接条件

4.外连接查询
内连接是将符合查询条件(符合连接条件)的行返回,也就是相关联的行就返回。
外连接除了返回相关联的行之外,将没有关联的行也会显示出来。
左外连接查询
格式: 表名 LEFT JOIN 表名 ON 条件;
返回包括左表中的所有记录和右表中连接字段相等的记录,通俗点讲,就是除了显示相关联的行,还会将左表中的所有记录行都显示出来。

5.右外连接查询
格式: 表名 RIGHT JOIN 表名 ON 条件
返回包括右表中的所有记录和右表中连接字段相等的记录

6.复合条件连接查询

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

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

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

10.带ALL关键字的子查询
使用ALL时表示需要同时满足所有条件。

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

12.带IN关键字的子查询

13.合并结果查询
利用UNION关键字,可以将查询出的结果合并到一张结果集中,也就是通过UNION关键字将多条SELECT语句连接起来,注意,合并结果集,只是增加了表中的记录,并不是将表中的字段增加,仅仅是将记录行合并到一起。其显示的字段应该是相同的,不然不能合并。
UNION:执行的时候会删除重复的记录,所有返回的行度是唯一的,
UNION ALL:不删除重复航也不对结果进行自动排序。

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

Mysql数据库基础学习笔记的更多相关文章
- mySQl数据库的学习笔记
mySQl数据库的学习笔记... ------------------ Dos命令--先在记事本中写.然后再粘贴到Dos中去 -------------------------------- mySQ ...
- MySQL数据库基础学习
MySQL基础知识 ----------- MySQL数据库简介 内存:一断电数据就没有了---------数据库:可以实现数据的持久化存储,有完整的管理系统管理,方便查询--------- DB:数 ...
- 【Mysql数据库】学习笔记
一.数据库的创建 create database database_name DEFAULT CHARACTER SET utf8; //创建一个数据库 drop database database ...
- Java基础学习笔记总结
Java基础学习笔记一 Java介绍 Java基础学习笔记二 Java基础语法之变量.数据类型 Java基础学习笔记三 Java基础语法之流程控制语句.循环 Java基础学习笔记四 Java基础语法之 ...
- 【笔记】MySQL的基础学习(二)
[笔记]MySQL的基础学习(二) MySQL 老男孩 一 视图 视图其实就是给表起个别名 1.创建视图 格式:CREATE VIEW 视图名称 AS SQL语句 CREATE VIEW v1 AS ...
- 【笔记】MySQL的基础学习
[笔记]MySQL的基础学习 老男孩 MySQL 一 安装与配置 1 下载安装 官网:http://dev.mysql.com/downloads/mysql/ 下载相应版本的压缩包 解压压缩包至任 ...
- mysql数据库基础-2019-9-10(随堂笔记)
mysql数据库基础 在cmd情况下启动mysql数据库:(配置path环境变量后可忽略) 运行mysql1. 进入mysql路径2. 执行:mysql -uroot -p,安装时的密码 1.数据库& ...
- mysql数据库基础的简单操作指南
最近在学习mysql,本文是做的关于mysql学习的笔记,跟大家分享一下,希望对大家学习mysql知识有所助益.mysql现在几乎已经成了网站建设的主流数据库,很多php网站系统都采用了mysql数据 ...
- 尚学堂JAVA基础学习笔记
目录 尚学堂JAVA基础学习笔记 写在前面 第1章 JAVA入门 第2章 数据类型和运算符 第3章 控制语句 第4章 Java面向对象基础 1. 面向对象基础 2. 面向对象的内存分析 3. 构造方法 ...
随机推荐
- java之Jvm学习--JVM运行机制
JVM启动流程 1.java虚拟机启动的命令是通过java +xxx(类名,这个类中要有main方法)或者javaw启动的. 2.执行命令后,系统第一步做的就是装载配置,会在当前路径中寻找jvm的co ...
- Pycharm、IDEA等汉化教程
本汉化教程对jetbrains全系列可用:IDEA.Pycharm.WebStorm.phpstorm.AndroidStudio.GoLand.RubyMine.CLion 此汉化无副作用,绝对安全 ...
- 【干货】基于Owin WebApi 使用OAuth2进行客户端授权服务
前言:采用Client Credentials方式,即密钥key/password,场景一般是分为客户端限制必须有权限才能使用的模块,这和微信公众号开放平台很类似. 让用户通过客户端去获取自己的tok ...
- SignalR的Javascript客户端API使用方式整合
PersistentConnection Hub/生成Proxy模式 Hub/非生成Proxy模式 服务端配置 app.Map("/messageConnection", ma ...
- TCP/IP 三次握手
网络连接状态 网络连接状态(11种)非常重要这里既包含三次握手中的也包括四次断开中的,所以要熟悉. LISTEN 被动打开,首先服务器需要打开一个socket进行监听,监听来自远方TCP端口的连接请求 ...
- Chapter 5 Blood Type——5
"Well…" He paused, and then the rest of the words followed in a rush. "嗯..." 他顿顿 ...
- Zabbix监控原理及架构
什么是Zabbix? Zabbix是一个用于网络,操作系统和应用程序的开源监控软件,它旨在监视和跟踪各种网络服务,服务器和其他网络硬件的状态. 为什么需要对各类系统进行监控? 在系统构建时的正常流程中 ...
- Python之文件和目录操作
1.文件基本操作 python内置了打开文件的函数open(),使用规则如下: File_object=open(filename[,access_mode][,buffering]) Filen ...
- VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——GifView控件的使用方式
一. 样式一 我们要实现上图中的效果,需要如下的操作: 从工具栏上的“Smobiler Components”拖动一个GifView控件到窗体界面上 修改GifView的属性 Aut ...
- DSAPI多功能组件编程应用-图形图像篇(中)
[DSAPI.DLL下载地址] 说到计算机上使用代码来处理各种图像特效,是一份太有挑战性的工作.以下涉及的所有图像效果均不是从网上复制的源码,而是本人试验数次并编写的,所以原理上会和网上的有所不同 ...