MySQL 笔记2

1.字符类型的宽度和数值类型的宽度区别:
    1.数值类型的宽度仅仅为显示宽度,只用于select查询显示,和
    占用的存储空间大小无关,可用zerofill查看效果


    2.字符类型的宽度超过则无法存储


2.where条件子句(配合查询,修改,删除操作)
    1.语句格式
        select * from 表名 where 条件;


3.表记录管理
    1.删除表记录
        1.delete from 表名 where 条件;
        2.注意
            delete 语句后如果不加where条件语句,会将表中所有记录都删除


    2.更新表记录:
        1.update 表名 set 字段名1=值1,字段名2=值2,... where 条件;
        2.注意
            update语句如果不加where 条件子句会将表中所有记录都会更改        


4.运算符操作
    1.数值比较&字符比较
        1,数值比较运算符:=,!=,>,>=,<=,<;
        2,字符比较运算符: =,!=;
       2.逻辑比较
        1.运算符:
            and(两个或者多个条件同时满足)


            or (两个或者多个条件有一个满足就可以)
    3.范围内比较
     1.运算符
        between and ,in , not in ,
        语法: 
        between 值1 and 值2
        in(值1,值2,....值N)
        not in(值1,值2,....值N)


    4.匹配空,非空
        1.空: is null
        2.非空:is not null


     注意:
        1.null:空值,必须用is或者 is not 去匹配
        2."" :空字符串,用= 或者 !=去匹配




    5 . 模糊比较
        1.where 字段名 like 表达式;
        2.表达式
            1._:匹配当个字符
            2.%:匹配0到多个字符


    6.正则匹配查询 regexp
    1.where 字段名 regexp "正则表达式";
    2.正则表达式符号
    ^ :以..开头
    $: 以...结尾
    .: 匹配任意一个字符
    []:包含...内容
        [0-9]:匹配带数字的
        [a-z]:匹配带小写字母
        [A-Z]:匹配带大写字母
    *:星号前面的字符出现0个或者多次 "^赵.*"


5.SQL查询
    1.总结(执行顺序)
        select ...  3.聚合函数 from 表名
        1.where ...
        2.group by ...  
        4.having ...
        5.order by ...
        6.limit ...


    2.order by 
        1.作用:给查询的结果进行排序
        2.语法格式:order by 字段名 排序方式;
        3.排序方式
            1.ASC(默认):升序
            2.DESC:降序
    3.limit(永远放在SQL语句最后)
        1.作用:限制显示查询记录的个数
        2.用法
            1.limit n :--->显示n条记录
            2.limit m,n:--->从第(m+1)条记录,显示n条记录


    4.聚合函数
    1.分类
        1.avg(字段名):求字段的平局值
        2.sum(字段名):求字段的和
        3.max(字段名):求字段的最大值
        4.min(字段名):求字段的最小值
        5.count(字段名):统计该字段记录的个数


    5.group by (先分组,再聚合)
        1.作用:给查询的结果进行分组


        执行过程:
        1.先分组(此时未去重)group by country
        2.再聚合(求每组的平均值)
        3.去重
    3,注意
        1.group by 之后的字段名必须要为select之后的字段名
        2.如果select之后的字段没有,在group by 语句之后则
        必修对该字段进行聚合处理


    6.having
    1.作用:对查询的的结果进行进一步删选


    3.注意
    1.having语句通常与group by语句联合使用,用来过滤由
    group by 语句返回的记录集
    2.having语句的存在,弥补了where条件子句不能与聚合函数
    联合使用的不足,where操作的是表中实际存在的字段
    having操作的是聚合函数生成的显示列


    7.distinct
    1.作用:不显示字段的重复值


    3.注意
    1.distinct处理的是distinct和from之间的所有字段,
    所有字段的值必须完全相同才可以去重
    2.distinct不能对任何字段做聚合处理


    8.查询表记录时可以做数学运算
    1.运算符
        + - * / %


    9.约束
    1.作用
        1.保证数据的完整性,一致性,有效性,可以限制无效的数据
        插入到数据表中
    2.约束分类
        1.默认约束(default)
            1.作用
                插入记录时 如果不给该字段赋值 则使用默认值
            2.格式: 
                字段名 数据类型 default 默认值,
        2.非空约束
            1.作用
                不允许该字段的值有空值NULL记录
            2.格式
                字段名 数据类型 not null,
                #id int not null,
                #name varchar(20) not null,


7,mysql 索引
1.定义
    对数据库中表的一列或者多列的值进行排序的一种结构
    (mysql中索引用Btree方式)
2.索引的优缺点(背诵)
    可以加快数据的检索速度


缺点: 
    1.当对表中的数据进行增加,修改,删除的时候,索引需要动态维护
    降低了数据的维护速度
    2.索引需要占用物理存储空间(数据库目录/var/lib/mysql)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值