【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

AWS Kiro 账号池管理系统 | 将 Amazon Q Developer API 转换为 OpenAI 兼容格式 | 支持多账号池、OIDC 自动认证、令牌自动刷新、Web 管理控制台 | Go

AWS Kiro 账号池管理系统 | 将 Amazon Q Developer API 转换为 OpenAI 兼容格式 | 支持多账号池、OIDC 自动认证、令牌自动刷新、Web 管理控制台 | Go

Claude API - AWS Kiro 账号池管理 | OpenAI 兼容代理服务 项目地址在wget 里面 web页面访问把后缀.git删掉即可 效果图 AWS Kiro 账号池管理系统 - 将 Amazon Q Developer (Kiro) API 转换为 OpenAI 兼容格式的企业级 Go 代理服务。支持多账号池管理、OIDC 自动认证、令牌自动刷新、流式响应、完整的 Web 管理控制台。 关键词: AWS Kiro, Amazon Q Developer, Claude API, OpenAI Proxy, 账号池管理, OIDC 认证, Go

By Ne0inhk
Java Web 开发环境搭建:IDEA+Tomcat 安装与部署超详细教程

Java Web 开发环境搭建:IDEA+Tomcat 安装与部署超详细教程

在 Java Web 开发中,IDEA 作为主流的集成开发工具,搭配 Tomcat 轻量级 Web 服务器是入门首选。本文将基于 Java Web 基础开发要求,从 JDK 环境配置、Tomcat 安装配置、IDEA 安装、Web 项目创建,到 Tomcat 在 IDEA 中的部署运行,进行一步一图式详细讲解,零基础也能轻松上手。 一、前置准备:JDK 环境配置 Java Web 开发的核心基础是 JDK,Tomcat 和 IDEA 的运行都依赖 JDK 环境,需先完成 JDK 的安装与环境变量配置。 1. 下载与安装

By Ne0inhk
Flutter 组件 ews 的适配 鸿蒙Harmony 实战 - 驾驭企业级 Exchange Web Services 协议、实现鸿蒙端政企办公同步与高安通讯隔离方案

Flutter 组件 ews 的适配 鸿蒙Harmony 实战 - 驾驭企业级 Exchange Web Services 协议、实现鸿蒙端政企办公同步与高安通讯隔离方案

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 组件 ews 的适配 鸿蒙Harmony 实战 - 驾驭企业级 Exchange Web Services 协议、实现鸿蒙端政企办公同步与高安通讯隔离方案 前言 在鸿蒙(OpenHarmony)生态进军政企办公领域的过程中,与现有企业信息化基础设施的深度集成是一道必答题。即便是在全连接、分布式的今天,微软的 Exchange 服务器依然是全球无数大厂与政务系统处理邮件、日历同步的核心底座。 对于习惯了简单 http.get 的移动开发者来说,Exchange Web Services(EWS)协议由于其复杂的 SOAP 封装、繁琐的 XML 数据结构以及极其严苛的身份认证机制,往往是一块难啃的“骨头”。 ews 库为 Dart 提供了成熟的、类型安全的

By Ne0inhk
本地服务器用 OpenClaw + Open WebUI 搭建企业多部门 AI 平台(附 Docker 避坑指南)

本地服务器用 OpenClaw + Open WebUI 搭建企业多部门 AI 平台(附 Docker 避坑指南)

引言: 最近在尝试使用 OpenClaw,发现这个 AI 个人助理框架非常有意思。于是团队里就有人提出:能不能为公司的多个部门,分别搭建专属的 OpenClaw 服务器? 诚然,现在有钉钉、飞书等成熟的办公软件可以接入 AI,但对于一些尚未全面普及此类协作软件的企业(或者需要绝对私有化部署的团队)来说,独立搭建一套内部 AI 门户依然是刚需。 起初,我们考虑直接让大家通过 OpenClaw 自带的 Web 界面进行跨电脑访问。但实操后发现这存在致命缺陷: 1. 权限越界:自带的 Web 端拥有底层的配置编辑权限,暴露给普通员工极其不安全。 2. 无法溯源:多终端共用一个 Web 界面,根本无法追溯对话是由谁发起的。 3. 缺乏隔离:无法按部门精细化分配 API 额度或限制特定部门只能访问特定的 OpenClaw 节点,无法实现业务隔离。 为了解决这些痛点,我们最终确定了这套架构方案:

By Ne0inhk