Mysql表的简单操作

🏝️专栏:Mysql_猫咪-9527的博客-CSDN博客

🌅主页:猫咪-9527-CSDN博客

"欲穷千里目,更上一层楼。会当凌绝顶,一览众山小。"

目录

[3.1 创建表](#3.1 创建表)

[3.2 查看表结构](#3.2 查看表结构)

[3.3 修改表](#3.3 修改表)

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

[2. 修改字段](#2. 修改字段)

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

4.修改字段名

[5. 修改表名](#5. 修改表名)

[3.4 实践案例:修改表](#3.4 实践案例:修改表)

在数据库中,表的操作主要包括表的创建、查看、修改、删除等。了解如何操作这些表是数据库管理和开发的基本技能。

3.1 创建表

创建表时,指定表的结构、数据类型、字符集、校验规则和存储引擎等。以下是创建表的详细语法:

语法:

复制代码
create table table_name (
    field1 datatype [constraint],
    field2 datatype [constraint],
    ...
) [character set charset_name] [collate collation_name] [engine storage_engine];
  • field: 表示列名(字段名)

  • datatype: 列的数据类型(如 int、varchar、date 等)

  • constraint: 可选的约束条件(如 primary key、not null、unique 等)

  • character set: 字符集(可选,如果未指定,使用数据库的默认字符集)

  • collate: 校验规则(可选,如果未指定,使用数据库的默认校验规则)

  • engine: 存储引擎(如 innodb、myisam 等)

注:括号[]里面可以省略,自定义写或者不写。

查看表的创建信息:

复制代码
show create table user;

其中被圈起来的就是我们没有写,默认被添加的。

示例:

复制代码
create table user (
    id int primary key, 
    name varchar(20) not null comment '用户名', 
    password char(32) not null comment '密码是32位的md5值', 
    birthday date comment '生日'
) character set utf8 collate utf8_general_ci engine=myisam;

作用:

  • 创建一个名为 users 的表,包含 idnamepasswordbirthday 字段。

  • 设置字符集为 utf8,校验规则为 utf8_general_ci,存储引擎使用 myisam

说明

  • primary key:定义主键,确保该字段唯一且不为空。

  • not null:字段不能为空。

  • comment:给字段加注释,便于理解字段用途。

存储引擎说明

不同存储引擎具有不同的特性:

  • myisam:适用于读取较多的场景,存储和索引分离。

  • innodb:支持事务,行级锁,外键约束,适用于高并发写操作。

3.2 查看表结构

语法:

复制代码
desc 表名;

或者

复制代码
show columns from table_name;
  • table_name: 表的名称

使用规则:

  • describe : 显示表的字段信息,包括字段名、数据类型、是否允许 null 值、键的类型(如 primary keyindex 等)及其他信息。

  • show columns : 和 describe 类似,但输出格式可能略有不同。

示例:

复制代码
describe user;

3.3 修改表

1. 添加字段

语法:

复制代码
alter table table_name add column column_name datatype 
[constraint] [after existing_column];

注:mysql支持分段书写指令

  • table_name: 表的名称

  • column_name: 新增字段的名称

  • datatype: 字段的数据类型

  • constraint : 可选约束,指定列的规则,如 not nulldefault

  • existing_column: 如果指定,将字段添加到该字段之后

使用规则:

  • add column: 添加新字段时,可以指定新字段的默认值、约束条件以及字段的位置(是否放在已有字段后面)。

示例:

复制代码
alter table user add assets varchar(100) comment '图片路径' after birthday;

作用:

  • users 表中添加名为 assets 的字段,用于保存图片路径,数据类型为 varchar(100),并放置在 birthday 字段后。

2. 修改字段

语法:

复制代码
alter table table_name modify column column_name datatype [constraint];
  • column_name: 要修改的字段名称

  • datatype: 新的数据类型

  • constraint: 可选约束

使用规则:

  • modify column : 修改现有字段的类型或约束条件。可以改变数据类型、长度、是否允许 null 等。

  • 修改字段时,字段位置不能更改。

示例:

复制代码
alter table users modify name varchar(60) not null;

作用:

  • 修改 users 表中 name 字段的长度为 60,并设置为 not null

3. 删除字段

语法:

复制代码
alter table table_name drop column column_name;
  • column_name: 要删除的字段名称

使用规则:

  • drop column: 删除字段时会丢失该字段的数据,操作前请确保备份。

示例:

复制代码
drop table user drop asserts;

作用:

  • 删除 user 表中的 asserts 字段。

4.修改字段名

语法:

复制代码
alter table table_name change column old_column_name new_column_name datatype [constraint];
  • table_name: 表的名称

  • old_column_name: 要修改的字段的原名称

  • new_column_name: 修改后的字段名称

  • datatype: 字段的数据类型(必须重新指定)

  • constraint : 可选的约束(如 not nullunique 等)

使用规则:

  • change column: 用于修改字段名称,同时可以修改字段的数据类型和约束。修改时,必须提供字段的完整数据类型,即使只是修改名称,也需要指定数据类型。

  • 注意:在修改字段名时,不能省略数据类型和原字段名称。

示例:

复制代码
alter table users change column name xingming varchar(60) not null;

作用:

  • users 表中的 name 字段重命名为 xingming,并将数据类型修改为 varchar(60),且字段不能为空(not null)。

5. 修改表名

语法:

复制代码
alter table old_table_name rename to new_table_name;
  • old_table_name: 原表名

  • new_table_name: 新表名

使用规则:

  • rename to: 修改表名时,要保证新名称没有与现有表重名。

3.4 实践案例:修改表

假设我们有一个 users 表,包含以下字段:idnamepasswordbirthday

  1. 插入数据

    insert into users (id, name, password, birthday)
    values (1, 'a', 'b', '1982-01-04'),
    (2, 'b', 'c', '1984-01-04');

  2. 查看表结构

    describe users;

  3. 添加字段 :添加 assets 字段,保存图片路径:

    alter table users add assets varchar(100) comment '图片路径' after birthday;

  4. 修改字段 :修改 name 字段的长度:

    alter table users modify name varchar(60);

  5. 删除字段 :删除 password 字段:

    alter table users drop password;

  6. 修改表名 :将表名 users 改为 employee

    alter table users rename to employee;

  7. 最终查看表结构

    describe employee;

注:

  • 创建表:创建表时,确保字段类型、约束条件、字符集和存储引擎的选择合适。

  • 修改表 :通过 alter table 命令,可以添加、删除、修改字段,甚至修改表名。

  • 删除表 :使用 drop table 命令删除表,操作时要格外小心。

  • 注意:所有的修改表结构的操作都会影响数据完整性,因此在进行这些操作时,务必先做好备份。

相关推荐
Liii4037 分钟前
Java学习——数据库查询操作
java·数据库·学习
nihuhui6661 小时前
NAT技术-初级总结
服务器·网络·智能路由器
m0_694845571 小时前
美国站群服务器租用应该怎么选?
linux·运维·服务器·云计算·ddos
kyle~1 小时前
Linux---用户组
linux·运维·服务器
无极低码1 小时前
Ubuntu 服务器安装 Python 环境 的详细指南
服务器·python·ubuntu
Databend2 小时前
从 Snowflake 到 Databend Cloud:全球游戏平台借助 Databend 实现实时数据处理
数据库
凭君语未可2 小时前
MySQL中的事务隔离级别有哪些
数据库·mysql
笑远2 小时前
Oracle Data Guard(数据保护)详解
数据库·oracle
拾柒SHY2 小时前
iwebsec-SQL数字型注入
数据库·sql·web安全·网络安全
Pandaconda2 小时前
【后端开发面试题】每日 3 题(十五)
数据库·分布式·后端·python·面试·后端开发·幂等性