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

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

总结建议

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

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

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

相关推荐
东风破_3 小时前
从输入 juejin.cn 到看到页面:DNS、Nginx、服务器集群与 CDN 到底在做什么?
后端·mysql
小成很成3 小时前
mysql 8.0.21 升级 mysql 8.0.45(经过生产环境验证)
android·mysql·adb
东风破_3 小时前
从 0 设计一个博客数据库:用户、头像与文章表应该怎么建?
后端·mysql
保定公民4 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol4 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白5 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
云计算DevOps-韩老师6 小时前
【MySQL运维DBA】【SQL基础系列002篇】
运维·mysql·dba
DBA大董6 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
放风铃的兔子7 小时前
15 年 DBA 经验:MySQL 迁移到 KES,哪些东西真的不用改?
mysql