• Mysql表的操作和数据类型


    在这里插入图片描述

    1. 表的操作

    创建表语法:
    在这里插入图片描述
    说明:
    field 表示列名。
    datatype 表示列的类型。
    character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准。
    collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准。
    engine 存储引擎,如果没有指定校验规则,则以所在数据库的配置为准

    在这里插入图片描述
    在这里插入图片描述
    查看当前数据库的所有表。
    在这里插入图片描述
    在这里插入图片描述

    查看表的相关属性。
    在这里插入图片描述
    查看表创建时的SQL语句。
    在这里插入图片描述
    并且在数据库中也有了对应的表文件。

    修改表语法:

    ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
    datatype]...);
    ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
    datatype]...);
    ALTER TABLE tablename DROP (column);
    
    • 1
    • 2
    • 3
    • 4
    • 5

    在这里插入图片描述
    在这里插入图片描述
    下面我们增加一个列属性:
    在这里插入图片描述
    我们也可以对列属性进行调整。
    在这里插入图片描述
    在这里插入图片描述
    我们可以看出修改属性内容之后,之前的SQL全部被覆盖了。

    如果我们想删除表的一列:
    在这里插入图片描述
    下面我们进行修改列的名字:
    在这里插入图片描述
    下面我们也可以修改表名字:
    在这里插入图片描述
    这里的to可以省略。

    删除一个表:
    语法格式:
    在这里插入图片描述
    在这里插入图片描述

    2. 数据类型

    2.1 数据类型分类

    在这里插入图片描述
    数值类型:
    在这里插入图片描述

    2.2 tinyint类型

    数值越界测试:
    在这里插入图片描述
    可以看到,如果插入的数据不符合要求,mysql直接终止操作。数据类型,在MySQL这里,符合条件,让你操作,不符合条件,不让你操作。这其实就是对程序员的一种约束。所以数据类型本质就是一种约束。

    2.3 bit类型

    基本语法:
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    可以发现很怪异的现象,a的数据10没有出现。

    bit使用的注意事项:bit字段在显示时,是按照ASCII码对应的值显示
    在这里插入图片描述
    如果我们有这样的值(比如说性别),只存放0或1,这时可以定义bit(1)。这样可以节省空间。

    2.4 小数类型

    2.4.1 float

    在这里插入图片描述
    在这里插入图片描述

    小数:float(4,2)表示的范围是-99.99 ~ 99.99,MySQL在保存值时会进行四舍五入。
    在这里插入图片描述
    可以看到小数点第3位,是小于4的就会省略,然后插入,大于等于5的就不能插入了。

    如果定义的是float(4,2) unsigned 这时,因为把它指定为无符号的数,范围是 0 ~ 99.99

    2.4.2 decimal

    在这里插入图片描述
    decimal(5,2) 表示的范围是 -999.99 ~ 999.99
    decimal(5,2) unsigned 表示的范围 0 ~ 999.99

    decimal和float很像,但是有区别:float和decimal表示的精度不一样
    在这里插入图片描述
    可以看到两个都插入同一个浮点数,但是float的值不一样了。我们发现decimal的精度更准确,因此如果我们希望某个数据表示高精度,选择decimal。

    说明:
    float表示的精度大约是7位。
    decimal整数最大位数m为65。支持小数最大位数d是30。如果d被省略,默认为0。如果m被省略,默认是10

    2.5 字符串类型

    2.5.1 char

    在这里插入图片描述
    举个例子:
    在这里插入图片描述
    当插入的字符串的长度超过限制,就不能进行插入了。
    在这里插入图片描述
    最后一个是空字符串,不是NULL,它们是不同的含义。
    在这里插入图片描述
    char(2) 表示可以存放两个字符,可以是字母或汉字,但是不能超过2个, 最多只能是255
    在这里插入图片描述

    2.5.2 varchar

    在这里插入图片描述
    为什么varchar是可变字符串,为什么还要有L
    在这里插入图片描述
    当我们输入的字符超过长度时,就不能进行插入了,这个和char是一样的。

    关于varchar(len),len到底是多大,这个len值,和表的编码密切相关:
    1.varchar长度可以指定为0到65535之间的值,但是有1 - 3 个字节用于记录数据大小,所以说有效字节数是65532。
    2.当我们的表的编码是utf8时,varchar(n)的参数n最大值是65532/3=21844[因为utf中,一个字符占用3个字节],如果编码是gbk,varchar(n)的参数n最大是65532/2=32766(因为gbk中,一个字符占用2字节)

    2.5.3 char和varchar比较

    在这里插入图片描述
    如何选择定长或变长字符串
    在这里插入图片描述

    2.6 日期和时间类型

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    这里的时间戳的备述是,第三个会自动帮我们填写。
    在这里插入图片描述
    如果我们修改前面的数据,那么时间戳也会自动更新。

    2.7 enum和set

    在这里插入图片描述
    该设定只是提供了若干个选项的值,最终一个单元格中,实际只存储了其中一个值,而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,3,…最多65535个;当我们添加枚举值时,也可以添加对应的数字编号
    在这里插入图片描述
    该设定只是提供了若干个选项的值,最终一个单元格中,设计可存储了其中任意多个值;而且出于效率考虑,这些值实际存储的是“数字”,因为这些选项的每个选项值依次对应如下数字:1,2,4,8,16,32,…最多64个

    举个例子:
    有一个调查表votes,需要调查人的喜好, 比如(登山,游泳,篮球,武术)中去选择(可以多选),但是性别只有(男,女)[单选]
    在这里插入图片描述
    在这里插入图片描述
    并且 我们也可以用数字来代替字符。
    在这里插入图片描述
    set也可以用数字来代替,但是它是以位图形式。0001是代码,0010是登山,0011是代码和登山,0100是打篮球,0101是代码和打篮球等等这样。

    下面我们继续看一个问题:
    在这里插入图片描述
    我们看到不能查询出所有,爱好里有代码的人。我们要使用这个函数:
    在这里插入图片描述
    在这里插入图片描述
    这个函数是在某个集合中找,如果找到就返回在集合里的下标。
    在这里插入图片描述
    并且我们也可以级联条件。
    在这里插入图片描述
    我们可以看到,我们想要查询代码和游泳不行,必须是连着一起的才能查询到。
    在这里插入图片描述
    我们使用and就能查询到,如果我们使用or的话,就是代码或者游泳。
    在这里插入图片描述
    所以都能查询到。

  • 相关阅读:
    C语言 coding style
    JavaScript-修炼之路第五层
    zookeeper:设计目标和核心概念、zab协议简介
    软件测试/测试开发丨​利用人工智能ChatGPT批量生成测试数据
    LabVIEW开发锅炉汽包水位的监督控制和模拟
    逻辑的定义
    windows编程之TextOut与DrawText -- 文本输出实验
    LeetCode0416.分割等和子集 Go语言AC笔记
    CPU与GPU到底有什么区别?
    Windows 与linux 账户密码的破解
  • 原文地址:https://blog.csdn.net/qq_52154068/article/details/132916233