【MYSQL】MYSQL学习的一大重点:MYSQL表的操作

【MYSQL】MYSQL学习的一大重点:MYSQL表的操作

头像

🎬 个人主页艾莉丝努力练剑
专栏传送门:《C语言》《数据结构与算法》《C/C++干货分享&学习过程记录
Linux操作系统编程详解》《笔试/面试常见算法:从基础到进阶》《Python干货分享

⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平


🎬 艾莉丝的简介:

在这里插入图片描述

文章目录


在这里插入图片描述

0 ~> 概要

1、查看表结构:desc

  • desc:描述表的详细信息。
  • desc可以理解成,describe,“描述”。

2、清空MYSQL:system clear

3、查询表的多个数据:select * from 表名。

  • SELECT:从一个或者多个表中检索数据,不会修改原始数据
在这里插入图片描述

4、不要轻易修改表名字或者删除表一旦改了,上层很难找,对程序员是一种莫大的伤害,所以表结构不要改,虽然讲了表的修改和删除,但是不建议修改或者删除标的表,表结构尽量后续少改。

总结一下表操作的几个重点:第一个是增加,第二个是修改,第三个是删除,第四个是查看

在这里插入图片描述

CREATE是操作表结构,但是像SELECT不是操作表结构,而是操作表的内容。

在这里插入图片描述

数据库的操作、表的操作,尤其是表的操作,应该属于哪一种呢?DDLDCLDML?表的操作是在定义表的结构,无论是增加、删除还是修改表的结构,都是属于定义表的结构的范畴。


1 ~> 创建表

创建表的语法

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

说明:

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

2 ~> 创建表的案例详解

案例:

create table users(id int, name varchar(20) comment '用户名', password char(32) comment '密码是32位的md5值', birthday date comment '生日') character set utf8 engine MyISAM;
在这里插入图片描述

说明:

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

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

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

我们复制一下渠道,查看一下当前路径——

在这里插入图片描述

直接在文件资源管理器中也可以看到——

在这里插入图片描述

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


3 ~> 查看表结构

语法:

desc 表名;

示例:

在这里插入图片描述

实际场景中,查看效果如下:

在这里插入图片描述

4 ~> 修改表

4.1 什么时候需要修改表

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

4.2 修改方式

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);

4.3 案例

4.3.1 在users表添加二条记录

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

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

mysql> alter table usersadd assets varchar(100) comment '图片路径' after birthday;

添加之后我们查看一下表的详细信息——

mysql> desc users; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ |id| int(11)| YES || NULL ||| name | varchar(20)| YES || NULL ||| password | char(32)| YES || NULL ||| birthday |date| YES || NULL ||| assets | varchar(100)| YES || NULL || +----------+--------------+------+-----+---------+-------+ 

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

mysql>select * from users; +------+------+----------+------------+-------+ |id| name | password | birthday | assets | +------+------+----------+------------+-------+ |1| a | b |1982-01-04 | NULL |<= 原来的数据仍然存在 |2| b | c |1984-01-04 | NULL | +------+------+----------+------------+-------+ 
在这里插入图片描述

4.3.3 修改name,将其长度改成60

mysql> alter table users modify name varchar(60);
mysql> desc users; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ |id| int(11)| YES || NULL ||| name | varchar(60)| YES || NULL ||<= 长度变成60 | password | char(32)| YES || NULL ||| birthday |date| YES || NULL ||| assets | varchar(100)| YES || NULL || +----------+--------------+------+-----+---------+-------+ 
在这里插入图片描述

4.3.4 删除password列

在这里插入图片描述
  • **注意:**删除字段一定要小心,删除字段及其对应的列数据都没了(公司里尤其注意)。
mysql> alter table users drop password; mysql> desc users; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ |id| int(11)| YES || NULL ||| name | varchar(60)| YES || NULL ||| birthday |date| YES || NULL ||| assets | varchar(100)| YES || NULL || +----------+--------------+------+-----+---------+-------+ 
在这里插入图片描述

4.3.5 修改表名为employee

这里先展示一下如果修改表名为User是啥样的:

在这里插入图片描述
mysql> alter table usersrename to employee;
  • to:这个可以省掉。
mysql>select * from employee; +------+------+------------+-------+ |id| name | birthday | assets | +------+------+------------+-------+ |1| a |1982-01-04 | NULL ||2| b |1984-01-04 | NULL | +------+------+------------+-------+ 

4.3.6 将name列修改为xingming(中文拼音)

