• Python之MySQL基础


    一、存储引擎

    1.1  什么是存储引擎

    MySQL中的数据通过不同的技术存储再文件或者内存中,每种技术有不同的存储机制,索引技巧,锁定水平,并且提供不同的能力,而实现这些技术的我们就称之为存储引擎

    1.2 都有哪些存储引擎

    • InnoDB  最常用 支持事务,行级锁定
    • MyISAM 不支持事务,表记锁定
    • MEMORY 所有的数据都保存再内存中

    1.3 Mysql的工作流程

    • 第一层:连接处理,授权认证,安全
    • 第二层:包含大多数核心功能,如查询解析、分析、优化、缓存以及所有的内置函数等,所有的跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等
    • 第三层:存储引擎,负载数据的存储和提取,各个存储引擎之间没有通信
    • 第四层:文件系统,数据,日志等都会以文件的形式存储再硬盘上

    二、事务

    ACID

    原子

    三、索引和键

    3.1、主键

    特点

    • 一个表只能有一个主键
    • 主键列非空且唯一

    四、数据类型

    4.1 数字类型

    4.11、tinyint

     

    4.12、int 

     

    4.13、bigint

     

    4.14、FLOAT

     

    4.15、DOUBLE

     

    4.16、decimal

    • 精确的浮点数

    decimal(num1,num2) 是指总共10位,其中5位数小数点以后的位置,即小数点之前为5位,小数点后面位5位

     4.2、字符串类型

    4.2.1 char

    • 固定长度,如果数据没有填满,则使用其他填充符号填充
    • 速度快

    4.2.2 varchar

    • 不定长,数据多少就存多少
    • 速度比char慢

    4.2.3 text

    • 存储大小比较大的字符串
    • 如果存储文件或者图片时,将文件和图片放到服务器磁盘上,DB里面存储文件和图片的路径

    4.3 时间类型

    • 最常用的是datetime类型,有年月日,时分秒记录

    4.4 enum

    4.5 set

    自增列

    • 如果一列为自增列,有10行数据,删掉了后5行,再次插入数据时,自增列时从11开始的
    • 如果我们自定义自增的开始值可以通过 alter table user_info auto_increment = 10; 设置自增开始值

      

    # 创建一个user_info表,uid自增
    CREATE TABLE user_info(
        uid INT AUTO_INCREMENT PRIMARY KEY,
        uname VARCHAR(20)
    )ENGINE = INNODB DEFAULT CHARSET = utf8;
    
    # 表内插入3条数据
    INSERT INTO user_info(uname) VALUES('老赵');
    INSERT INTO user_info(uname) VALUES('老李');
    INSERT INTO user_info(uname) VALUES('老王');
    
    SELECT * FROM user_info;
    
    # 删除第二条和第三条数据
    DELETE FROM user_info WHERE uid = 2 OR uid = 3;
    
    # 再次插入一条数据
    INSERT INTO user_info(uname) VALUES('老李');
    # 再次查看uid为4
    SELECT * FROM user_info;

    之所以这样是因为这个表里uid是auto_increatment,每次新增数据,该值会随着发生变化,当有新增数据时,会将该值作为下一个uid的值插入

  • 相关阅读:
    分页
    uuid算法
    mysql卸载安装
    安装和破解收费版idea
    css样式一开始不显示,点击显示隐藏
    各种技术网址
    vue加载高德地图,加标记点,点出文本框
    Security Traps 玩耍剧透(持续更新)
    最近做的一个小玩意踩的坑
    最近刷题的一个总结
  • 原文地址:https://www.cnblogs.com/wc89/p/10464149.html
Copyright © 2020-2023  润新知