【MYSQL】-表的操作

2023-12-19 21:29:08

在这里插入图片描述
💖作者:小树苗渴望变成参天大树🎈
🎉作者宣言:认真写好每一篇博客💤
🎊作者gitee:gitee?
💞作者专栏:C语言,数据结构初阶,Linux,C++ 动态规划算法🎄
如 果 你 喜 欢 作 者 的 文 章 ,就 给 作 者 点 点 关 注 吧!


前言

上一篇博主刚介绍过库的操作,其实库的操作还是很简单的,数据库里面就是使用表来管理数据的,当然还有其他的,表是最重要的,所以今天这篇我们就来介绍表的操作,还是在学习DDL数据定义语言,不是数据操纵语言,所以这篇就只是对表的结构做操作,里面的数据怎么处理以及一些字段这篇不做介绍,这个先要了解,话不多说我们开始进入正文的讲解。


一、创建表(增)

语法:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:
1.datatype 表示列的类型
2.field 表示列名
3.character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
4.collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
5 .需要先进入一个数据库在创建表

在这里插入图片描述

  1. 在创建表的时候设置的字符集和校验规则不写就是默认的,相当于从数据库上继承下来的。
  2. 不同的存储引擎创建表会形成不同的文件,我们目前认为不管使用那种引擎在上层都是无差别的。
  3. user 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
    user.frm:表结构
    user.MYD:表数据
    user.MYI:表索引
  4. 创建表的核心就是定义列属性,他和我们学习到的其他语言定义变量是相反的,这个将在下一篇介绍数据类型的时候详细介绍。

二、查看表(查)

show tables;//查看当前数据库中所有表

在这里插入图片描述

desc 表名;查看表的具体结构

我们只需要关注前两个列就行了,后几个后面会介绍
在这里插入图片描述

show create table 表名 \G;查看定义表时候的语句

在这里插入图片描述

\G选项加不加其实是为了看的简洁而已,没啥其他作用,使用上面的语句可以把我们创建表时候的创建语句显示出来,但是里面有些字段我自己创建的时候并没有写,那这里为什么会出现,原因是我们自己输入的创建语句会被mysql解析的,有的默认的你在创建的时候可以不写,但是执行的时候内部要使用完整的,所以给你展示的也是完整的。

三、修改表(改)

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

ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
ALTER TABLE tablename DROP (column)

语法看上去很复杂,所以大家先不要管语法,博主通过案例给大家演示一下,大家在回头看语法就理解了。

前期工作:在user表中插入两条数据

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

在这里插入图片描述

  1. 在user表添加一个字段,用于保存图片路径(添加列名)
alter table users add assets varchar(100) comment '图片路径' afterbirthday;

在这里插入图片描述

我们新增新的字段的时候和创建表时候定义字段是一样的,after后面是将新增的字段放在已有字段的后面。因为新增,没有数据,所以查询直接为空,并且对原来的数据没有产生影响

  1. 修改name,将其长度改成60(对已有的属性进行修改属性)
alter table users modify name varchar(60);

在这里插入图片描述

我们看到确实修改成功了,但是修改的是整个字段的语句,我们原有的comment也没有了。注意:我们使用这种方式修改数据类型大小变大对员数据没有影响,但是变小可以会出现截断,出现数据错误问题

  1. 删除password列(删除列属性)
alter table user drop password;

在这里插入图片描述

我们看到确实把这一列属性删除了,但是对应的数据也删除了,所以这个操作大家还是要注意的。

  1. 将name列修改为xingming(修改列名)
alter table user change name xingming varchar(60);

在这里插入图片描述

修改名字需要冲顶定义属性,至少有名字和数据类型。

  1. 修改user表明
alter table user rename to ceshibiao;

在这里插入图片描述

to:可以省掉

说明:
我们对表的属性进行修改,可以通过这个区查看对几行数据产生了影响。在这里插入图片描述

四、删除表(删)

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
drop table if exists ceshibiao;

在这里插入图片描述

删除表也是一个需要注意的问题,大家不要轻易删除表,会造成数据丢失。

五、总结

这篇相对来说在修改哪里语句比较多,但是有相通的地方,大家下去多练习就可以,下一篇我们讲解数据类型。

文章来源:https://blog.csdn.net/qq_69369227/article/details/135092364
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。