一:数据存储引擎

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 数据库的更多相关文章

  1. Python 39 数据库的数据类型

    一:整型 为什么需要 数据分类? 1.为了描述事物更加准确 2.描述起来更方便 3.节省内存空间 例:1 a 你     utf8 下 5个字节 1 a b c   unicode 6个字节 mysq ...

  2. Python学习笔记 - day11 - Python操作数据库

    MySQL的事务 MySQL的事务支持不是绑定在MySQL服务器本身,而是与存储引擎相关,MySQL的两种引擎如下: 1.MyISAM:不支持事务,用于只读程序提高性能 2.InnoDB:支持ACID ...

  3. python操作数据库

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

  4. python+mysql数据库的简单操作

    最近接了一个任务,测试某项类似于收益情况报表的功能,因计算公式复杂,单纯手算过于复杂,所以想到写成脚本 根据python的分治原则,先整了几个函数用于实现计算逻辑,后发现数据输入过于繁琐,所以决定使用 ...

  5. python 从数据库表生成model

    python 从数据库表生成model 找了很久才找到这个,我是新手... 现在已有建好的数据库,需要基于原有数据做数据分析的web应用,我选择python+Tornado ,由于不想写SQL语句,就 ...

  6. 运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程,把获取的信息存入数据库

    运用Python语言编写获取Linux基本系统信息(三):Python与数据库编程 有关前两篇的链接: 运用Python语言编写获取Linux基本系统信息(一):获得Linux版本.内核.当前时间 运 ...

  7. python之数据库操作(sqlite)

    python之数据库操作(sqlite) 不像常见的客户端/服务器结构范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分.所以主要的通信协议是在编程语言内的直接A ...

  8. python操作数据库之批量导入

    python操作数据库之批量导入 Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进. Python具有丰富和强大的库.它常被昵称为胶水语言,能够把用其他语言制作的 ...

  9. 使用Python管理数据库

    使用Python管理数据库   这篇文章的主题是如何使用Python语言管理数据库,简化日常运维中频繁的.重复度高的任务,为DBA们腾出更多时间来完成更重要的工作.文章本身只提供一种思路,写的不是很全 ...

随机推荐

  1. 如何将本地项目上传到gitlab上?

    git push后需要输入用户名,密码 这是上传成功显示的页面 打开gitLab项目地址检查代码是否被正确上传 上传前: 上传后 这就完成将项目上传到gitlab了

  2. JSON,对象..的数据格式

    [此案例为自动产生的随机数] 对象: {a1:180,a2:721, a3:574} 序列化传值:将对象转化为Json字符串 public ActionResult Val2() { Random r ...

  3. How To:配置Openfiler磁盘

    目录 1.系统登陆 2.启用iSCSI Target服务 3.初始化卷组 4.映射LUN 5.查看状态 1.系统登陆 Openfiler系统安装完毕之后,使用提示的地址登陆:https://172.1 ...

  4. MySQL之中文乱码问题

    创建 my.ini 文件,在该文件中添加以下内容,放在安装好的mysql根路径下: [client] default-character-set=utf8 [mysql] # 设置mysql客户端默认 ...

  5. axios的基本概念和安装以及配置方法

    ajax:异步请求,是一种无需再重新加载整个网页的情况下,能够更新部分网页的技术 axios:用于浏览器和node.js的基于promise的HTTP客户端 1.从浏览器制作XMLHttpReques ...

  6. git 的简单使用(3)

    Git鼓励大量使用分支: 查看分支:git branch 创建分支:git branch <name> 切换分支:git checkout <name> 创建+切换分支:git ...

  7. 第七节:pandas排序

    pandas具有两种排序方式:sort_index()和sort_values().

  8. hdu 5175 Misaki's Kiss again

    Misaki's Kiss again  Accepts: 75  Submissions: 593  Time Limit: 2000/1000 MS (Java/Others)  Memory L ...

  9. 清北学堂模拟赛d4t1 a

    分析:大模拟,没什么好说的.我在考场上犯了一个超级低级的错误:while (scanf("%s",s + 1)),导致了死循环,血的教训啊,以后要记住了. /* 1.没有发生改变, ...

  10. 关于Linux的本地回环路由lo [127.0.0.1 ]

    最近 打算配开发板的socket通讯,打印环境变量发现却没有 127.0.0.1 / # ifconfig -a eth0 Link encap:Ethernet HWaddr 86:43:C9:A1 ...