【MySQL】MySQL中如何修改字段长度和字段类型

时间:2023-02-21 13:02:08

一、版本和环境

本文使用的版本是MySQL 8,首先我们用docker搭建环境。

docker run --name mysql3312 -p 3312:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql

我们在执行完毕之后,在docker中可以看到如下图所示。

【MySQL】MySQL中如何修改字段长度和字段类型

接下来,我们使用 DBeaver 连接MySQL。

【MySQL】MySQL中如何修改字段长度和字段类型

二、数据库和数据表

下面我们在上一步构建的环境下创建数据库和数据表。

CREATE DATABASE mydatabase;

USE mydatabase;

CREATE TABLE employees (
  emp_id INT PRIMARY KEY AUTO_INCREMENT,
  first_name VARCHAR(50) NOT NULL,
  last_name VARCHAR(50) NOT NULL,
  email VARCHAR(100) UNIQUE,
  hire_date DATE,
  salary DECIMAL(8,2)
);

在这里,我们创建了库,并且做个员工表,然后写入测试数据。

INSERT INTO employees (first_name, last_name, email, hire_date, salary)
VALUES
  ('Rick', 'Sanchez', 'rick@rickandmorty.com', '2000-01-01', 10000.00),
  ('Morty', 'Smith', 'morty@rickandmorty.com', '2005-05-01', 5000.00),
  ('Summer', 'Smith', 'summer@rickandmorty.com', '2008-09-01', 6000.00),
  ('Jerry', 'Smith', 'jerry@rickandmorty.com', '2010-06-01', 4000.00),
  ('Beth', 'Smith', 'beth@rickandmorty.com', '2000-02-01', 8000.00);

查询数据,显示数据写入完成。

SELECT * FROM employees;

【MySQL】MySQL中如何修改字段长度和字段类型

三、修改字段长度

如果我们需要修改邮箱的长度,可以这样。

ALTER TABLE employees MODIFY email VARCHAR(255);

查看修改之后的表结构。

DESCRIBE employees;

【MySQL】MySQL中如何修改字段长度和字段类型

四、修改字段类型

例如,要将employees表中的salary字段的数据类型从INT修改为FLOAT,可以使用以下命令:

ALTER TABLE employees MODIFY salary FLOAT;

五、总结

修改表结构的核心语法是ALTER TABLE,其中用于修改表中列定义的关键字是MODIFY。使用ALTER TABLE MODIFY语句可以修改列的数据类型、长度、默认值、是否允许为空等属性。

"Believe you can and you're halfway there." - Theodore Roosevelt

"相信你自己,你已经成功了一半。" - 西奥多·罗斯福