MySQL表的操作

MySQL表的操作

创建表

语法:
create table table_name( field1 datatype [comment 'xxxxx'], field2 datatype [comment 'xxxxx'], field3 datatype [comment 'xxxxx']) [charset=xxx][collate=yyy][engine=zzz];
说明:

  1. filed1、filed2、filed3...表示列名或者属性名;
  2. datatype:表示列属性的类型
  3. \]可选项,可带可不带

查看表结构的详细信息

语法:
desc 表名;

注意不要和show tables;搞混淆了,show tables;语句的功能是展示出当前数据库下的所有表;

只展示表明,并不展示出表结构的详细信息,如果想要查看一张表的详细信息,那么我们可以使用desc 表名;的语句来进行查询:

Filed:一列表示表的属性字段;

Type:表示表的每一个字段是什么类型;

后面那些字段,我们先暂时不关心,后文细说...

修改表结构

注意我们这里是进行修改表结构!不是修改表内容! 注意区别两者之间的差别,修改表结构,用的是DDL语句,修改表数据内容用的是DML语句;

增加表结构属性

增加表结构属性,无非就是增加给表结构多增加一列属性嘛;
语法:
alter table table_name add 属性名 属性的类型;

eg:

就比如当前user1表里面只有id、name、weight三个字段,我们还可以如果向要在向user1这个表里面增加 height 字段的话,那么我们可以使用以下语句:
alter table user1 add height float comment '用户身高数据';

在上面的语句中,我们可以不写comment 'xxx'语句,这个语句写起只是为了描述字段的!方便用户快速了解表结构,相当于"注释";

接着我们还可以使用show create table user1;语句查看以下创建user1表时的细节:

如果觉得查出来的效果不好看,可以改语句最后带上\G格式化显示:

这时候,我们这些comment注释就能看得一清二楚了;

删除表结构

基于上面的结果,现在我们如果想要删除height字段,改怎么办?

记住是删除表结构的某一个字段,还是对表结构进行修改,而不是删除整个表!所以针对表结构的修改还是alter命令!

语法:
alter table tablename drop colname;

针对本例,具体语句就是:
alter table user1 drop height;

:

表结构的修改

  1. 修改表名:
    语法:
    alter table tablename rename NewTableName;
    eg:
    将user1的表名修改为user2:
  2. 修改列名:
    语法:
    alter table tablename change colname NewColName 新类型;----新字段需要完整定义
    eg:
    比如将上表中 id名改为idnum;
  1. 修改一列的属性
    语法:
    alter table tablename modify colname 新属性;
    eg:

    我们将idname 的Type类型改为float类型:
    alter table user2 modify idname float;

    总结:
    alter table tablename change alter table tablename modify都具有修改表结构的功能,那么这两个语句有什么差别?
    change语句主要用来修改列名和数据类型,modify主要用于修改列的属性,不会修改列名!

注意两者修改语句都是覆盖式修改!

删除表结构

删除表结构是删除整个表,而不是删除表中的内容,改删除语句属于DDL语句;
语法:
drop table tablename;

eg:

当前数据库下有两个表结构,如果我们想要删除testTable表,那么我们可以执行以下语句:
drop table testTable;

注意:

在日常操作中尽量不要删除、修改一列数据或者删除或修改整个表结构,因为上层的代码是依赖于你这个数据库的,如果你在底层乱改数据库的话,那么上层也是需要跟着改动的,如果上层代码量不大还好,一旦大起来后果不堪设想!

相关推荐
玄同76536 分钟前
SQLite + LLM:大模型应用落地的轻量级数据存储方案
jvm·数据库·人工智能·python·语言模型·sqlite·知识图谱
吾日三省吾码37 分钟前
别只会“加索引”了!这 3 个 PostgreSQL 反常识优化,能把性能和成本一起打下来
数据库·postgresql
chian-ocean39 分钟前
百万级图文检索实战:`ops-transformer` + 向量数据库构建语义搜索引擎
数据库·搜索引擎·transformer
那个村的李富贵1 小时前
解锁CANN仓库核心能力:50行代码搭建国产化AIGC图片风格迁移神器
mysql·信息可视化·aigc·cann
小Tomkk1 小时前
数据库 变更和版本控制管理工具 --Bytebase 安装部署(linux 安装篇)
linux·运维·数据库·ci/cd·bytebase
qq_12498707531 小时前
基于JavaWeb的大学生房屋租赁系统(源码+论文+部署+安装)
java·数据库·人工智能·spring boot·计算机视觉·毕业设计·计算机毕业设计
游戏开发爱好者81 小时前
日常开发与测试的 App 测试方法、查看设备状态、实时日志、应用数据
android·ios·小程序·https·uni-app·iphone·webview
王码码20352 小时前
Flutter for OpenHarmony 实战之基础组件:第三十一篇 Chip 系列组件 — 灵活的标签化交互
android·flutter·交互·harmonyos
黑码哥2 小时前
ViewHolder设计模式深度剖析:iOS开发者掌握Android列表性能优化的实战指南
android·ios·性能优化·跨平台开发·viewholder
倒流时光三十年2 小时前
SpringBoot 数据库同步 Elasticsearch 性能优化
数据库·spring boot·elasticsearch