MySQL_Ch_1

@BCKou

MySQL_Ch_1

数据库的核心操作 CRUD

create 创建 数据库创建语句 增

read 读取 查

update 更新 改

delete 删除 删

SQL语句分类

  1. 数据查询语句(重要)——DQL

  2. 数据操作语句——DML

    增、删除、修改 ——针对数据

  3. 数据库定义语句 ——DDL

    增、删、改

    针对的数据库对象

    可以称为数据库对象:表、视图、序列、索引、列 (结构性)

  4. 数据库控制语句 —— DCL

    用于数据库系统的权限设置

  5. 事务处理语句 —— TPL (事务控制语句 TCL

查询语句

  1. 环境中需要建立一个自己的数据库

    关键词、列表、表名都不区分大小写

  2. 字符串拼接

    MySQL中字符串是用单引号包含的’ABC’

    显示员工编号,员工的姓名,职位是xxx 格式,工资

    concat() 字符串拼接函数

  3. 数值计算

    查询员工姓名和员工的全年工资

    null如果参与运算避免方法

    ifnull()函数

    – 三要素:
    – 1) 函数功能:当expr1的结果是null时,使用expr2结果作为它的函数的整体结果
    – 2)函数的参数 小括号里填什么:参数1:表达式 参数2: 表达式
    – 3)函数的返回值

    实际操作中,尽量避免录入空值null

    select ename,sal,(sal + ifnull(comm,0)) * 12 as 年收入 from emp
    

    distinct()去除重复的数据

    查询所有部门的编号

    select distinct deptno from emp;
    

    – 注意:distinct只能放在select和列名之间的位置

    错误写法:  select job,distinct deptno from emp;
    

    – from emp select job 14条数据 14个部门编号

select distinct job ,deptno from emp;
  1. 条件查询

    select...from...where

    不等号建议使用<>

  2. 查询条件中的关系
    – 1) 与关系 and
    – 查询在10号部门工作,并且月薪高于2000,并且职位是MAMAGER的员工信息

    select * from emp where deptno = 10 and sal > 2000 and job = 'MANAGER';
    

    – 注意:MySQL下对大小写不敏感
    – 2) 或关系 or
    – 查询在10号部门工作或者工资高于2000的员工

    select * from emp where deptno = 10 or sal > 2000;
    

    – 3) 如果and和or一起使用
    and的优先级比or高
    – 查询在10号部门工作或工资高于2500并且职位是MAMAGER的员工信息 #句子有歧义则有如下两种写法

    select * from emp where deptno = 10 or sal > 2500 and job = 'MANAGER';
    
    select * from emp where (deptno = 10 or sal > 2500) and job = 'MANAGER';
    

    – 关于它们的漏洞 注入漏洞 ——早期的游戏盗号方法
    – 例如:用户登录
    – 后台数据库有一个判断标准:用户名和密码

    select * from user where username = 'haha' and password = '123';
    

    – 利用and和or的优先级获取密码

    select * from user where username = 'haha' and password = '' or 1 = 1;# False or True ==>True
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值