python查询mysql decimal报错_Python之MySQL基础

一、存储引擎

1.1  什么是存储引擎

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

1.2 都有哪些存储引擎

InnoDB  最常用 支持事务,行级锁定

MyISAM 不支持事务,表记锁定

MEMORY 所有的数据都保存再内存中

1.3 Mysql的工作流程

第一层:连接处理,授权认证,安全

第二层:包含大多数核心功能,如查询解析、分析、优化、缓存以及所有的内置函数等,所有的跨存储引擎的功能都在这一层实现:存储过程、触发器、视图等

第三层:存储引擎,负载数据的存储和提取,各个存储引擎之间没有通信

第四层:文件系统,数据,日志等都会以文件的形式存储再硬盘上

9ca6908aac44eeb981e763e4c0b81e8b.png

二、事务

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 TABLEuser_info(

uidINT AUTO_INCREMENT PRIMARY KEY,

unameVARCHAR(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 * FROMuser_info;

# 删除第二条和第三条数据DELETE FROM user_info WHERE uid = 2 OR uid = 3;

# 再次插入一条数据INSERT INTO user_info(uname) VALUES('老李');

# 再次查看uid为4SELECT * FROM user_info;

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值