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 命令删除表,操作时要格外小心。

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

相关推荐
jllllyuz1 小时前
如何为服务器生成TLS证书
运维·服务器·数据库
简朴-ocean1 小时前
如何删除linux空的文件夹
linux·运维·服务器
rit84324991 小时前
ELK实现nginx、mysql、http的日志可视化实验
mysql·nginx·elk
面朝大海,春不暖,花不开2 小时前
使用 Python 正则表达式实现文本替换与电话号码规范化
python·mysql·正则表达式
伍六星2 小时前
Flask和Django,你怎么选?
数据库·django·flask
Code Warrior2 小时前
【Linux】Linux基础指令3
linux·服务器
杜哥无敌2 小时前
ORACLE 修改端口号之后无法启动?
数据库·oracle
远方16092 小时前
0x-4-Oracle 23 ai-sqlcl 25.1.1 独立安装-配置和优化
数据库·ci/cd·oracle
光路科技2 小时前
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
服务器·网络·重构
远方16092 小时前
0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化
数据库·ide·ai·oracle