【mysql】2.数据表操作

目录

一、创建表

[1. 创建表的基本语法](#1. 创建表的基本语法)

[2. 查看表结构](#2. 查看表结构)

[3. 查看建表语句](#3. 查看建表语句)

二、修改表

[1. 重命名表](#1. 重命名表)

[2. 插入数据](#2. 插入数据)

[3. 查询数据](#3. 查询数据)

[4. 添加字段](#4. 添加字段)

[5. 修改字段属性](#5. 修改字段属性)

[6. 删除字段](#6. 删除字段)

[7. 重命名表(另一种写法)](#7. 重命名表(另一种写法))

[8. 修改字段名](#8. 修改字段名)

三、删除表

总结建议


一、创建表

1. 创建表的基本语法

复制代码
CREATE TABLE user1(
    id INT,
    name VARCHAR(20) COMMENT '用户名',
    password CHAR(32) COMMENT '用户密码',
    birthday DATE COMMENT '用户生日'
);

说明:

  • 括号内为字段定义

  • 括号外可选的参数(如存储引擎、字符集等)

  • 字段之间用逗号隔开

2. 查看表结构

复制代码
DESC user1;

显示表的详细信息(字段名、类型、是否为空、键、默认值、额外信息等)。

3. 查看建表语句

复制代码
SHOW CREATE TABLE user1 \G;

\G 的作用是将结果按行垂直显示,便于阅读。

二、修改表

1. 重命名表

复制代码
ALTER TABLE user1 RENAME TO user;

2. 插入数据

复制代码
INSERT INTO user VALUES(1, '1', '123', '2010-10-21');

3. 查询数据

复制代码
SELECT * FROM user;

4. 添加字段

复制代码
ALTER TABLE user ADD image_path VARCHAR(128) COMMENT '头像路径' AFTER birthday;
  • AFTER birthday:在 birthday 字段后面添加新字段

  • 如果不指定 AFTER,默认添加到最后一列

  • 已存在的数据行,新字段的值默认为 NULL

5. 修改字段属性

复制代码
ALTER TABLE user MODIFY name VARCHAR(60);
  • MODIFY 会直接修改原字段的定义

  • 使用 SHOW CREATE TABLE user \G 可以看到建表语句中对应字段的定义已被直接修改

6. 删除字段

复制代码
ALTER TABLE user DROP password;

注意:删除字段会永久丢失该列的数据,操作前请确认。

7. 重命名表(另一种写法)

复制代码
ALTER TABLE user RENAME TO User;

8. 修改字段名

复制代码
ALTER TABLE User CHANGE name xingming VARCHAR(60) DEFAULT NULL;

CHANGE 可以同时修改字段名和字段属性:

  • 第一个参数:原字段名

  • 第二个参数:新字段名

  • 第三个参数:字段类型和属性

三、删除表

复制代码
DROP TABLE User;

注意:删除表会永久丢失表中的所有数据,操作前请确认。

总结建议

  • 改名和删除操作不可逆,在生产环境中需要谨慎执行

  • 删除字段前建议先备份相关数据

  • 建议在测试环境验证后再到生产环境执行

相关推荐
大侠归来20 分钟前
常用 MySQL 分库分表方案详解
数据库·mysql
kingx31 小时前
Windows Server 2008 应急加固实战:7 项入侵痕迹排查与修复
数据库·windows·提权·应急响应·加固
xiaogai_gai1 小时前
采购业务退款单同步实战:从钉钉审批流到金蝶云星空付款单
java·数据库·钉钉
AlickLbc2 小时前
DM-V8数据库证书过期处理过程记录
数据库
l1t2 小时前
DeepSeek总结的五分钟测试:Ted Dunning 谈 DuckDB 为何让分析更轻松
数据库·sql·duckdb
超级新零售2 小时前
零售 SaaS 与本地部署,技术责任边界究竟怎么分?
数据库·零售
考虑考虑3 小时前
瀚高数据库
数据库·后端·postgresql
dishugj3 小时前
oracle日志切换三条命令区别
数据库
Patrick在香港3 小时前
一个斜杠,把毫秒变成十几秒
android·数据库·python·性能优化·正则表达式·回溯·redos
悟道书生3 小时前
(一)Navicate为什么转存结构和数据只转存表而不包含建库?
数据库·oracle