MySQL 表的创建及存储引擎介绍

一、MySQL表的奇妙世界

图片[1]-MySQL 表的创建及存储引擎介绍-AIGC社区

在MySQL的神奇领域中,表便是承载数据财富的宝盒。它由无尽的行与列构成庞大的数据拼图,蕴含着无尽价值。它不仅是表格,更是我们等待发掘的数据富矿。

CREATE TABLE [IF NOT EXISTS] table_name(
   column1 data_type column_constraint,
   column2 data_type,
   ...,
   table_constraints
) ENGINE=storage_engine;

二、创建表的魔法咒语

CREATE TABLE users(
   user_id  INT AUTO_INCREMENT PRIMARY KEY,
   username VARCHAR(50) UNIQUE NOT NULL,
   password VARCHAR(50) NOT NULL,
   email    VARCHAR(256) NOT NULL,
   status   TINYINT NOT NULL,
   created_on TIMESTAMP NOT NULL,
   last_login TIMESTAMP,
   CONSTRAINT uk_email UNIQUE (email)
);

每位魔法师拥有独特的咒语,而我们的咒语正是”CREATETABLE”。借助它,我们得以创建崭新且充满活力的数据表。试想一下,你轻触键盘,输入”CREATETABLE”,一个新的奇迹便由此诞生。

三、自动增长的神奇笔

mysql> DESC users;
+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| user_id    | int(11)      | NO   | PRI | NULL    | auto_increment |
| username   | varchar(50)  | NO   | UNI | NULL    |                |
| password   | varchar(50)  | NO   |     | NULL    |                |
| email      | varchar(256) | NO   | UNI | NULL    |                |
| status     | tinyint(4)   | NO   |     | NULL    |                |
| created_on | timestamp    | NO   |     | NULL    |                |
| last_login | timestamp    | YES  |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

自动化增长(AUTOINCREMENT)堪称MySQL内部的神笔,具备为表格现实层次结构的能力。这不仅是一项技术,更包含艺术与魔力,赋予数据无限可能。

CREATE TABLE roles(
   role_id   INT AUTO_INCREMENT PRIMARY KEY,
   role_name VARCHAR(256) UNIQUE NOT NULL
);
CREATE TABLE user_role
(
  user_id  INT NOT NULL,
  role_id  INT NOT NULL,
  grant_on TIMESTAMP NOT NULL,
  PRIMARY KEY (user_id, role_id),
  CONSTRAINT fk_user_role_userid FOREIGN KEY (user_id)
      REFERENCES users(user_id),
  CONSTRAINT fk_user_role_roleid FOREIGN KEY (role_id)
      REFERENCES roles(role_id)
);

四、查看表结构的魔镜

图片[2]-MySQL 表的创建及存储引擎介绍-AIGC社区

试想一下若拥有可洞悉表内结构的魔镜将会发生什么吗?DESC命令正是此类魔镜工具。只是轻轻一眼,所有隐形布局便全然无踪。

五、主键的守护者

ALTER TABLE table_name ADD column_name data_type column_constraint
    [ FIRST | AFTER other_column];

在数据库的王国中,主关键字犹如忠实的卫士,守望着每份数据角色的唯一性。这并不仅仅是一种简单的标识工具,更象征着井然有序,维护了信息世界的平和与稳定。

六、ALTERTABLE的变形术

ALTER TABLE users ADD login_failed_times TINYINT NOT NULL DEFAULT 0;
1

你能理解随意变化表形所具有的巨大吸引力吗?ALTERTABLE恰恰实现了这一点,使我们能够对表格进行精密操控,从新增字段到改造原有布局均可实现。

ALTER TABLE table_name MODIFY column_name data_type column_constraint
    [ FIRST | AFTER other_column];  
12

七、字段的重命名与重生

在信息技术领域中,数据元素亦如同生命般抱有活力。运用ALTERTABLE的CHANGE指令,便可赋予它们全新的特征名,此举犹如开启新篇章般的精彩。它不仅是名义上的变换,更象征着一段历史的持续推进。

ALTER TABLE users MODIFY email VARCHAR(512) NOT NULL;
1

八、字段的消失术

ALTER TABLE table_name RENAME COLUMN old_name TO new_name;
1

在特定情形下,若判断某个字段已不必再存在,那么使用DROP命令便等同于产生了一次神奇的消失效果,将无用的字段从表格之中彻底抹去。这种操作并非寻常意义上的删除,而是一种经过审慎权衡后的决定性行动,代表着对更美好未来的坚定追求和无私奉献。

ALTER TABLE users RENAME COLUMN login_failed_times TO login_failed_number;
1

九、表的毁灭与重生

终极之际,当某个表格完成其任务后,使用DROPTABLE便是画上句号之时。此操作并非单纯地删除表格,更象征着与过去的挥手道别及新征程的热切期盼。

ALTER TABLE table_name CHANGE COLUMN old_name new_name data_type column_constraint
    [FIRST | AFTER column_name];

十、MySQL表的无限可能

在MySQL这个领域中,表并非简单的数据储藏器,而是承载着丰富故事情节和实现数据魔术的核心。每个表均赋予自身特殊的生命力,每次操作无不在改变其原有形态。

ALTER TABLE table_name DROP COLUMN column_name;
1

在此由表驱动的魔幻世界里,我们化身为数据魔术师,依靠智慧与技艺,共同创造卓越成果。如今,诚挚邀请您参与到此神奇领域,共创新辉煌。欢迎访问评论区分享观点,并积极点赞分享本篇文章,携手守护魔幻世界的祥和风貌!

ALTER TABLE users DROP COLUMN login_failed_number;
1

    © 版权声明
    THE END
    喜欢就支持一下吧
    点赞15赞赏 分享
    评论 抢沙发
    头像
    欢迎您留下宝贵的见解!
    提交
    头像

    昵称

    取消
    昵称表情代码图片

      暂无评论内容