MySql 表的操作

(1)表的创建

sql 复制代码
create table table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

--field 表示列名
--datatype 表示列的类型
--character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
--collate 校验规则,如果没有指定校验规则,则以所在数据库的排序规则为准

当然这个地方我们不显示写字符集 排序规则 存储引擎 也会生成环境下默认的

MySQL 建表语句中,comment 用于为表或字段添加说明性文字,起到注释说明的作用。

当然也是可以不加的

MySQL 的存储引擎是决定表如何存储和处理数据的底层技术实现,相当于表的 "数据处理器"。

作用: 定义数据的存储格式、索引方式 决定事务支持、锁机制等特性 影响读写性能和数据可靠性

不同

不同存储引擎创建出来的表在linux下的文件个数和数量都不一样

(2)查看表的结构/内容

sql 复制代码
desc table_name;

比如这个地方我们就可以查看原先创建的students2这个表

查看表的内容

sql 复制代码
select*from table_name;

(3)表的插入

sql 复制代码
insert into 表名 (字段1, 字段2, ...) values (值1, 值2, ...);

--如果插入的字段顺序与表定义的字段顺序完全一致,可以省略字段列表:
insert into 表名  students values  (值1, 值2,...);
--不过建议保留字段列表,这样更清晰且能避免字段顺序变化导致的错误。


--当需要插入多条记录时,不必编写多个 INSERT 语句,可使用批量插入语法,效率更高:
insert into 表名 (字段1, 字段2, ...) 
values
  (值1, 值2, ...),
  (值1, 值2, ...),
  (值1, 值2, ...);

我们来看看我们插入的结果

我们再来看看下面这些插入

sql 复制代码
show tables; --查看库里面有哪些表

(4)表的修改

sql 复制代码
--删除字段
alter 表名 drop 字段名;


-- 添加单个字段
alter table 表名 add 字段名 数据类型 [约束条件] [first|after 已有字段名];

-- 同时添加多个字段
alter table 表名 
  add 字段1 数据类型 [约束],
  add 字段2 数据类型 [约束];

--修改字段

alter table 表名 modify 字段名 新数据类型 [新约束条件] 


--修改表名
 alter table 原表名 rename to 新表名;  --这里的to可以省略

我们来看修改完成后的结果

添加新的字段 原先数据的该字段部分为NULL

我们可以成功看到我们把原本的students2这个表的名字改成了students3了

(5)删除表

sql 复制代码
--删除表  删除表需谨慎 最好提前备份
--备份操作在库的操作文章那里
drop table 表名;
相关推荐
NineData1 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师1 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql
全栈老石1 天前
拆解低代码引擎核心:元数据驱动的"万能表"架构
数据库·低代码
倔强的石头_2 天前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou643 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
于眠牧北3 天前
MySQL的锁类型,表锁,行锁,MVCC中所使用的临键锁
mysql
李广坤4 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
Turnip12025 天前
深度解析:为什么简单的数据库"写操作"会在 MySQL 中卡住?
后端·mysql
爱可生开源社区5 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1775 天前
《从零搭建NestJS项目》
数据库·typescript