zoukankan      html  css  js  c++  java
  • 老师总结数据库

    关系型和非关系型数据库

    mysql redismongodb

    dcl 控制语言 授权 创建用户

    ddl create drop alter show

    # 数据库操作
        # 创建库 create database 库名
        # 修改库 alter database charset ='utf-8'
        # 使用库 use xxx
        # show databases 查看库
    # 表的操作
        # 项目的表结构  ******
        # 存储引擎 : innodb
            # 行级锁 、支持外键、支持事务
            # 修改比较频繁的操作
            # 表与表关联的例子 -- 约束
            # 支持事务: 扩展角度
        # 建表
            # create table 表名(字段名 数据类型(长度) 约束,.....)
        # 数据类型
            # 数字 字符串 时间 枚举和集合
                # int float(m,n) tinyint
                # char varchar
                    # char 定长 0-255 存取速度快 但是浪费空间
                    # varchar 变长 0-66635 存取速度满 但是节省空间
                # date time datetime
                    # '2019-8-7 12:22:22'
                    # 20190807122222
                # enum set
                    # enum 单选
                    # set 多选
                        # insert into 表 values ('alex','抽烟,喝酒')
        # 约束
            # not null 非空
            # unique   唯一
            # default  默认值
            # auto_increment unique是前提,自增(非空)
            # primary key 主键
            # foreign key 外键,要求关联的外表字段必须是unique的 语法!!!!
        # 查看表结构:
            # desc 表名
            # show create table 表名
        # 修改表
            # alter table 表名 rename
            # alter table 表名 add
            # alter table 表名 drop
            # alter table 表名 change
            # alter table 表名 modify
        # 删除表
            # drop table 表名
    

    dml select delete update insert

    # select
        # 单表查
            # select distinct from where group by having order by limit
            # 分组聚合 select avg(age) from 表 group by post
            # 聚合函数 : min max avg count sum
    
            # 项目里的orm改成原生sql
        # 多表查
            # 连表查
                # 内连接 inner join
                # 左外连接 left join
                # 右外连接 right join
            # 子查询
                # 查出来的结构作为两一个sql语句的一部分
    # insert into 表名(字段名) values (值)
    # update 表名 set 字段名 = 值 where 条件
    # delete from 表名 where 条件
    

    数据的增删改查 + 自己的表结构

    存储引擎 表操作 库操作 权限操作 约束

    索引

    # 正确使用索引的条件
        # 建立索引的列的重复度不能太高
        # 条件列不能参与计算
        # 不能使用函数
        # 条件中不能使用范围
        # like '%c'
        # 条件中用or
            # a=0 or b=1 or c=2 or d=4 只要其中一列没有索引就无法命中
        # 最左前缀(a,b,c,d) 只适用于and条件的列,如果出现范围,从出现范围的字段开始就失效,必须带着最左侧的列
            # 只要不带a就无法命中索引
            # a = 1 or b = 2   无法命中索引
            # a = 1 and b>100 a可以命中索引 b,c,d无法命中
            # a>200 无法命中索引  因为联合索引一旦使用范围,从使用范围开始之后的索引都不生效
    # 你在你的程序中哪些地方用了索引
        # 主键
        # unique
  • 相关阅读:
    BZOJ2219数论之神——BSGS+中国剩余定理+原根与指标+欧拉定理+exgcd
    Luogu 3690 Link Cut Tree
    CF1009F Dominant Indices
    CF600E Lomsat gelral
    bzoj 4303 数列
    CF1114F Please, another Queries on Array?
    CF1114B Yet Another Array Partitioning Task
    bzoj 1858 序列操作
    bzoj 4852 炸弹攻击
    bzoj 3564 信号增幅仪
  • 原文地址:https://www.cnblogs.com/Doner/p/11425677.html
Copyright © 2011-2022 走看看