【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++怒肝《双截棍》分拣算法,暴打节点删除Boss战!

二叉搜索树·极速分拣篇」:用C++怒肝《双截棍》分拣算法,暴打节点删除Boss战!

【温馨提示,本文是理论文,手撕的文章还在加急处理中】 前言:         程序员老张最近失业了。不是因为他写代码时把分号敲成了希腊字母“α”(虽然这确实发生过),而是因为他试图用一坨意大利面条——哦不,是一坨链表——给楼下菜鸟驿站的快递包裹做自动分拣。结果某位邻居收到了一箱猫粮和三双荧光绿洞洞鞋,而隔壁程序员小王则被迫签收了一整箱《母猪产后护理指南》。 “你这分拣系统,简直比量子力学还薛定谔。”小王愤怒地在业主群@他。         老张痛定思痛,终于悟了: 链表就像单身汉的衣柜——东西随便塞,找起来要命;而二叉搜索树,才是强迫症的天堂——左小右大,泾渭分明。         今天,就让我们用C++给快递小哥打造一棵“二叉搜索树分拣机”,保证从此以后,你的包裹再也不会和邻居的假发、前任的结婚请柬、以及小区广场舞领队的“震楼级”蓝牙音箱纠缠不清。 (小声:如果代码跑着跑着突然开始给你的袜子配对,别慌,那是BST在拓展副业。) 1.二叉搜索树的概念         二叉搜索树又被称之为二叉排序树,它或者是一棵空树,或者是一棵具有以下性质的树: 1.如果它的左子树

By Ne0inhk

apamit:Hive Keychain Extension

apamit:Hive Keychain Extension 一款安全便捷的Hive钱包浏览器扩展。 项目介绍 Hive Keychain Extension 是一款专为Hive区块链设计的钱包扩展工具,适用于Chromium或Firefox浏览器。它允许用户安全地访问Hive区块链上的分布式应用(dApps),并提供创建和管理个人身份的功能。 项目技术分析 Hive Keychain Extension 通过将Hive Keychain API注入到每个网站的JavaScript环境中,使得dApps能够读取区块链上的数据。当dApps需要执行交易并写入区块链时,用户可以通过一个安全的界面来审查交易,然后选择批准或拒绝。 项目采用了模块化的开发方式,支持本地构建和调试。以下是构建和运行的基本步骤: 1. 克隆仓库:使用 git clone 命令克隆项目仓库。 2. 安装模块:通过 npm i 命令安装依赖模块。 3. 运行开发服务器:执行 npm run dev 命令,将创建两个文件夹 dist-dev 和

By Ne0inhk
PostgreSQL 企业级用户画像 + 行为分析实战:替代 Hive,10 亿数据秒级响应

PostgreSQL 企业级用户画像 + 行为分析实战:替代 Hive,10 亿数据秒级响应

很多企业用 MySQL 存用户画像(JSON 格式)、用 Hive 做行为分析,但面临 “MySQL 查询慢、Hive 维护复杂” 的两难。而 PostgreSQL 的 “JSONB + 分区表 + 窗口函数” 组合,堪称 “轻量级数据仓库”:既能像 MySQL 一样支撑高并发写入,又能像 Hive 一样做复杂分析,10 亿级用户行为数据秒级响应,还不用额外部署大数据集群,运维成本直接砍半。 这篇是纯企业级实战干货,聚焦 “用户画像存储 + 行为日志分析” 场景,用 PG 替代 MySQL+Hive 的组合,从表结构设计、数据写入、复杂分析到性能优化,每一步都给可复现的 SQL 和命令,

By Ne0inhk

Hive完整函数参考指南与实践

本文还有配套的精品资源,点击获取 简介:Hive是一个基于Hadoop的大数据仓库工具,支持通过类SQL语言HQL处理存储在HDFS中的大规模数据集。本文全面介绍Hive的内置函数,包括数据类型、算术、比较、逻辑、转换、字符串、数值、日期、聚合、分桶、分组、窗口、连接、子查询、分区以及用户自定义函数(UDF、UDAF、UDTF)等,旨在帮助用户高效地分析和管理大数据。 1. Hive数据类型与函数概述 数据类型与函数是任何数据库管理系统的基础。在Hive中,数据类型决定了数据的存储方式以及操作的范围和限制,而函数则为处理数据提供了强大的工具。本章节将带您简要了解Hive中数据类型的基本分类以及内置函数的基本概念,为进一步深入学习和使用Hive打下坚实的基础。 Hive数据类型 Hive的数据类型分为基本数据类型和复杂数据类型。基本数据类型包括数值型、布尔型、日期和时间类型、字符串类型等,它们是构建更复杂数据结构的基石。复杂数据类型如数组(Array)、映射(Map)、结构体(Struct)以及联合体(Union),提供了数据集合和复杂数据表示的方式,

By Ne0inhk