[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请求并返回响应。…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
uniapp 字符包含的相关方法
在uniapp中,如果你想检查一个字符串是否包含另一个子字符串,你可以使用JavaScript中的includes()方法或者indexOf()方法。这两种方法都可以达到目的,但它们在处理方式和返回值上有所不同。 使用includes()方法 includes()方法用于判断一个字…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官
。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量:setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...

算法—栈系列
一:删除字符串中的所有相邻重复项 class Solution { public:string removeDuplicates(string s) {stack<char> st;for(int i 0; i < s.size(); i){char target s[i];if(!st.empty() && target st.top())st.pop();elsest.push(s[i]);}string ret…...