MYSQL简述

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

MYSQL基础简述


文中示例所需资源
点击下载
提取码:6666

数据库

概述
  1. 数据库:就是数据仓库,其本质是一个文件系统,按照特定的格式将数据存储起来,用户可以独一数据库中的数据进行增删改查的操作。

  2. 数据库管理系统:简称DBMS,只一种操作和管理数据库的大型软件,用来建立,使用和维护数据库,对数据库进行统一管理和控制,保证数据的完整性和安全性,用户通过数据库管理系统来访问数据库表中的数据

  3. 常见的数据库

    • Mysql:Oracle

    • Oracle:Oracle

    • DB2:IBM

    • SQLServer:微软

    • SyBase:SYBase

  4. Dept(部门表)

    • deptno:部门编号

    • dname:部门名称

    • loc:部门地址

  5. Emp(员工表)

    • empno:员工编号

    • ename:姓名

    • job:工作岗位

    • mgr:经理编号

    • hiredate:入职日期

    • sal:薪水

    • comm:奖金

    • deptno:部门编号(与部门表中的deptno关联)

  6. SalGrade

    • grade:薪水等级

    • losal:最低薪水

    • hisal:最高薪水

SQL(结构化查询语言)

  1. 简介

    • 是操作和检索关系型数据库的标准语言

    • 20世纪70年代由IBM公司开发,目前用于所有关系型数据库

  2. 分类

    • 数据查询语言(DQL):主要包括select语句,用于从表中检索(查询)数据
    • 数据操作语言(DML):主要Insert,update和delete,用于添加,更新和删除表中数据
    • 事物处理语言(TPL):主要包括commmit和rollback,用于数据提交和回滚
    • 数据控制语言(DCL):主要包括grant,reboke,用于进行授权和回收授权
    • 数据定义语言(DDL):主要包括create,drop,alter,用于定义,销毁和修改数据库对象
  3. sql语句书写规则:

    • 不区分大小写

    • 可以单行书写,也可以多行书写,建议多写,增加代码可读性

简单查询语句

  1. select*from dept;
    • 语句:一条完整的sql命令
    • 子句:部分sql语句,通常是由关键字加上其他语法元素构成
    • 关键字:sql语言保留的字符串,比如:select、from
  2. 选择列
    • 查询所列:*
    • 查询部分列:select deptno,dname from dept;
  3. 算数运算符:+、-、*、/
  4. navicat中注释快捷键:
    • 添加注释:选中内容,ctrl+/
    • 取消注释:选中内容,ctrl+shift+/
  5. 空值:null
    • 空值是一种无效的,未赋值的或不可用的值(不确定的值)
    • 空值不同于零或者空格
    • 任何包含空值的算数表达式预算后的结果为空值
  6. 列别名
    • 用来重新命名列的显示标题
    • 列别名的方法
      • 列名 (空格) 列别名
        • select ename,sal,comm,sal+comm,sal*12 年薪
      • 列名 as 列别名
        • select ename,sal,comm,sal+comm,sal*12 as 年薪
    • 注意:如果列别名中包含空格需要使用双引号把列名括起来
      • select ename,sal,comm,sal+comm,sal*12 “年 薪”
  7. 消除重复行:DISTINCT(去行)
    • select DISTINCT job

限制数据行查询

  1. 语法规则

    • 使用where子句限定返回的记录

    • where子句放在from子句后

    • select 列的列表

      from 表名

      where 条件

  2. 比较预算符

    • =、>=、>、<、<=、<>(不等于)
    • 比较日期:日期数据使用单引号括起来,格式符合日期要求(‘1982-01-01’ , ‘1982/01/01’ )
  3. 字符串数据要使用单引号括起来默认不区分大小写(跟排序规则有关)

  4. 特殊比较运算符

    • between…and…确定范围,在两个值中间(包含比较值)
      • select ename,HIREDATE 入职日期
        FROM emp
        where HIREDATE BETWEEN ‘1982-01-01’ AND ‘1985-12-31’
    • in(列表):确定集合
      • – select ename,empno
        – from emp
        – WHERE ename in(‘WARD’,‘BLAKE’,‘SCOTT’)
    • like:模糊查询
      • select ename
        from emp
        WHERE ename like ‘S%’
      • 使用通配符来代替未知信息
      • %:可以代替任意长度的字符(0到任意多个)
      • _(下划线):可以代替任意一个字符
    • is null:判断是空
      • select ename,comm
        from emp
        WHERE comm is null
  5. 逻辑运算符:and,or,not

    • select *
      from emp
      WHERE ename = ‘scott’ or sal > 3000
  6. 运算符的优先级(括号的优先级最高)

排序

  1. order by{ 列表 | 表达式 | 别名 }[ asc | desc ]
  2. asc:升序,默认值,desc:降序
    • SELECT *
      from emp
      order by sal ASC(叫表达式)
      • 别名排序
      • SELECT ename,sal 月薪
        from emp
        order by 月薪 ASC
      • 多列排序
      • SELECT ename,sal 月薪
        from emp
        order by 月薪,empno desc(先按月薪,月薪相同,排后按编号排)
  3. 子句的执行排序:from where select (order by)
  4. MySQL中null为最小(注意:Oracle中null最大)
  5. 可以按照select后列的顺序号排序,顺序号从1开始
    • 注意:排序的列可以不出现在select
      • SELECT empno,ename,COMM
        from emp
        order by 3 desc

Limit子句

  1. top N:limit N

  2. 分页:limit startindex,N

    • 注意:起始索引为0,所以使用用时-1

    • 每页3条记录,要显示的二页数据 7521,7654,7934
      pageNum(第几页), pageSize(每页最多行数)
      select*
      from emp
      order by sal
      limit 3,3

      分页语句:limit(pageNum-1)*pageSize,pageSize

  3. 执行语句: from where select(order by) limit

注释

三种方式:

  1. – 注释 (单行)
  2. #注释 (单行)
  3. / * 多行注释 * / (多行)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值