一:数据存储引擎

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. Python操作数据库及hashlib模块

    一.hashlib模块 hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA51 ...

  2. 解决richfaces自带的jquery

    项目里有个有史以来让人头疼的问题,就是前端的richfaces框架自带有jquery插件,而且好像总是在最后才加载,导致前面自己加载好的jquery版本的框架以及应用到jquery的其他前端框架生成的 ...

  3. 在centos安装 sql server

    主要参考官方文档https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-red-hat

  4. vue中的父组件及子组件生命周期的执行顺序

    一.没有任何任何显示与隐藏限制条件的情况下: 1.运行的顺序依次是: 父组件created→父组件beforeMounted→子组件created→子组件beforeMounted→子组件mounte ...

  5. 机器学习中jupyter lab的安装方法以及使用的命令

    安装JupyterLab使用pip安装: pip install jupyterlab# 必须将用户级目录添加 到环境变量才能启动pip install --userbinPATHjupyter la ...

  6. python 易忘操作整理

    >>> l=[1,2,3,4,5] >>> s='$'.join(str(i) for i in l) >>> print(s,end=" ...

  7. Python之类方法,lambda,闭包简谈

    类方法,lambda,闭包 类方法 lambda 闭包 类方法 classmethod staticmethod instancemethod 类方法 类方法,通过装饰器@classmethod来标明 ...

  8. clock()函数的使用

    **clock()捕捉从程序开始运行到clock()被调用时所耗费的时间,这个时间单位是clock tick, 即"时钟打点." 常数CLK_TCK:机器时钟每秒所走的时钟打点数* ...

  9. css的基本操作学习--css样式,选择器,hover,文字属性,文本属性,背景

    什么是css? 通配符选择器 <head> /* *通配符选择器 匹配任何元素 */ *{ margin: 0; padding: 0; } </head> css样式有三种 ...

  10. ZooKeeper学习总结(2)——ZooKeeper开源Java客户端ZkClient使用

    zkclient是zookeeper的Java客户端.它让Zookeeper API 使用起来更简单:它非常方便订阅各种事件并自动重新绑定事件(会话建立.节点修改.节点删除.子节点变更等):它提供了s ...