Python 39 数据库
一:数据存储引擎
1、 什么是引擎?
一个功能的核心部分
引擎可以被分类 例如:
自然 增压 汽油 柴油 混合动力 天然气 核动力
汽油:动力弱,噪音小,震动小
柴油:动力强,污染大,噪音大,震动大
需求场景不同催生了不同的引擎类别
2、再说mysql
核心功能是存储数据 涉及到存储数据的代码 就称之为存储引擎
根据不同的需求 也有着不同的引擎分类
不同的引擎测试
创建表时在最后指定引擎名称 engine=xxx
create table t1(id int)engine=innodb
create table t1(id int not null)engine=csv
create table t1(id int)engine=menory
create table t1(id int)engine=blackhole
insert into t1 value(1);
insert into t2 value(1);
insert into t3 value(1);
insert into t4 value(1);
总结:innodb是默认的引擎,因为它是永久存储 并且 支持事务,行锁,外键
二:表详细
创建表的完整语法 create 表名( 字段名称,数据类型【(长度)约束条件】, 字段名称,数据类型【(长度)约束条件】 )******
必须的:字段名 数据类型 表名 ***** 可选的:长度 约束条件 *****
长度用于设置时候的长度
数据类型也是一种约束 约束指的是除了数据类型外的额外的规范
如果添加的数据超过了指定的长度范围,超出范围的就丢弃;
注意:字段名 和 表名 库名 都不能是mysql的关键字 比如 select from not.... *****
三:时间和日期
分类
time 时分秒 HH:MM:SS ***
year 年份 ***
date 日期 年月日 ***
datetime日期加时间 年月日 时分秒 年份最大是9999 *****
timestamp 时间戳 从1970-1-1开始算 年份最大是2037 *****
共同点:时间的存取通过字符串多 都可以使用now()函数来插入当前时间
不同之处是:年份最大范围不同 时间戳可以为空 代表当前时间 时间戳在你更新记录时,会自动更新为当前时间
datetime 和 时间戳都能够表示日期和时间
四:枚举与集合
枚举
用于描述 一个已知范围的数据
例如性别:只有男 女 或其他 enum("man","woman","other")
总结:
枚举中只能是字符串类型
添加的数据只能是已经出现在枚举中的值
你的值只能是其中的一个
你也可以使用枚举值得序号来插入值 从1开始
集合
用于描述一堆数据 比如你的兴趣爱好
set("watch movie","listen music","play game")
总结:
集合中的数据 只能是字符串
添加的数据只能是已经出现在集合中的值
你的值可以是其中的任意几个
你也可以使用枚举值的序号来插入值 从1开始 但是只能给一个序号
多选多
Python 39 数据库的更多相关文章
- Python 39 数据库的数据类型
一:整型 为什么需要 数据分类? 1.为了描述事物更加准确 2.描述起来更方便 3.节省内存空间 例:1 a 你 utf8 下 5个字节 1 a b c unicode 6个字节 mysq ...
- Python学习笔记 - day11 - Python操作数据库
MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...
- python操作数据库
一,安装mysql 如果是windows 用户,mysql 的安装非常简单,直接下载安装文件,双击安装文件一步一步进行操作即可. Linux 下的安装可能会更加简单,除了下载安装包进行安装外,一般的l ...
- python+mysql数据库的简单操作
最近接了一个任务,测试某项类似于收益情况报表的功能,因计算公式复杂,单纯手算过于复杂,所以想到写成脚本 根据python的分治原则,先整了几个函数用于实现计算逻辑,后发现数据输入过于繁琐,所以决定使用 ...
- python 从数据库表生成model
python 从数据库表生成model 找了很久才找到这个,我是新手... 现在已有建好的数据库,需要基于原有数据做数据分析的web应用,我选择python+Tornado ,由于不想写SQL语句,就 ...
- 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库
运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...
- python之数据库操作(sqlite)
python之数据库操作(sqlite) 不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分.所以主要的通信协议是在编程语言内的直接A ...
- python操作数据库之批量导入
python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...
- 使用Python管理数据库
使用Python管理数据库 这篇文章的主题是如何使用Python语言管理数据库,简化日常运维中频繁的.重复度高的任务,为DBA们腾出更多时间来完成更重要的工作.文章本身只提供一种思路,写的不是很全 ...
随机推荐
- 如何将本地项目上传到gitlab上?
git push后需要输入用户名,密码 这是上传成功显示的页面 打开gitLab项目地址检查代码是否被正确上传 上传前: 上传后 这就完成将项目上传到gitlab了
- JSON,对象..的数据格式
[此案例为自动产生的随机数] 对象: {a1:180,a2:721, a3:574} 序列化传值:将对象转化为Json字符串 public ActionResult Val2() { Random r ...
- How To:配置Openfiler磁盘
目录 1.系统登陆 2.启用iSCSI Target服务 3.初始化卷组 4.映射LUN 5.查看状态 1.系统登陆 Openfiler系统安装完毕之后,使用提示的地址登陆:https://172.1 ...
- MySQL之中文乱码问题
创建 my.ini 文件,在该文件中添加以下内容,放在安装好的mysql根路径下: [client] default-character-set=utf8 [mysql] # 设置mysql客户端默认 ...
- axios的基本概念和安装以及配置方法
ajax:异步请求,是一种无需再重新加载整个网页的情况下,能够更新部分网页的技术 axios:用于浏览器和node.js的基于promise的HTTP客户端 1.从浏览器制作XMLHttpReques ...
- git 的简单使用(3)
Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git ...
- 第七节:pandas排序
pandas具有两种排序方式:sort_index()和sort_values().
- hdu 5175 Misaki's Kiss again
Misaki's Kiss again Accepts: 75 Submissions: 593 Time Limit: 2000/1000 MS (Java/Others) Memory L ...
- 清北学堂模拟赛d4t1 a
分析:大模拟,没什么好说的.我在考场上犯了一个超级低级的错误:while (scanf("%s",s + 1)),导致了死循环,血的教训啊,以后要记住了. /* 1.没有发生改变, ...
- 关于Linux的本地回环路由lo [127.0.0.1 ]
最近 打算配开发板的socket通讯,打印环境变量发现却没有 127.0.0.1 / # ifconfig -a eth0 Link encap:Ethernet HWaddr 86:43:C9:A1 ...