[MySQL] MySQL表的基础操作
文章目录
一、创建表
1、1 SQL语法
1、2 实例演示
二、查询表
三、修改表
3、1 修改表名字
3、2 新增列(字段)
3、3 修改列类型
3、4 修改列名
3、5 删除表
四、总结
🙋♂️ 作者:@Ggggggtm 🙋♂️
👀 专栏:MySQL 👀
💥 标题:MySQL表的基础操作💥
❣️ 寄语:与其忙着诉苦,不如低头赶路,奋路前行,终将遇到一番好风景 ❣️
一、创建表
1、1 SQL语法
首先我们先来学一下创建表的操作。后续都是对表进行增删查改操作!创建表的语法:
CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎;注意,我们在上篇文章中讲解到了库的字符集与校验规则的设置。表也是可以设置自己对应的字符集和校验规则的。其次,上述字符集设置中,character set 等同于 charset 。
语法说明:
- field 表示列名;
- datatype 表示列的类型;
- character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准;
- collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准;
- engine是用来指定表所采用的存储引擎。
1、2 实例演示
下面我们结合一个实际例子来理解一下。具体如下图:
首先说明一下,上述语句中 comment 是用来添加注释信息的。那么我们来查看一下所见建的表。查看表结构的详细信息用到的语句是:desc 表名字。具体如下图:
我们所添加的注释信息在哪里看呢?这时候我们就需要用查看创建表时的语句的详细信息了,具体如下图:
我们再来看看使用特定的存储引擎后,创建出来的表有什么不同的。如下图:
当我们不指定存储引擎时,数据库会使用默认的存储引擎:innodb。我们通过linux下对应的文件可以也看出,不同的存储引擎所创建出来的表也是有所不同的。
t1 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
- t1.frm:表结构;
- t1.MYD:表数据;
- t1.MYI:表索引。
t2 表存储引擎是 innodb,在数据目中有两个不同的文件,分别是:
- t2.frm:表结构;
- t2.ibd:表数据和表索引;
后续文章我们也会对他们之间的详细区别进行详解的。这里我们知道不同的存储引擎创建出来的表是有所不同的即可。
二、查询表
查询某个库中都有那几个表,可以用语句:show tables。具体如下图:
我们在上述创建中也提到了查询表结构的详细信息,所用到的语句是:desc 表名字。具体如下:
说明一下,desc表中的每一行都表示一个字段,并包含以下属性:
Field:字段名称。Type:数据类型。例如,VARCHAR(64)、INT、FLOAT 等。Null:是否允许 NULL 值。如果是 'YES',则可以是 NULL;如果是 'NO',则必须有值。Key:主键、唯一键或普通索引的类型。'PRI' 是主键,'UNI' 是唯一键,'MUL' 是多列键,'ALL' 是全索引。Default:字段的默认值。如果没有默认值,则为空。Extra:字段的一些额外信息。例如,'auto_increment' 表示该字段是自动递增的,'on update CURRENT_TIMESTAMP' 表示该字段在更新时会自动设置当前时间戳。这里就先了解一下,不做过多解释,后续文章会对此属性进行详解。
我们也可通过show create table 表名字来查看创建表时的具体的细节。如下图:
我们怎么查看表中所存储的信息呢?可直接使用select语句进行查看。具体如下图:
我们是先插入了两条数据再进行查询。这里也就不再对查询做过多解释。我们所说的插入一个字段,对应到表中也就是插入了一列。
三、修改表
修改表主要用到的语句是:alter table 表名字 要修改的操作及内容。 下面我们通过实例来一一理解。
3、1 修改表名字
再次提醒,一般情况下是不支持对数据库的名字进行修改的。但是可以修改表的名字。语句:alter table 表名字 rename to 新表名字。该语句中的 to 是可以省去的。具体实例如下:
3、2 新增列(字段)
在不断的开发中,可能会向表中新增一列。这个也是可以的。所用到的语句:
alter table 表名字 add 新增列明 新增列属性;具体如下图:
我们看到新增的一列默认是在表中的最后的位置。当然,我们想要增加到其他位置呢?具体如下图:
可以使用语句:alter table 表名字 add 新增列明 新增列属性 after 列名。
3、3 修改列类型
有时候我们定义的列类型时,后续因为数据原因,需要变动。比如修改某个字段类型的最大长度等等。所用到的语句:alter table 表名字 modify 列名字 修改后列类型。下面我们看一个实例:
上图中,我们就是把名字的最大长度进行了修改。注意:如果还需要注释信息时,我们再修改时也应该写上。从这里我们也看出来了,修改并不是指定式的修改内容,而是覆盖式的去修改内容。
3、4 修改列名
列的名字也是可以被修改的。所用语句:
alter table 表名字 change 列名字 新列名字 新列属性。我们看一个实例:
这里的修改也是覆盖式的进行修改,原来的建表时的注释信息也会被覆盖掉。如下图:
3、5 删除表
删除表也就意味着删除表中的所有数据。所以当在删除表的时候,要确定表中的信息没有用了,否则不要轻易删除。具体语句:
drop table 表名字;具体实例如下:
四、总结
本文章主要对表的操作进行的详细讲解,下面对本文章所用到的语句进行一个简单的总结。具体如下:
CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT '注释信息'],field2 datatype2 [COMMENT '注释信息'],field3 datatype3 [COMMENT '注释信息'] )[CHARSET=字符集] [COLLATE=校验规则] [ENGINE=存储引擎];DESC 表名字;SHOW TABLES;ALTER TABLE table_name RENAME [TO] 新表名字; ALTER TABLE table_name ADD 新增列名字 新增列类型; ALTER TABLE table_name MODIFY 列名字 修改后列类型; ALTER TABLE table_name DROP 列名字; ALTER TABLE table_name CHANGE 列名字 新列名 新列类型;DROP TABLE;我们应该多加练习这些语句的使用,也应该熟练掌握这些语句的使用。本篇文章的内容就到这里,感谢阅读ovo~
相关文章:
[MySQL] MySQL表的基础操作
文章目录 一、创建表 1、1 SQL语法 1、2 实例演示 二、查询表 三、修改表 3、1 修改表名字 3、2 新增列(字段) 3、3 修改列类型 3、4 修改列名 3、5 删除表 四、总结 🙋♂️ 作者:Ggggggtm 🙋♂️ 👀 专…...
SQL 部分解释。
这段SQL代码的主要作用是从V_order_L表中查询数据,并与V_AATB1DU_F52_M表进行左连接。查询的结果会按照订单时间(orderTime)、POS代码(posCode)和区间名称(f.DName)进行分组。 具体来说…...
利用LangChain实现RAG
检索增强生成(Retrieval-Augmented Generation, RAG)结合了搜寻检索生成能力和自然语言处理架构,透过这个架构,模型可以从外部知识库搜寻相关信息,然后使用这些信息来生成response。要完成检索增强生成主要包含四个步骤…...
零基础学习Matlab,适合入门级新手,了解Matlab
一、认识Matlab Matlab安装请参见博客 安装步骤 1.界面 2.清空环境变量及命令 (1)clear all :清除Workspace中的所有变量 (2)clc:清除Command Window中的所有命令 二、Matlab基础 1.变量命名规则 &a…...
CCF ChinaSoft 2023 论坛巡礼 | 自动驾驶仿真测试论坛
2023年CCF中国软件大会(CCF ChinaSoft 2023)由CCF主办,CCF系统软件专委会、形式化方法专委会、软件工程专委会以及复旦大学联合承办,将于2023年12月1-3日在上海国际会议中心举行。 本次大会主题是“智能化软件创新推动数字经济与社…...
vue封装useWatch hook支持停止监听和重启监听功能
import { watch, reactive } from vue;export function useWatch(source, cb, options) {const state reactive({stop: null});function start() {state.stop watch(source, cb, options);}function stop() {state.stop();state.stop null;}// 返回一个对象,包含…...
智能配方颗粒管理系统解决方案,专业实现中医药产业数字化-亿发
“中药配方颗粒”,又被称为免煎中药,源自传统中药饮片,经过提取、分离、浓缩、干燥、制粒、包装等工艺加工而成。这种新型配方药物完整保留了原中药饮片的所有特性。既能满足医师的辨证论治和随症加减需求,同时具备强劲好人高效的…...
PXI总线测试模块-6951E 信号分析仪
6951E 信号分析仪 频率范围:10Hz~26.5GHz 6951E信号分析仪率范围覆盖10Hz~26.5GHz、带宽40MHz,具备频谱分析、相邻信道功率测试、模拟解调、噪声系数测试等多种测量功能。 6951E信号分析仪采用PXIe总线3U 4槽结构形式ÿ…...
精确杂草控制植物检测模型的改进推广
Improved generalization of a plant-detection model for precision weed control 摘要1、介绍2、结论摘要 植物检测模型缺乏普遍性是阻碍实现自主杂草控制系统的主要挑战之一。 本文研究了训练和测试数据集分布对植物检测模型泛化误差的影响,并使用增量训练来减小泛化误差。…...
C++:对象成员方法的使用
首先复习一下const : //const: //Complex* const pthis1 &ca; //约束指针自身 不能指向其他对象 // pthis1 &cb; err //pthis1->real; //const Complex* const pthis1 &ca;//指针指向 指针自身 都不能改 //pthis1->real; 只可读 …...
深入了解SpringMvc接收数据
目录 一、访问路径(RequestMapping) 1.1 访问路径注解作用域 1.2 路径精准(模糊)匹配 1.3 访问路径限制请求方式 1.4 进阶访问路径请求注解 1.5 与WebServlet的区别 二、接收请求数据 2.1 请求param参数 2.2 请求路径参数 2.3 请求…...
华东“启明”青少年音乐艺术实践中心揭幕暨中国“启明”巴洛克合奏团首演音乐会
2023年11月11日,华东“启明”青少年音乐艺术实践中心在上海揭幕,中国“启明”巴洛克合奏团开启了首场音乐会。 华东“启明”青少年音乐艺术实践中心由中共宁波市江北区委宣传部与上音管风琴艺术中心联合指导,宁波音乐港、宁波市江北区洛奇音乐…...
17. 机器学习——SVM
机器学习面试题汇总与解析——SVM 本章讲解知识点 什么是 SVMSVM 的基本原理线性不可分 SVM非线性 SVMSVM 优缺点本专栏适合于Python已经入门的学生或人士,有一定的编程基础。 本专栏适合于算法工程师、机器学习、图像处理求职的学生或人士。 本专栏针对面试题答案进行了优化…...
算法导论笔记5:贪心算法
P216 第15章动态规划 最优子结构 具有它可能意味着适合应用贪心策略 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。 剪切-粘贴技术证明 每个子问题的解就是它本身的最优解(利用反证法࿰…...
Vue的高级表格组件库【vxe-table】
文章目录 前言vxe-table官网实现表头拖拽树形表格全键盘操作后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:前端系列文章 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板…...
从0到0.01入门React | 002.精选 React 面试题
🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…...
假冒 Skype 应用程序网络钓鱼分析
参考链接: https://slowmist.medium.com/fake-skype-app-phishing-analysis-35c1dc8bc515 背景 在Web3世界中,涉及假冒应用程序的网络钓鱼事件相当频繁。慢雾安全团队此前曾发表过分析此类网络钓鱼案例的文章。由于Google Play在中国无法访问,许多用户…...
软件外包开发的需求表达方法
软件开发需求的有效表达对于项目的成功至关重要。无论选择哪种需求表达方法,清晰、详细、易于理解是关键。与开发团队建立良好的沟通渠道,确保他们对需求有充分的理解,并随着项目的推进及时调整和更新需求文档。以下是一些常用的需求表达方法…...
详解JS的四种异步解决方案:回调函数、Promise、Generator、async/await
同步&异步的概念 在讲这四种异步方案之前,我们先来明确一下同步和异步的概念: 所谓同步(synchronization),简单来说,就是顺序执行,指的是同一时间只能做一件事情,只有目前正在执行的事情做完之后&am…...
Python进行多线程爬取数据通用模板
首先,我们需要导入所需的库,包括requests和BeautifulSoup。requests库用于发送HTTP请求,BeautifulSoup库用于解析HTML文档。 import requests from bs4 import BeautifulSoup然后,我们需要定义一个函数来发送HTTP请求并返回响应。…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
C++中string流知识详解和示例
一、概览与类体系 C 提供三种基于内存字符串的流,定义在 <sstream> 中: std::istringstream:输入流,从已有字符串中读取并解析。std::ostringstream:输出流,向内部缓冲区写入内容,最终取…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
Java多线程实现之Thread类深度解析
Java多线程实现之Thread类深度解析 一、多线程基础概念1.1 什么是线程1.2 多线程的优势1.3 Java多线程模型 二、Thread类的基本结构与构造函数2.1 Thread类的继承关系2.2 构造函数 三、创建和启动线程3.1 继承Thread类创建线程3.2 实现Runnable接口创建线程 四、Thread类的核心…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...














