个人学习笔记4

  • 【知识回顾】
  • 1、{修改数据}

    含义:修改的数据

    单词:

    update】:--指定表,后面接表名

    set】:   --指定列并赋予一个新的数据,可以有多个列,列之间用逗号

    where】:--接条件,定位行,可以有多个条件,用and  、or 来连接

    分类:

    《1》全改(了解)

    含义:将整列的数据改为一样的

    格式:update  表名  set  列名1=’新数据’,列名2=’新数据’;

    效果:将整列的数据改为一样

    又称:不带条件修改

    《2》部分改(重点)

    又称:带条件修改

    单词:where  条件

    含义:修改的是满足条件所在行的列的数据,部分:行和列的交集

    表现1:

    一行一列  --》一个单元格

    二行二列  --》四个单元格

    一行二列  --》二个单元格

    说明:需要指定行和列

    指定行:借助where来指定

    指定列:set来指定

    原理:  先对条件进行判断(是否满足),如果条件满足,满足条件所在行的列的数据被修改,反之,条件不满足,则不会被修改

    格式:update  表名  set  列名1=’新数据,列名2=’新数据’  where  条件;

    效果:修改的是行和列的交集的数据

    说明1:被修改的列可以有多个,逗号隔开

    比如1:修改单列

    set  列1=’新数据’

    比如2:修改多列

    set   列1=’新数据’,列2=’新数据’,列3=’新数据’

    说明2:条件也可以有多个,需要连接词连接

    and      多个条件必须要同时满足

    or       多个条件任意一个满足

    比如1:条件为{30号部门且工资大于1000}

    where 部门=30  and  sal>1000

    比如2:条件为{姓名为’james’和’wade’}

    where 姓名=’james’  or 姓名=’wade’

    比如3:条件为{工资为1000或者2000}

    where  工资=1000  or  2000     这是错误的写法    

    说明:连接词的选择,不能单独从表面上去判断,还需根据实际情况是否符合常理来判断

    尤其是:和,并不一定是and

  • {如何表达条件}
  • 概念:所写的条件写的是一个条件表达式

    方式1:借助关系运算符来表达条件

    符号:>  >=  <  <=  =  !=   <>(不等于)

    举例:工资为9800

      Where  工资=9800

    【如果有多个条件,需要选择一个合适的连接词来连接多个条件】

    方式2:借助特定关键字来表达式条件

    Between   and :介于2个数值范围之间的任意一个数字

    闭区间(包含边界值)

    举例:工资在5000到10000之间

    Where  工资 between  5000  and  10000

    In :在指定的值之间任意选一个

    举例1:工资在2000或者3000或者5000之间

    Where  工资  in(2000,3000,5000)

    举例2:姓名为tom或者jim或者kim

    Where  姓名  in(‘tom’,’jim’,’kim’)

    Null:空,没有数据

    概念1:在数据库中某个列没有数据,显示为null

    概念2:null与任意数字进行任意运算,其结果都是null

    select  1+null;

    概念3:如何使用null来表达非空

    null不支持关系运算符,需借助isnot来表达

    where 工资 is  null

    为空:is  null

    非空:is  not  null

    举例1:没有工资(工资列为空,或者等于0)

    where  工资 is  null  or   工资=0

    举例2:有工资(工资列不为空,并且大于0)

    where  工资  is  not  null  and  工资>0

    not:取反

    应用1:不在某个区间范围内

    not   between   and

    应用2:不在指定的值中

    not   in(值1,值2,值3)

    应用3:非空

    is   not   null

    应用4:对列取反

    比如:工资大于等于1000

    where  工资>=1000

    where  not 工资<1000

    3、{练习}

  • 【每日单词】
  • 单词

    中文含义

    中文发音

    database

    数据库

    德塔贝斯

    create

    创建

    科雷特

    charset

    字符集

    恰赛特

    utf8

    万国码    全称:utf-8    语言:utf-8

    Utf8

    show

    查看

    use

    打开、开启

    游丝

    drop

    删除

    叫破

    table

    忒波

    int

    整数

    因特

    float

    小数

    佛洛特

    date

    日期

    德特

    char

    固定长度字符

    varchar

    可变长度字符

    瓦恰

    desc

    查看表的结构

    desc

    insert

    插入

    银射特

    into

    银土

    values

    数据

    歪留斯

    update

    修改表中列的数据

    阿婆德特

    set

    设置

    色特

    where

    带条件

    歪耳

    and

    连接词,并且

    恩德

    or

    连接词,或者

    Between and

    介于2个数值范围之间

    闭吞恩德

    in

    在指定值之间

    is null

    为空

    is Not null

    非空

    偌特 浪

    select

    含义:查询、检索、计算

    在表中查询数据:

    作用:查询表中的数据

    后面接列名,可以是一个列,也可以是多个列

    表现1:接单个列

    select  列1   from   表名;

    表现2:接多个列,列之间用逗号

    select  列1,列2  from  表名;

    表现3:所有列, *

    select  *   from  表名;

    科特

    from

    从,数据是来源于表

    后面一定接表名,可以是一个表,也可以多个表

    表现1:单个表

    select  列名   from   表名1;

    含义:所查询的数据来自一张表

    表现2:多个表

    select  列名   from   表1,表2;

    select  列名   from  表1  join  表2;

    含义:所查询的数据来自多张表(最最最难)

    付朗姆

    limit

    like

    像,作为模糊查询的关键字

    特点:条件并不是明确,而只是知道其中一部分的信息

    表现1:以什么开头 

    表现2:以什么结束

    表现3:包含什么

    表现4:第二个字符是什么

    表现5:倒数第三个字符是什么

    通配:该符号会自动匹配(转化)为其他的含义(规则)

    1. %:代表0个或者n个字符

           代表任意内容(可以为空,也可以为多个内容)

    1. _:代表有且只有一个字符,占位

    比如:  a   abab   aabba    baba

    以a开头:---》’a%’

    以a结尾:---》’%a’

    包含a:  ---》’%a%’

    第二个字符为a:---》’_a%’

    倒数第三个字符为b: ---》’%b__’

    格式:where  列名  like  ‘带有通配符的表达式’

    含义:某列中的数据像这个表达式(模糊条件)

    举例:查询emp表中姓名ename以j开头的员工的信息

    select  *  from   emp  where  ename  like  ‘j%’;

     

    查看:  show

    desc

    select

    删除

    drop   

    delete  

  • 【新知识点】
  • {查询表中的数据}   重中之重 
  • 应用场合:数据库在软件测试工作中最核心的作用就是通过查询数据来验证最终的测试结果

    注册是否成功?--查询数据库中是否存储了用户信息

    修改个人信息是否成功?--查询数据库中存储的信息是否是新修改的信息

    分类:

    《1》全查(效率低,在工作中不建议使用)

    含义:查询表中所有的数据(所有行以及所有列

    固定格式:select  *  from  表名;

    说明:

    所有列: *

    所有行: 没有条件,就是所有行

    《2》部分查(重点)  行与列交集

    含义:查询表中部分的数据(部分行或者部分列)

    说明:

    部分列:人为指定列,查询那个列,就写那个列,列之间逗号隔开

    部分行:带条件,where  条件,条件也有多个,用连接词连接

    【select】:后面接列名,可以多个

    【from】:后面一定接表名,可以多个

    【where】:后面接条件,可以多个

  • {部分查}
  • 格式:select  列名  from  表名  where  条件;

    思路:三找

    找表,使用from 来接

    找列,写上列名(而不是写表达式),列之间用逗号隔开,写在select的后面

    找条件,用where来引入条件,条件表达式

    准备工作:

    表名--》emp

    列名--》编号(empno),姓名(ename),工资(sal),奖金(comm),部门号(deptno)

    select  列名  from  表名  where  条件;

    示例1:查询单列所有行的数据

    查询emp表中所有员工的姓名(ename)

    代码:  select  ename  from  emp;

    示例2:查询多列所有行的数据

    查询emp表中所有员工的姓名(ename)和工资(sal)

    代码:select  ename,sal   from   emp;

    示例3:查询部分行所有列的数据

    查询姓名(ename)为’james’所在行的所有信息

    代码:select  *  from  emp  where  ename=’james’;

    示例4:查询部分列及部分行的数据

    查询emp表中工资(sal)为5000的员工的姓名(ename)和奖金(comm)

    代码:select  ename,comm   from   emp  where   sal=5000;

    {小练习}  简单查询

  • 在emp表中查询30号部门deptno中员工的所有信息。
  • select  *  from  emp  where  deptno=30;

  • 在emp表中查询从事"clerk"工作job的员工的姓名ename和工资sal。
  • select  ename,sal  from  emp  where  job=’clerk’;

  • 在emp表中查询30号部门deptno中从事"clerk"工作job的员工的姓名和工资
  • select  ename,sal  from  emp  where  deptno=30   and  job=’clerk’;

  • 在emp表中查询奖金comm大于工资sal的30%的员工信息。
  • select  *   from   emp   where  comm>sal*0.3;

  • 在emp表中查询20号部门deptno中工资sal大于1500的员工的信息
  • select  *  from  emp  where  deptno=20  and  sal>1500;

  • 在emp表中查询入职日期hiredate在’1981-11-07’之后的员工的信息
  • select  *  from  emp  where  hiredate>’1981-11-07’

  • 查询emp表中入职日期hiredate在’1981-5-07’到’1981-12-07’之间的员工的信息
  • select  *  from  emp 

    where  hiredate   between  ’1981-5-07’  and  ’1981-12-07’

  • 在emp表中查询没有奖金comm的员工的信息
  • select  *  from   emp   where  comm  is   null  or  comm=0;

  • 在emp表中查询工资sal在1500到3000之间的员工的信息
  • select  *  from  emp 

    where  sal   between  1500  and  3000;

  • 在emp表中查询’james’、’ward’以及’smith’的工资sal
  • select  sal  from  emp

    where  ename in(’james’ , ’ward’ , ’smith’);

    【逻辑思维题】

  • 假设一元钱可以买一瓶汽水,喝完后2个瓶盖又可以兑换一瓶汽水,那么请问:
  • 给你20元钱,最多可以喝多少瓶汽水?

    2、一个人花8块钱买了一只鸡,9块钱卖掉了,然后他觉得不划算,花10块钱又买回来了,11块卖给另外一个人,请问他总共赚了多少?

    赚2元

  • 屋里四盏灯,屋外四个开关,一个开关仅控制一盏灯,屋外是看不到屋里的情况,给你          10分钟时间,且只允许进屋一次,请问如何判断哪个开关控制哪盏灯的?
  • 条件1:  10分钟

    条件2:  进屋一次

    假设三个开关:K1  K2  K3  k4   三盏灯:D1  D2  D3  D4

    先打开k1\k2开关,让其亮了9分种后关闭k2,然后打开K3

    亮有2盏:

    不亮有2盏

    先打开k1开关,让其亮了9分种后关闭,然后打开K2,此时进屋

    灯亮就是K2控制的

    有点烫的就是K1控制的

    不亮也不烫的就是K3控制的

    2、{模糊查询}

    应用场合:当条件不是很明确时,借助like关键字以及通配符来表达模糊条件

    like  :像,--》列中的数据像这个模糊条件

    通配符:

    %  --->代表(匹配)0个或者n个字符(可有可无,可多可少)

    且不限数量

    _  --->代表(匹配)有且只有一个字符(只占一个位置),也不限数量

    格式:

    select   列1,列2,...  from  表名  where     like  ‘模糊条件;

    模糊条件:

    表现1:以什么开头

    表现2:以什么结尾

    表现3:包含什么

    表现4:第几个字符是什么

    表现5:至少有几个字符

    示例1:

    查询emp表中从事的工作job是以字母c开头的员工的姓名ename和工作job

    示例2:

    查询emp表中姓名ename以字母s结尾的员工的姓名ename和工资sal

    示例3:

    查询emp表中姓名ename包含字母k的员工的姓名ename和工资sal

    示例4:

    查询emp表中姓名第三个字符为字母l的员工的信息

    示例5:

    查询emp表中姓名倒数第二字符为字母e的员工的信息

    示例6:

    查询emp表中姓名只有5个字符的员工的信息

    示例7:

    查询emp表中姓名倒数第二字符为字母e且至少有6个字符的员工的信息

  • {分页查询}
  • 含义:将查询的数据分页来显示,每一次只显示部分行数据(按照行数)

    作用:提高查询的速度

    比如:假设每次只显示10行数据

    第一次查询:第1行~第10行

    点击下一页:  第11行~第20行

    单词: limit    (限制)

    含义:是一个独立语句,不需要where,因为本身就是定位行

    格式:select  列名  from  表名   limit m,n;

    作用: 限制行数

    分析:限制行数应该要设置2个参数

    第一个参数:初始值,从第几行开始限制行数,包含本身

    第二个参数:总行数,总共限制的行数

    语法: limit  m,n

    m: 第一个参数,初始值,从第m+1行开始限制

    取值:从0开始取值,且是一个大于等于0的整数

    默认值:0,可以省略

    0:第一行

    1:第二行

    2:第三行

    ...

    n: 第二个参数,总行数

    取值:大于等于1的整数

    举例:

    Limit 0,1  : 表中第一行

    Limit 0,2  : 表中前2行(第一行和第二行)

    Limit 1,1  : 表中第二行

    Limit 2,1  : 表中第三行

    Limit 0,4  :1 2 3 4

    Limit 1,4  :2 3 4 5

    Limit 2,2  :3 4行

    Limit 3,3  :4 5 6行

    Limit 4    :表中前4行

    示例1:

    查询emp表中第三行的数据

    代码:select  *  from  emp  limit 2,1;

    示例2:

    查询emp表中前三行的数据

    代码:select  *  from  emp  limit 0,3;

    select  *  from  emp  limit 3;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值