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的值插入
Python之MySQL基础的更多相关文章
- python操作mysql基础一
python操作mysql基础一 使用Python操作MySQL的一些基本方法 前奏 为了能操作数据库, 首先我们要有一个数据库, 所以要首先安装Mysql, 然后创建一个测试数据库python_te ...
- python 操作 mysql基础补充
前言 本篇的主要内容为整理mysql的基础内容,分享的同时方便日后查阅,同时结合python的学习整理python操作mysql的方法以及python的ORM. 一.数据库初探 在开始mysql之前先 ...
- python操作Mysql基础
import pymysql #不修改数据 def no_data_change(): db=pymysql.connect('host','user','pw','db_name') #host,u ...
- MySQL基础语句与其在Python中的使用
一.MySQL基础语句 $ mysql -u root -p (有密码时) $ mysql -u root (无密码时) QUIT (or \q) 退出 查看当前所有数据库 show dat ...
- python进阶08 MySQL基础补充
python进阶08 MySQL基础补充 本次课程都是基于三张表格的使用 一.子查询 #如何找到‘张三’的成绩 #思路:先找到张三的学号,在拿这个张三的学号到成绩表里面去匹配,得出成绩 #如何用一条查 ...
- python学习之-- Mysql 基础知识
数据库介绍及MYSQL基础操作了解 关系型数据库(RDBMS)是按照数据结构来组织,存储和管理数据的仓库.特点:1:数据以表格的形式出现2:每行为各种记录名称3:每列为记录名称所对应的数据域4:许多的 ...
- 使用 python 管理 mysql 开发工具箱 - 1
Mysql 是一个比较优秀的开源的数据库,很多公司都在使用.作为运维人员,经常做着一些重复性的工作,比如创建数据库实例,数据库备份等,完全都可以使用 python 编写一个工具来实现. 一.模块 Co ...
- python使用mysql数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
- Python自动化 【第十二篇】:Python进阶-MySQL和ORM
本节内容 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 创建数据库 外键 增删改查表 权限 事务 索引 python 操作mysql ORM sql ...
随机推荐
- model中的一些处理
3.setting.py中设置 主要有三个地方需要设置: MEDIA_URL = ‘/media/’,设置该路径为了在模板中定位图片的位置,<img src="{{ MEDIA_URL ...
- VimFaultException A specified parameter was not correct configSpec.guestId
VimFaultException A specified parameter was not correct configSpec.guestId 在对接VMware的环境中创建虚拟机报错 查看错误 ...
- 修改linux下yum镜像源为国内镜像
修改为163yum源-mirrors.163.com 1.首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo [root@localhost ~]# m ...
- Day062--django--模板,母版和继承
1.MVC和MTV MVC C Controller : 逻辑的控制 M Model : 存取数据 V View : 信息的展示 MTV M : model ORM操作 T: Template 模板 ...
- 第四周博客作业<西北师范大学|李晓婷>
1.助教博客链接:https://home.cnblogs.com/u/lxt-/ 2.作业要求链接:www.cnblogs.com/nwnu-daizh/p/10487329.html 3.本周点评 ...
- percona-xtrabackup快速安装及其简单使用
percona-xtrabackup快速安装及其简单使用 cd /opt/环境:centos6.x yum -y install perl-DBIyum -y install perl-DBD-MyS ...
- 通信传输利器Netty(Net is DotNetty)介绍
(先埋怨一下微软大大)我们做NET开发,十分羡慕JAVA上能有NETTY, SPRING, STRUTS, DUBBO等等优秀框架,而我们NET就只有干瞪眼,哎,无赖之前生态圈没做好,恨铁不成钢啊.不 ...
- Hive 锁处理
hive有两个锁,共享索(s) 和排它锁(x) 在进行ddl操作时,排他锁会阻止 ddl 操作.drop.alter table 如果一个hive查询使用到了表A,执行时间10分钟.在这10分钟内要d ...
- Asp.Net Core 新篇章
一. 二. 三. 系列章节 第一节:.Net Core环境的安装和常用指令 第X节:XXXXXXXXXXXXXXXXXXXXXXXXXXXX 第X节:XXXXXXXXXXXXXXXXXXXXXXXXX ...
- [译]Ocelot - Caching
原文 Ocelot支持基本的缓存,目前Ocelot的缓存是通过CacheManager project实现的. 下面的示例展示了如何启用缓存: s.AddOcelot() .AddCacheManag ...