在这里插入图片描述
mysql> alter table employee change name xingming varchar(60); --新字段需要完整定义 
mysql> desc employee; +----------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+--------------+------+-----+---------+-------+ |id| int(11)| YES || NULL ||| xingming | varchar(60)| YES || NULL ||| birthday |date| YES || NULL ||| assets | varchar(100)| YES || NULL || +----------+--------------+------+-----+---------+-------+ 

5 ~> 删除表

删除表很简单。

语法格式:

DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name]... 

示例:

drop table t1;

结尾

uu们,本文的内容到这里就全部结束了,艾莉丝在这里再次感谢您的阅读!

结语:希望对学习MYSQL相关内容的uu有所帮助,不要忘记给博主“一键四连”哦!

往期回顾:

【MYSQL】MYSQL学习的一大重点:MYSQL库的操作

🗡博主在这里放了一只小狗,大家看完了摸摸小狗放松一下吧!🗡૮₍ ˶ ˊ ᴥ ˋ˶₎ა

Read more

【C++:封装红黑树】C++红黑树封装实战:从零实现MyMap与MySet

【C++:封装红黑树】C++红黑树封装实战:从零实现MyMap与MySet

🔥艾莉丝努力练剑:个人主页 ❄专栏传送门:《C语言》、《数据结构与算法》、C/C++干货分享&学习过程记录、Linux操作系统编程详解、笔试/面试常见算法:从基础到进阶、测试开发要点全知道 ⭐️为天地立心,为生民立命,为往圣继绝学,为万世开太平 🎬艾莉丝的简介: 🎬艾莉丝的C++专栏简介: 目录 C++的两个参考文档 1  ~>  分析:源码及框架 1.1  见一见源码 1.2  对比set和map的源码:泛型编程的应用 2  ~>  map和set的模拟实现 2.1  实现出复用红黑树的框架(支持insert) 2.2  迭代器iterator的实现 2.3  迭代器iterator实现思路分析 2.

By Ne0inhk

Visual C++ 6.0中文版安装包下载教程及win11安装教程

本文分享的是Visual C++ 6.0(简称VC++6.0)中文版安装包下载及安装教程,关于win11系统下安装和使用VC++6.0使用问题解答,大家在安装使用的过程中会遇到不同的问题,如遇到解决不了的问题请给我留言! 一、安装包的下载 vc6.0安装包下载连接: https://pan.quark.cn/s/710dc0efe636 二、安装vc++6.0 1.鼠标右键解压到“VC++ 6.0”安装包,解压后如图所示: 2.双击Steup.exe,进行安装; 3.点击下一步 4.更改路径,建议不要安装在C盘(默认盘符),可以选择其他的盘符,点击浏览进行更改盘符。 5.选择C盘(默认盘或系统盘)以外的盘符。

By Ne0inhk
全网最全100道C++高频经典面试题及答案解析:C++程序员面试题库分类总结

全网最全100道C++高频经典面试题及答案解析:C++程序员面试题库分类总结

前言 C++作为一门兼具高性能与灵活性的语言,持续推动着量子计算、自动驾驶、区块链、AI编译器等领域的技术革命。本题库精选100道高频面试题,涵盖从内存模型、编译器内部机制到跨学科前沿应用的深度内容,专为资深工程师、系统架构师及科研岗位设计。无论是准备顶级科技公司面试,还是探索C++在安全关键系统(如航天、医疗)与新兴领域(如脑机接口、边缘AI)的工程实践,这些题目将帮助您展现对语言本质的理解和对复杂场景的掌控力。 题库特点: 垂直深入:超越语法层面,聚焦标准演进(C++20/23)、硬件协同优化及形式化验证等高级主题。 跨领域融合:结合LLVM/MLIR编译器开发、CUDA加速、实时操作系统等场景,体现C++的系统级控制能力。 第一部分:面向对象与内存管理(1-10题) 1. 虚函数实现原理(字节跳动/腾讯) 题目:虚函数表(vtable)在C++中是如何工作的?写出示例代码说明动态多态的实现。

By Ne0inhk

3.6-Web后端基础(java操作数据库)

目录 前言 JDBC 介绍 查询数据 需求 准备工作 代码实现 代码剖析 ResultSet 预编译SQL SQL注入 SQL注入解决 性能更高 增删改数据 需求 代码实现 Mybatis 介绍 快速入门 辅助配置 配置SQL提示 配置Mybatis日志输出 JDBC VS Mybatis 数据库连接池 介绍 产品 增删改查操作 删除 新增 修改 查询 XML映射配置 XML配置文件规范 XML配置文件实现 MybatisX的使用 SpringBoot配置文件 介绍 语法 案例 前言 在前面我们学习MySQL数据库时,都是利用图形化客户端工具(如:idea、datagrip),来操作数据库的。 我们做为后端程序开发人员,

By Ne0inhk