• 02.MySQL基本规则与select语句


    MySQL基本规则

    必须遵守

    • SQL可以写在一行或者多行中,但是每条语句必须用 ;\g\G结尾

      select *
      from employees
      where employees.id = 1;
      
    • 关键字不能被缩写也不能分行

    • 标点符号

      • 所有的()''"" 都是成对存在的
      • 必须使用英文的标点符号(半角符号)
      • 字符串类型和日期类型的数据可以使用''表示 (MySQL中不够严谨,因此单引号和双引号不做区分)
      • 列的别名需要用 "" 表示,不建议省略as

    建议遵守

    • MySQL在windows中是大小写不敏感的
    • MySQL在Linux下是大小写敏感的(Oracle无论是windows还是Linux都是大小敏感的)
      • 数据库名、表名、表的别名、变量名是严格区分大小写的
      • 关键字、函数名、列名、列的别名是忽略大小写的
    • 建议:
      • 数据库名、表名、表的别名、字段名、字段别名等都小写
      • SQL关键字、函数名、绑定变量都大写

    注释方式

    三种注释方式

    • 推荐使用#表示注释

      # 第一种方式#单行注释
      # 我是注释
      /* 
      我是段落注释
      */
      -- 我也是单行注释
      select * from employees
      
      
      

    导入sql文件

    # source 文件的全路劲名
    source d:\atguigudb.sql;
    

    基本select语句

    • 基本的select语句

      SELECT 1 + 2,2 * 3;
      SELECT 1 + 2,2 * 3
      FROM DUAL; # 伪表
      

      结果:

      image-20220308004532032

      # 查询所有数据
      SELECT * FROM employees;
      # 查询指定数据
      SELECT first_name, last_name FROM employees;
      
    • 列的别名

      # 指定列的别名
      # 特别注意,如果别名中有空格,需要将别名用""包含起来,不然会报错
      SELECT first_name AS fname, last_name AS lname from employees;
      

      结果:

      image-20220308005424586

    • 去重

      # 查询员工的所有部门
      SELECT department_id from employees WHERE department_id IS Not NULL;
      

      image-20220308005708453

      # 引入去重
      SELECT DISTINCT department_id from employees WHERE department_id IS Not NULL;
      

      image-20220308005819053

    • 空值null参与运算

      空值null参与计算结果都是null (包括数字运算和逻辑运算),只有使用安全不等才能得到返回值

      # 1 * null => null
      # 'a' = null => null
      # 'a' != null => null
      # null = null => null
      # null <=> null => 1
      select 
      
    • 着重''

      与MySQL中系统变量、关键词冲突的需要使用着重号''

      select * from `order`
      
    • 查询常数

      select '旺旺',123,employee_id,last_name,first_name from employees; 
      

      image-20220309004337996

    • 显示表结构

      DESC employees;
      

      image-20220309004423485

    • 过滤数据

      # 查询10号部门的员工
      SELECT employee_id,first_name,last_name from employees WHERE department_id = 90;
      

      image-20220309004612647

  • 相关阅读:
    49 我素故我在
    91 棋盘游戏
    55 删除数组重复元素
    54 删除数组元素
    C++虚函数, 纯虚函数
    iOS-OC-多态
    C++函数引用形参和非引用形参
    怎么清理Mac 硬盘里的其他
    Vue.js中this.$nextTick()的使用
    data中有嵌套,取值要链式取
  • 原文地址:https://www.cnblogs.com/jiangblog/p/15978861.html
Copyright © 2020-2023  润新知