一、存储引擎

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的值插入

Python之MySQL基础的更多相关文章

  1. python操作mysql基础一

    python操作mysql基础一 使用Python操作MySQL的一些基本方法 前奏 为了能操作数据库, 首先我们要有一个数据库, 所以要首先安装Mysql, 然后创建一个测试数据库python_te ...

  2. python 操作 mysql基础补充

    前言 本篇的主要内容为整理mysql的基础内容,分享的同时方便日后查阅,同时结合python的学习整理python操作mysql的方法以及python的ORM. 一.数据库初探 在开始mysql之前先 ...

  3. python操作Mysql基础

    import pymysql #不修改数据 def no_data_change(): db=pymysql.connect('host','user','pw','db_name') #host,u ...

  4. MySQL基础语句与其在Python中的使用

    一.MySQL基础语句 $ mysql -u root -p (有密码时) $ mysql -u root     (无密码时) QUIT (or \q)  退出 查看当前所有数据库 show dat ...

  5. python进阶08 MySQL基础补充

    python进阶08 MySQL基础补充 本次课程都是基于三张表格的使用 一.子查询 #如何找到‘张三’的成绩 #思路:先找到张三的学号,在拿这个张三的学号到成绩表里面去匹配,得出成绩 #如何用一条查 ...

  6. python学习之-- Mysql 基础知识

    数据库介绍及MYSQL基础操作了解 关系型数据库(RDBMS)是按照数据结构来组织,存储和管理数据的仓库.特点:1:数据以表格的形式出现2:每行为各种记录名称3:每列为记录名称所对应的数据域4:许多的 ...

  7. 使用 python 管理 mysql 开发工具箱 - 1

    Mysql 是一个比较优秀的开源的数据库,很多公司都在使用.作为运维人员,经常做着一些重复性的工作,比如创建数据库实例,数据库备份等,完全都可以使用 python 编写一个工具来实现. 一.模块 Co ...

  8. python使用mysql数据库

    一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...

  9. Python自动化 【第十二篇】:Python进阶-MySQL和ORM

    本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...

随机推荐

  1. x86/x64/x86_64/i386/ia32/ia64/amd/amd64 辨析

    x64 = x86_64 = amd64 64位指令集,是对IA-32的扩展,由AMD提出,implemented by AMD,Intel.可兼容32位指令集(IA-32) 目前大部分64位计算机均 ...

  2. mysql left join 优化

      参考 https://www.cnblogs.com/zedosu/p/6555981.html

  3. 【题解】Hanoi塔问题

    题目描述 有三根柱A,B,C.在柱A上有N块盘片,所有盘片都是大的在下面,小片能放在大片上面.并依次编好序号,现要将A上的N块片移到C柱上,每次只能移动一片,而且在同一根柱子上必须保持上面的盘片比下面 ...

  4. ubuntu18.04安装mysql

    ubuntu18.04中,默认情况下mysql默认包含在apt软件存储库中,要安装它只需要更新服务器上的包索引并安装默认包apt-get. 1.安装mysql sudo apt-get update ...

  5. palacehoder的自定义样式【输入框input /文本域textarea】

    7.palacehoder的自定义样式[输入框input /文本域textarea] 因为每个浏览器的CSS选择器都有所差异,所以需要针对每个浏览器做单独的设定(可以在冒号前面写input和texta ...

  6. 浅谈Kubernetes生产架构

    注意本文,只是笔者针对Kubernetes生产环境运行的一些关于架构设计和实现方案的总结,内容很粗糙,同时也会不断完善. 首先,我们来梳理下Kubernetes生产架构,其设计适用于绝大多数环境.如下 ...

  7. python全栈开发中级班全程笔记(第二模块、第四章(三、re 正则表达式))

    python全栈开发笔记第二模块   第四章 :常用模块(第三部分) 一.正则表达式的作用与方法 正则表达式是什么呢?一个问题带来正则表达式的重要性和作用      有一个需求 : 从文件中读取所有联 ...

  8. Event filter with query "SELECT * FROM __InstanceModi

    Event filter with query "SELECT * FROM __InstanceModi     问题描述: Details -Event filter with quer ...

  9. HIS(LIS、PACS、RIS、EMR)系统简介

    HIS(LIS.PACS.RIS.EMR)系统简介 HIS:医院信息系统(Hospital Information System, HIS),利用电子计算机和通讯设备,为医院所属各部 门提供病人诊疗信 ...

  10. Elasticsearch 快速开始

    Elasticsearch 是一个分布式的 RESTful 风格的搜索和数据分析引擎. 查询 : Elasticsearch 允许执行和合并多种类型的搜索 - 结构化.非结构化.地理位置.度量指标 - ...