• 第十七章《MySQL数据库及SQL语言简介》第4节:数据库表管理


    数据库表管理的操作包括创建数据库表、修改数据库表、查看数据库表属性、删除数据库表。为了能够创建出一张合理的数据表,必须先学习MySQL的数据类型,因此本小节首先讲解MySQL的数据类型。

    17.4.1 MySQL数据类型

    MySQL的数据类型分为数值类型、字符串类型和日期和时间类型。数值类型用于表示各种数字,而数字又可以分为整数、定点数、浮点数。下面的表17-1展示了MySQL的各种数值类型

    表17-1MySQL数值类型

    类型

    大小

    范围

    意义

    TINYINT

    1 Bytes

    [-128,127]

    微小整数值

    SMALLINT

    2 Bytes

    [-32 768,32 767]

    小整数值

    MEDIUMINT

    3 Bytes

    [-8 388 608,8 388 607]

    中整数值

    INT或INTEGER

    4 Bytes

    [-2 147 483 648,2 147 483 647]

    整数值

    BIGINT

    8 Bytes

    [-9,223,372,036,854,775,808,9223372036854 775807]

    大整数值

    FLOAT

    4 Bytes

    (-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)

    单精度
    浮点数值

    DOUBLE

    8 Bytes

    (-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)

    双精度
    浮点数值

    DECIMAL

    DECIMAL(M,D)如果M>D,为M+2否则为D+2

    依赖于M和D的值

    定点数值

    MySQL的字符串类型也有很多,如表17-2所示。

    表17-2 MySQL字符串类型

    类型

    大小

    意义

    CHAR

    0-255 bytes

    定长字符串

    VARCHAR

    0-65535 bytes

    变长字符串

    TINYBLOB

    0-255 bytes

    不超过 255 个字符的二进制字符串

    TINYTEXT

    0-255 bytes

    短文本字符串

    BLOB

    0-65535 bytes

    二进制形式的长文本数据

    TEXT

    0-65535 bytes

    长文本数据

    MEDIUMBLOB

    0-16777215 bytes

    二进制形式的中等长度文本数据

    MEDIUMTEXT

    0-16777215 bytes

    中等长度文本数据

    LONGBLOB

    0-4294967295 bytes

    二进制形式的极大文本数据

    LONGTEXT

    0-4294967295 bytes

    极大文本数据

    注意:char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储30个字符。CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

    BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

    TEXT类型有4种:TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

    实际开发过程中,很多情况下都需要向数据库中存储日期、时间等类型的数据,MySQL定义了很多关于日期时间的数据类型,如表17-3所示。

    表17-3 日期和时间类型

    类型

    大小

    范围

    格式

    意义

    DATE

    3 bytes

    1000-01-01-9999-12-31

    YYYY-MM-DD

    日期

    TIME

    3 bytes

    -838:59:59-838:59:59

    HH:MM:SS

    时间值或时间段

    YEAR

    1 bytes

    1901-2155

    YYYY

    年份值

    DATETIME

    8 bytes

    1000-01-01 00:00:00-

    9999-12-31 23:59:59

    YYYY-MM-DD HH:MM:SS

    日期和时间值

    TIMESTAMP

    4 bytes

    1970-01-01 00:00:00-

    2038-01-19 03:14:07

    YYYYMMDD HHMMSS

    日期和时间值

    每个时间类型有一个有效值范围和一个“零”值,当指定不合法的MySQL不能表示的值时使用“零”值。

    17.4.2创建数据表

    使用Workbench创建数据表是非常简单的操作,程序员只需要在视图窗格中先双击已经创建好的数据库,数据库就会被打开。当打开数据库之后,在数据库下方右键单击“Tables”,之后在弹出的右键菜单中单击“Create Table”菜单项,如图17-27所示。

    图17-27创建数据表菜单项

    当单击了“Create Table”菜单项后,右边的主视图区中就会出现一个创建数据表的界面,如图17-28所示。

    图17-28创建数据表界面

    在图17-28所示界面中,填写好数据表名称并选择数据表的字符集、排序规则,之后在下方填写第一个列的名称并选择这一列数据的类型。如果希望再增加一个列,可以在第一个列名称的下方继续添加新列的名称并选择其数据类型,这个操作与添加第一个列的步骤是相同的。当给该数据表添加完所有的列之后,单击界面下方的“Apply”按钮,将会进入一个确认界面,这界面主要是让程序员确认刚才所创建的数据表是否正确,并给出创建数据表的SQL语句,该界面如图17-29所示。

    图17-29 数据表确认界面

    如果程序员发现自己的表格设计的有问题,则单击“Cancel”按钮返回前一界面重新设计,否则单击“Apply”按钮进入一个数据表创建完成的提示界面,如图17-30所示。

    图17-30数据表已创建完成

    在这个界面上单击“Finish”按钮,对话框即可关闭,并且可以看到右边视图窗格中“Tables”下面出现了刚创建的数据表的名称。

    17.4.3修改数据表

    程序员在创建数据表之后,如果发现数据表的创建有问题还可以再次修改数据表。修改数据表时先在视图窗格中用右键单击要修改表的名称,之后在弹出的右键菜单中单击“Alter Table”菜单项,如图17-31所示。

    图17-31修改数据表菜单项

    单击了“Alter Table”菜单项后,会打开创建数据表的界面,只不过界面中已经有了之前表格的各种信息,程序员在这个界面中可以修改数据表的表名称、字符集以及进行为表格新增、修改或删除列等各项操作,修改完成后单击“Apply”按钮,之后的步骤与创建表格是完全一样的,都是先确认,再单击“Finish”按钮结束修改表格的操作。

    需要注意:修改数据表中某一个列的数据类型时,如果数据表中没有数据,则修改操作一定会成功,但如果表格中已经有了一些数据,修改操作可能会失败。例如数据表t1中有一个a列的类型是char,假如数据表中已经有了一些数据,并且a列上出现了“abc”这样的数据,那么把a列改成int型的操作就会失败,因为MySQL无法把“abc”转换成一个整数。

    17.4.3查看数据表信息

    数据表被创建之后,程序员可以查看它的各项信息,包括查看表的名称、存储位置、表格中的列、索引等各种信息。数据表的信息界面也可以用右键菜单打开,程序员只需要用右键单击表的名称,在弹出的右键菜单中单击“Table Inspector”菜单项就能打开数据表的信息界面,如图17-32所示。

    图17-32查看数据表信息

    从图17-32可以看出,这个界面是一个选项板,单击各个选项卡可以查看与数据表相关的各种信息。

    17.4.4删除数据表

    删除数据表的操作也可以通过右键菜单完成,程序员在要删除的数据表上单击右键,在弹出的右键菜单中单击“Drop Table”,如图17-33所示。

    图17-33删除数据表菜单项

    当单击“Drop Table”菜单项后就会弹出一个确认对话框,在这个对话框上单击“Drop Now”即可删除数据表。

    除阅读文章外,各位小伙伴还可以点击这里观看我在本站的视频课程学习Java!

  • 相关阅读:
    航天环宇提交招股书上会稿:计划募资6亿元,控股股东为李完小
    15.NAT实验
    2023微信大数据挑战赛—参赛总结
    技术管理进阶——技术Leader需要数据思维
    java Bigdecimal
    [linux]、ssh服务详解
    Grpc简介
    基于YOLOv3的口罩佩戴检测
    修复中间件log4j漏洞方案(直接更换漏洞jar包)
    Android打包脚本和上传apk托管平台
  • 原文地址:https://blog.csdn.net/shalimu/article/details/128127937