• 老师总结数据库


    关系型和非关系型数据库

    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
  • 相关阅读:
    tcpip协议
    Linux特殊文件使用原理
    shell之常用内置变量
    SSM框架CRUD小案例
    个人博客开发笔记
    蓝天筹项目开发记录
    二叉平衡树AVL的插入与删除(java实现)
    二叉搜索树(java实现)
    树的基本操作
    SQL连接
  • 原文地址:https://www.cnblogs.com/Doner/p/11425677.html
Copyright © 2020-2023  润新知