当前位置:   article > 正文

【mysql】—— 表的操作_mysql表

mysql表

前言:

在上期中,我们把 mysql 中库的基本操作进行了相应的讲解。本期,我将给大家讲解的是关于mysql 中表的基本操作。

MySQL标志矢量图 - 设计之家

目录

(一)创建表

(二)查看表结构

1、DESCRIBE 方式

 2、SHOW CREATE TABLE方式

(三)修改表

总结


 

(一)创建表

要创建一个 MySQL 表,你需要使用 CREATE TABLE 语句,并指定表的名称以及列的名称、数据类型和约束条件。

  • 以下是一个示例的 MySQL 表创建语句:
  1. CREATE TABLE table_name (
  2. field1 datatype,
  3. field2 datatype,
  4. field3 datatype
  5. ) character set 字符集 collate 校验规则 engine 存储引擎;
【说明】
  1. field 表示列名
  2. datatype 表示列的类型
  3. character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  4. collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

 

在上面的语法中,你需要将 表名 替换为你想要创建的表的实际名称。然后,按照逗号分隔的方式指定每个列的名称、数据类型和约束条件。

例如,创建一个名为 user1 的表,包含 idname 、 passwordbirthday 这四个列,可以使用以下语句:

 

 【说明】

这条 SQL 语句用于创建一个名为 user1 的表。下面对每一行进行解释说明:

  • create table if not exists user1:创建一个名为 user1 的表,如果该表不存在的话。
  • (id int, name varchar(20) comment '用户名', password char(32) comment '用户密码', birthday date comment '生日'):定义了表的列和数据类型。该表包含四个列,分别是 id(整数类型)、name(最大长度为20的字符串类型,且带有注释 '用户名')、password(长度为32的字符类型,且带有注释 '用户密码')和 birthday(日期类型,带有注释 '生日')。
  • character set utf8 collate utf8_general_ci:设置字符集为 UTF-8,并设置排序规则为 utf8_general_ci。这样可以支持存储和处理中文字符。
  • engine MyIsam:指定使用 MyISAM 存储引擎。MyISAM 是 MySQL 的一种存储引擎,适用于读取频繁、写入较少的情况。

总之,上述 SQL 语句创建了一个名为 user1 的表,该表包含了 idnamepasswordbirthday 四个列,每个列都有其对应的数据类型和注释。字符集被设置为 UTF-8,排序规则为 utf8_general_ci。该表使用 MyISAM 存储引擎进行数据存储。如果表 user1 已经存在,则不会执行任何操作。

  • 我们去相应的目录下查看当前文件中创建的数据,具体如下:

紧接着,我在创建一张新的表,风格和上述的创建有点不同之处,大家可以根据自己的喜爱选择相应的创建方式。具体如下:

  【说明】

这条 SQL 语句用于创建一个名为 user2 的表。下面对每一行进行解释说明:

  • 本次创建除了最后的引擎不一样之外其他的都是一模一样的,只是创建的方式不一样;
  • engine=InnoDB:指定使用 InnoDB 存储引擎。InnoDB 是 MySQL 的一种事务型存储引擎,适用于要求事务支持和数据完整性的场景。

  • 当我们在去相应的文件下查看创建的数据时,发现了一个不一样的地方(两种引擎下创建出的数据不一样)。具体如下:

 

说明
  • 不同的存储引擎,创建表的文件不一样。
  • users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
  • users.frm:表结构
  • users.MYD:表数据
  • users.MYI:表索引

(二)查看表结构

在 MySQL 中,可以使用 DESCRIBE SHOW CREATE TABLE 语句来查看表的结构。

1、DESCRIBE 方式

  • 使用 DESCRIBE 语句:
DESCRIBE table_name;

table_name 替换为要查看结构的表名。执行该语句后,将返回包含列名、数据类型、键信息等表结构的结果集。 

  • 例如,当前我要查看之前创建的表的相关信息,我们就可以这样做:

 2、SHOW CREATE TABLE方式

  • 使用 SHOW CREATE TABLE 语句:

同样,将 table_name 替换为要查看结构的表名。执行该语句后,将返回一个结果集,其中包含创建表的 SQL 语句,其中包含完整的表结构定义。

 

【比较】

  1. 这两个语句都可以用于查看表的结构,但 SHOW CREATE TABLE 提供了包含完整表结构的 SQL 语句,更详细和全面;
  2. DESCRIBE 则提供了简洁的列信息。根据具体需求,选择适合的语句进行使用。

(三)修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

 

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);

在 MySQL 中,可以使用 ALTER TABLE 语句来修改表的结构和属性。以下是一些常见的表操作示例:

  • 修改表名为 Hello 

  •  在 Hello 表添加二条记录

  •  在 Hello 表添加一个字段,假设用于保存图片路径

【说明】

这个 ALTER TABLE 语句用于在名为 Hello 的表中添加一个名为 image_path 的列,该列的数据类型是 VARCHAR(100),注释为 '照片路径'。新列将在现有的 birthday 列之后插入。

具体解释如下:

  • ALTER TABLE Hello:表示要修改的表是 Hello 表。
  • ADD image_path varchar(100):表示要向 Hello 表添加一个名为 image_path 的列,数据类型为 VARCHAR(100)。VARCHAR(100) 意味着该列可以存储最大长度为 100 的字符串。
  • COMMENT '照片路径':表示对新列添加注释,注释内容为 '照片路径'。
  • AFTER birthday:表示新列将被插入到现有的 birthday 列之后。这意味着 image_path 列将成为 birthday 列的后一个列。
  • 并且插入新字段后,对原来表中的数据没有影响

通过执行这个 ALTER TABLE 语句,将在 Hello 表中成功添加一个名为 image_path 的列,该列可以存储最大长度为 100 的字符串,并且具有注释 '照片路径'。

 

  • 修改列的数据类型(修改name,将其长度改成60

 我们还可以发现修改前后的一个区别:

 

  • 删除列:

注意:删除字段一定要小心,删除字段及其对应的列数据都没了 

  • 修改列名:

 

  • 删除表
语法格式 DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

 

以上只是一些常见的表操作示例,MySQL 的 ALTER TABLE 语句还支持其他更复杂的操作,如修改列属性、添加索引等。根据具体需求,可以使用不同的 ALTER TABLE 语句来修改表。在执行 ALTER TABLE 语句时,需要注意备份重要数据以防意外发生。

总结

以上便是关于 mysql 中表的基本操作的全部内容。感谢大家的观看与支持!!!

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/671610
推荐阅读
相关标签
  

闽ICP备14008679号