zoukankan      html  css  js  c++  java
  • MySQL

    MySQL

    MYISAM INNODB
    事务支持 不支持 支持
    数据行锁 不支持它是表锁 支持
    外键约束 不支持 支持
    全文索引 支持 不支持
    表空间大小 极小 较大 约是2倍

    在物理空间存在的文件

    修改表

    # 修改表名
    alter table teacher rename as teacher1
    # 增加字段
    alter table teacher add age int(11)
    # 修改表的字段
    alter table teacher modify age varchar(11) --修改约束
    alter table teacher change age age1 varcahr(11) -- 修改字段名称
    
    # 删除字段
    alter table teacher drop age1
    
    # 删除表
    DROP TABLE IF EXISTS teacher
    

    所有创建和删除操作应当加上判断,以免报错

    物理外键,数据库级别的外键,不建议使用,会很复杂的,避免数据库过多造成困扰!

    DML语言

    insert

    # 插入语句
    insert into 表名([字段1,字段2, 字段3]) values('值1', '值2', '值3')
    

    update

    # 修改谁, set 字段=新值
    update 表名 set `字段1`=新值, `字段2`=新值 where `条件`=xx # 如果没有where 那整个表就都改了
    

    delete

    DELETE FROM `students`
    DELETE FROM `students` WHERE id = 1;
    
    DELETE 删除的问题,重启数据库,现象
    - innodb 自增会从1开始,存在内存中,断电即失去
    - myisam 继续从上一个自增开始,存在于文件中,不会丢失
    

    TRUNCATE

    TRUNCATE `students`
    
    # 重新设置 自增键会归零
    # 不会影响事务
    

    where 查询关键字

    操作符 含义
    = 等于
    != 或者<> 不等于
    > < >= <= 大于小于 不大于 不小于
    between and 区间
    and &&
    or ||
    like
    in

    DQL 查询数据

    • 数据查询语言 select
    • 数据库中最核心的语言
    • 简单查询和复杂查询都可以使用

    join

    • left join
    • right join
    • inner join

    MySQL函数

    https://dev.mysql.com/doc/refman/5.7/en/sql-function-reference.html

    MySQL 索引

    索引index是帮助MySQL高效获取数据的数据结构

    提取句子主干,就可以得到索引的本质: 索引是数据结构

    • 主键索引 (primary key)

      • 唯一的标识,主键不可用重复,只能有一个列作为主键
    • 唯一索引 (unique key)

      • 避免重复列出现,唯一索引可以重复,多个列都可以标识唯一索引
    • 常规索引 (key / index)

      • 默认的 index key关键字来设置
    • 全文索引 (fulltext)

      • 在特定的数据库引擎下才有,MyIASM
      • 快速定位数据

    索引=
    -- 1. 创建表的时候给字段增加索引
    -- 显示所有的索引信息
    SHOW INDEX FROM student

    -- 2. 增加一个全文索引 索引名(列名)
    ALTER TABLE student ADD FULLTEXT INDEX studentname(studentname)

    -- 3. 增加索引
    CREATE INDEX 索引名 ON 表(字段);

    -- EXPLAIN 分析sql执行的状态
    EXPLAIN SELECT * FROM student;

    索引在小数据的时候,用户不打,但是在大数据量的时候很明显

    创建索引的原则:

    1. 不要对经常变动的表加索引
    2. 索引不是越多越好
    3. 小数据量的表不要加索引
    4. 索引常用来加到经常查询的字段上

    索引的数据结构

    hash类型的索引

    Btree:Innodb的默认

    http://blog.codinglabs.org/articles/theory-of-mysql-index.html

    博主 主页:http://blog.codinglabs.org/pages/about-me.html

  • 相关阅读:
    (五)SpringBoot如何定义全局异常
    从 vim 一题看线头 DP 的扩展应用
    Hadoop Shell基本操作
    《需求工程》阅读笔记*part1
    Jmeter系列(16)- 详解 HTTP Request
    Jmeter系列(15)- 配置元件的入门介绍
    Jmeter系列(14)- 前置、后置处理器的入门介绍
    Jmeter系列(13)- 断言Assertions 的入门介绍
    Jmeter系列(12)- 定时器Timers 的入门介绍
    Jmeter系列(11)- 监听器Listeners 的入门介绍
  • 原文地址:https://www.cnblogs.com/persisit/p/13855576.html
Copyright © 2011-2022 走看看