zoukankan      html  css  js  c++  java
  • python进阶(七、mysql:表操作、数据操作、数据类型)

    3.mysql数据库
    3.4 表和数据的基础操作
    3.4.1. 创建表 create
    create table 表名(
    字段名1 类型[(宽度) 约束条件],
    字段名2 类型[(宽度) 约束条件],
    字段名3 类型[(宽度) 约束条件]
    );
    注意:
    (1)在同一张表中,字段名是不能相同
    (2)宽度和约束条件可选
    (3)字段名和类型是必须的

    3.4.2. 插入数据 insert into
    (1)写入一条数据

    (2)写入多条数据

    (3)指定字段写入

    3.4.3. 查数据 select
    select 字段名 from 表 where 判断条件

    3.4.4. 查看表结构 decs/show create table
    (1)desc 表名;可以查看字段、类型、长度和部分约束

    (2)show create table 表名; 可以查看字段、类型、长度、存储引擎、编码、约束。

    3.4.5. 删除数据 delete
    mysql> delete from 表名 where 判断条件;

    没有条件判断,会删除表中所有数据(慎用)

    3.4.6. 删除表 drop
    mysql> drop table 表名;

    使用if判断,表存在则删除

    使用if判断,表不存在删除时有告警,但不报错

    3.5 数据类型
    3.5.1. 数值类型
    MySQL支持所有标准SQL数值数据类型。
    这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似数值数据类型(FLOAT、REAL和DOUBLE PRECISION)。
    关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。
    MySQL支持的整数类型有TINYINT、MEDIUMINT和BIGINT。下面的表显示了需要的每个整数类型的存储和范围。
    对于小数的表示,MYSQL分为两种方式:浮点数和定点数。浮点数包括float(单精度)和double(双精度),而定点数只有decimal一种,在mysql中以字符串的形式存放,比浮点数更精确,适合用来表示货币等精度高的数据。

    1)整数
    建数据库:

    建表:

    建表时,数据类型默认是无符号的,需要定义无符号使用unsigned。
    表结构中int(11)中的11表示:最多可以显示11位数据,例如:-2147483648
    tinyint(3) unsigned中的3表示:没有符号的tinyint类型最多可以显示3位数据,例如:255
    添加正常数据:

    unsigned约束数据,加负数,出现警告。数据添加成功,但添加的数据是0

    tinyint数据类型,添加数据超过255。添加成功,但添加的数据是255.

    int类型在数据结构中显示11位,添加11位数据,添加成功,实际添加2147483647

    2)小数
    float(255,30):表示数据类型是float最大长度是255,小数点后面最多30位。
    double(255,30):表示数据类型是double最大长度是255,小数点后面最多30位。
    通常float已经足够使用
    建表:

    因数据类型限制,多出的数据四舍五入处理

    float默认显示5位长度,double默认显示15位长度

    3)DECIMAL数据类型(了解)
    decimal数据类型最多可以显示30位小数,默认显示整数

    注意:通常int和float已经足够使用。

    3.5.2. 字符串类型
    字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。该节描述了这些类型如何工作以及如何在查询中使用这些类型。
    CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。
    CHAR列的长度固定为创建表是声明的长度,范围(0-255);而VARCHAR的值是可变长字符串范围(0-65535)。CHAR存取速度快,VARCHAR节省空间。

    建表:

    varchar(5):约定长度5是数据的最大存储长度。
    添加数据

    char存储数据时,会去掉数据末尾的空格。varchar会保留数据末尾的空格

    使用Navicat查看数据库:

    3.5.3. 日期和时间类型
    表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
    每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
    TIMESTAMP类型有专有的自动更新特性,

    1)建表

    2)添加数据
    (1)now():当前时间

    (2)timestamp数据类型没有赋值时,自动填充当前时间。

    修改其它数据时,timestamp数据类型自动更新为当前时间

    让datetime、date和time拥有不能为空,自动填充,自动更新的功能。可以给他们赋予和timestamp一样的约束。
    NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP


    (3)插入数据时,日期类型可以使用两种格式:带引号和不带引号

    3)查询时,日期类型可以使用两种格式:带引号和不带引号。

    3.5.4. 枚举型:enum和set类型
    ENUM中文名称叫枚举类型,它的值范围需要在创建表时通过枚举方式显示。ENUM只允许从值集合中选取单个值,而不能一次取多个值。例如:性别、国籍
    SET和ENUM非常相似,也是一个字符串对象,里面可以包含0-64个成员。根据成员的不同,存储上也有所不同。set类型可以允许值集合中任意选择1或多个元素进行组合。对超出范围的内容将不允许注入,而对重复的值将进行自动去重。例如:兴趣爱好、常用功能等。

    1)enum类型
    建表:

    添加数据:

    2)set类型
    建表:

    添加数据:

    注意:set类型添加数据时,数据组合用引号括起来,各个数据直接用逗号分开。

  • 相关阅读:
    Python学习第75天(js历史和引入,模块复习)
    Python学习第74天(抽屉习题笔记)
    Python学习第73天(shelve模块、习题练习)
    Js查漏补缺02-各种数据类型
    Js查漏补缺01-js学习笔记
    开篇
    小小python欢乐多
    阅读笔记09 个人对于三年来软件工程的一点心得
    14周周博客
    软件杯第二阶段
  • 原文地址:https://www.cnblogs.com/bdzxh/p/14083994.html
Copyright © 2011-2022 走看看