一、版本和环境
本文使用的版本是MySQL 8,首先我们用docker搭建环境。
docker run --name mysql3312 -p 3312:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql
我们在执行完毕之后,在docker中可以看到如下图所示。
接下来,我们使用 DBeaver 连接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;
三、修改字段长度
如果我们需要修改邮箱的长度,可以这样。
ALTER TABLE employees MODIFY email VARCHAR(255);
查看修改之后的表结构。
DESCRIBE employees;
四、修改字段类型
例如,要将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
"相信你自己,你已经成功了一半。" - 西奥多·罗斯福