【MySQL】操作库 —— 表的操作 -- 详解

一、增加表

1、创建表

mysql> create database if not exists table_name (
-> field1 datatype,
-> field2 datatype,
-> field3 datatype
-> ) character set 字符集 collate 校验规则 engine 存储引擎;
注意 :最后一行也可以写成: -> ) charset=字符集 collate=校验规则 engine=存储引擎;
说明:

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


说明:

  • 不同的存储引擎,创建表的文件不一样。

(1)user1 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:

  • users.frm:表结构
  • users.MYD:表数据
  • users.MYI:表索引

(2)user2 表存储引擎是 InnoDB,在数据目中有两个不同的文件,分别是:

  • users.frm:表结构
  • users.ibd:表数据和索引

表默认的存储引擎是 InnoDB。

备注:创建一个 engine 是 innodb 的数据库,观察存储目录。


二、查看表

1、查看表结构

desc 表名;


2、显示表的详细信息

show create table user1;

show create table user1 \G;(\G:格式化显示,把不需要的符号去掉。)

该显示信息方法会标准化的记录下之前写的语句。


三、修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。


1、修改表名

alter table tablename rename**to**newtablename;
表 user1 修改表名为 user:

提示 :to 可以省掉。


2、在表中添加记录

insert into tablename values(插入各项内容);

在 user 表中添加两条记录:


3、在表中添加一个字段

alter table tablename add(column datatype DEFAULT expr,column datatype...);

在 user 表添加一个字段,用于保存图片路径:

插入新字段后,对原来表中的数据没有影响:

(原来的数据仍然存在)


4、修改属性

alter table tablename modify (column datatype DEFAULT expr,column datatype...);

这里不是定向修改,所以要将所修改属性后面的内容也加上,否则将直接覆盖原有内容。


5、删除列

alter table tablename drop(column);

注意:删除字段一定要小心,删除字段及其对应的列数据都没了。


6、修改列名

alter table tablename change(column newcolumn datatypeDEFAULT expr,column datatype...);

注意:修改时,新字段需要完整定义,所以必须将属性带上。


四、 删除表

drop TEMPORARY table IF EXISTS tbl_name , tbl_name ...

相关推荐
YOU OU3 小时前
Redis基础常识与命令
数据库·redis·缓存
Database_Cool_5 小时前
OLTP 和 OLAP 区别详解:分析型数据库和事务型数据库怎么选(附阿里云 AnalyticDB MySQL 选型指南)
数据库·mysql·阿里云
爱写代码的阿森5 小时前
鸿蒙三方库 | harmony-utils之KvUtil键值型数据库操作详解
数据库·华为·harmonyos·鸿蒙·huawei
Database_Cool_6 小时前
单机 MySQL 迁移到分布式数据库方便吗?阿里云 PolarDB-X 100% MySQL 协议兼容零改造平滑迁移
数据库·分布式·mysql
姜太小白7 小时前
【MySQL】 索引优化实战:解决 WHERE 等值 + IS NULL 查询,TEXT 字段报错 1167 的完整指南
数据库·mysql
窝子面7 小时前
手搓最简前后端协作-node
javascript·数据库
吳所畏惧7 小时前
宝塔面板Redis密码修改指南:SSH命令修改 vs 面板UI界面修改,哪个更靠谱?
运维·服务器·数据库·redis·缓存·ssh
DFT计算杂谈7 小时前
无 Root 权限在 Tesla K80 零门槛部署 DeepSeek 大模型
linux·服务器·网络·数据库·机器学习
HPFBoy7 小时前
log4net 数据库存日志正确配置
数据库