Mysql基础知识

一、初识Mysql

数据库相关概念

1、DB:数据库,保存一组有组织的数据的容器
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3、SQL:结构化查询语言,用于和DBMS通信的语言

数据库存储数据的特点

1、将数据放到表中,表再放到库中
2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中“类”的设计
4、表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java中的“属性”
5、表中的数据是按行存储的,每一行类似于Java中的“对象”

Mysql服务的启动和停止

CMD命令用管理员启动,net start/stop mysql

Mysql服务端的登录和退出

CMD命令用管理员启动,mysql -h localhost -P 3306 -u root -p
退出 exit

Mysql常见的命令

在这里插入图片描述

Mysql的语法规范

在这里插入图片描述

二、常见函数

语法

  • select 函数名(实参列表) from 表

分类

  • 单行函数 如:concat,length等
  • 分组函数 功能 :做统计使用,又称统计函数,聚合函数,组函数

单行函数

字符函数

  • substring 索引从一开始
  • upper 变大写
  • lower 变小写
  • length 获取字节个数
  • concat 拼接字符串
  • instr 返回子字符串在主字符串的第一次索引,如果找不到返回0
  • trim 去前后的字符
    在这里插入图片描述
  • lpad 用指定的字符实现左填充指定长度
    在这里插入图片描述
  • rpad 右填充
  • List item
  • replace 替换
    在这里插入图片描述

以上都是一些常用的字符函数

数学函数

  • round 四舍五入
  • ceil 向上取整,返回>=该参数的最小整数
  • floor 向下取整
  • truncate 截断
    在这里插入图片描述
  • mod 取余
  • rand 获取随机

日期函数

  • now 返回当前系统日期+时间

  • curdate 返回当前系统日期,不包括时间

  • curtime 返回当前的时间,不包括日期
    在这里插入图片描述

  • str_to_date 将日期格式的字符转换成指定的日期

    在这里插入图片描述

  • date_format 将日期转换成字符

在这里插入图片描述

其他函数

  • version 查询版本号
  • datebase 查看当前数据库
  • user 查询当前用户

流程控制函数

  • if函数 if else的效果

在这里插入图片描述

  • case函数

    使用一 switch case的效果
    在这里插入图片描述

    使用二 类似于 多重if
    在这里插入图片描述

分组函数

  • sum 求和 忽略null
  • avg 平均值 忽略null
  • max 最大值 忽略null
  • min 最小值 忽略null
  • count 计算个数 忽略null 统计行数
    在这里插入图片描述
  • 可以和distinct搭配去重
    在这里插入图片描述

三、查询(重重之重*)

排序查询

语法:

  • select 查询列表 from 表 where 筛选条件 order by 排序列表 asc|desc

特点:

  • asc代表升序,desc代表降序,如果不写默认升序
    支持 单个字段,多个字段,表达式,函数,别名
    order by 一般放在查询语句最后面(limit子句除外)

基础查询

  • 语法:select 查询列表 from 表名;
  • 特点
    1、查询列表可以是:表中的字段、常量值、表达式、函数
    2、查询的结果是一个虚拟的表格
  • +号的作用
    1.两个操作数都为数值型,则做加法运算
    2.其中一方为字符型,试图将字符型数值转换成数值型 如果转换成功,则继续做加法运算 如果转换失败,则将字符型数值转换成0
    3.如果其中一方为null,则结果肯定为null
  • concat函数: 拼接字符
  • ifnull函数: 判断某字段或表达式是否为null,

条件查询

  • 语法 select 查询列表 from 表名 where 筛选条件

分类:
1、按条件表达式筛选
条件运算符 > < = != <> >= <=
2、按逻辑表达式筛选
逻辑运算符
&&和and 两个条件都为true,结果都为true,反之为false
||或or 只要有一个条件为true,结果都为true,反之为false
!或not 如果连接的条件本身为false,结果为true,反之为false
3、模糊查询 like between——and in is null

特点

  • 1、一般和通配符搭配使用 通配符 %表示任意多个字符,包含0个字符 _表示任意单个字符

  • 2、between and 包含临界值 两个临界值不要调换顺序

  • 3、in
    含义
    判断某字段的值是否属于in列表中的某一项
    特点
    in列表的值类型必须一致或兼容
    不能有通配符

  • 4、=或!=不能用于判断null值 而 is null 可以

分组查询

  • 语法
    在这里插入图片描述

  • 注意 查询列表必须特殊,要求是分组函数和group by后出现的字段

  • 特点

    在这里插入图片描述

    2、group by 子句支持单个字段分组,多个字段分组(用逗号隔开,没用顺序要求),表达式或函数(用得较少)
    3、也可以添加排序(排序放在整个分组查询的最后)

子查询

  • 分类
    在这里插入图片描述
  • 特点

在这里插入图片描述

  • 含义
    在这里插入图片描述

分页查询

  • 语法

    在这里插入图片描述

  • 特点
    在这里插入图片描述

联合查询

  • 语法

    在这里插入图片描述

  • 应用场景: 要查询的结果来自多个表,且多个表没有直接的连接关系,但查询的信息一致时

  • 特点

    在这里插入图片描述

连接查询

  • 分类:
    在这里插入图片描述

sql99

  • 语法
    在这里插入图片描述

内连接:

  • 语法

在这里插入图片描述

  • 特点

在这里插入图片描述

外连接:

  • 语法

    在这里插入图片描述

  • 特点

    在这里插入图片描述
    交叉连接:

  • 语法

    在这里插入图片描述

  • 特点 类似于笛卡尔乘积

总结

  • 查询语句中所有执行语句的执行顺序

    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值