MYSQL学习笔记(九):MYSQL表的“增删改查”
前言:
- 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇+,涵盖入门、进阶、高级(一些原理分析);
- 这一篇讲述一些在MYSQL的数据类型,和表的“增删改查”基本操作;
- 虽然MYSQL命令很多,但是自己去多敲一点,到后面忘记了,查一下就可以回忆起来使用了;
- 这一系列也是本人学习MYSQL做的笔记,也是为了方便后面忘记查询;
- 参考资料:尚硅谷、黑马、csdn和知乎博客;
- 欢迎收藏 + 关注,本人将会持续更新。
文章目录
- 创建和管理表
- 1. 基础知识
- 1.1 表的基本概念
- 1.2 标识符命名规范
- 1.3 MySQL中的数据类型
- 2. 创建和管理数据库
- 2.1 创建数据库
- 2.2 使用数据库
- 2.3 修改数据库
- 2.4 删除数据库
- 3.创建表
- 3.1 创建方式1
- 3.2 创建方式2
- 3.3 查看表结构
- 4. 修改表
- 4.1 修改数据表
- 4.1.1 修改表名
- 4.1.2 修改字符集
- 4.2 增加字段
- 4.2.1 在最后添加字段
- 4.2.2 在第一个位置添加字段
- 4.2.3 在指定位置添加字段
- 4.3 删除字段
- 4.4 修改字段
- 4.4.1 修改字段的数据类型
- 4.4.2 修改字段名
- 4.4.3 修改字段的顺序
- 5. 删除表
创建和管理表
1. 基础知识
1.1 表的基本概念
在MySQL数据库中,表是一种很重要的数据库对象,是组成数据库的基本元素,由若干个字段组成,主要用来实现存储数据记录。
表是包含数据库中所有数据的数据库对象。数据在表中的组织方式与在电子表格中相似,都是按行和列的格式组织的,其特点:
- 每一行代表一条唯一的记录;
- 每一列代表记录中的一个字段。
表的基本操作包含创建表、查看表、删除表和修改表,也就是我们常说的:“增删改查”。
1.2 标识符命名规范
- 数据库名、表名不得超过30个字符,变量名限制为29个
- 只能包含大写、小写、数字字符以及下划线
- 同一个MySQL软件中,数据库不能同名;同一个库中,表不能重名;同一个表中,字段不能重名
- 不能和保留字、函数名冲突。
1.3 MySQL中的数据类型
| 类型 | 具体类型 |
|---|---|
| 整数类型 | TINYINT、SMALLINT、MEDIUMINT、INT(或INTEGER)、BIGINT |
| 浮点类型 | FLOAT、DOUBLE |
| 定点数类型 | DECIMAL |
| 位类型 | BIT |
| 日期时间类型 | YEAR、TIME、DATE、DATETIME、TIMESTAMP |
| 文本字符串类型 | CHAR、VARCHAR、TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT |
| 枚举类型 | ENUM |
| 集合类型 | SET |
| 二进制字符串类型 | BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB |
| json类型 | JSON对象、JSON数组 |
| 空间数据类型 | 单值:GEOMETRY、POINT、LINESTRING、POLYGON 集合:MULTPOINT、MULTILINESTRING、MULTIPOLGON、GEOMTRYCOLLECTION |
其中,常用的几类类型介绍如下:
| 类型 | 描述 |
|---|---|
| INT | 4个字节 |
| CHAR(size) | 定长字符数据,若未指定,默认为一个字符,最大长度255 |
| VARCHAR(size) | 可变字符数据,更具字符串实际长度保存,必须指定长度 |
| FLOAT(M,D) | 单精度,4个字节。M=整数位+小数位,D=小数位(D<=M<=255,0<=D<=30),默认M+D<=6 |
| DOUBLE(M,D) | 双精度,8个字节。D<=M<=255,0<=D<=30,默认M+D<=15 |
| DECIMAL(M,D) | 高精度,M+2个字节。D<=M<=65,0<=D<=30,默认最大取值范围和DOUBLE一样 |
| DATE | 日期类型,格式‘YYY-MM-DD’ |
| BLOD | 二进制心事的长文本数据,最大可达4G |
| TEXT | 长文本数据,最大可达4G |
2. 创建和管理数据库
2.1 创建数据库
-
方式1:创建数据库
CREATE DATABASE 数据库名; -
方式2:创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET "uft8"; -
方式3:判断数据库是否已经存在,不存在则创建(推荐)
CREATE DATABASE IF NOT EXISTS 数据库名;注意:数据库不能改名。一些可视化工具可以改名,它是创建新库,然后把所有表复制到新库,再把旧库删掉完成的。
数据库创建完成之后,可以通过SHOW CREATE DATABASE 数据库名;,查看创建的数据库。
2.2 使用数据库
- 查看当前连接中有哪些数据库
SHOW DATABASES;
- 切换数据库
在多个数据库之间切换
USE 数据库名;
- 查看当前使用的数据库
SHOW DATABASE();
- 查看指定数据库所有表
SHOW TABLES FROM 数据库名;
2.3 修改数据库
修改数据库字符集
ALTER DATABASE 数据库名 CHARACTER SET 字符集; #比如 gbk、utf8
#查看默认字符集
SHOW VARIABLES LIKE '%character%';
#查看所有字符集
SHOW CHARSET;
2.4 删除数据库
-
直接删除
DROP DATABASE 数据库名; -
如果数据库存在则删除,否则报一个警告(不会报错)
DROP DATABASE IF EXISTS 数据库名;
3.创建表
在 MySQL数据库管理系统中创建表通过SQL语句CREATE TABLE 来实现
3.1 创建方式1
自己指定字段和数据类型
语法:
CREATE TABLE [IF NOT EXISTS] 表名(字段名 数据类型,字段名 数据类型,...字段名 数据类型,
);
范例:
CREATE TABLE myemp
(id INT COMMENT '员工编号',ename VARCHAR(20) COMMENT '员工名称',deptno INT COMMENT '所在部门编号',sal INT COMMENT '工资'
);
3.2 创建方式2
基于现有表创建新表
-
基于现有表创建新表,同时导入数据
#单个表 CREATE TABLE myemp1 AS SELECT empno,ename,sal FROM emp;#多个表 CREATE TABLE myemp2 AS SELECT e.empno,e.ename,e.sal,d.dname FROM emp e JOIN dept d ON e.deptno=d.deptno; -
基于现有表创建新表,只复制表结构,不导入数据
CREATE TABLE myemp3 AS SELECT empno,ename,sal FROM emp WHERE 1 = 2; # 1 != 2, 这样的意思结果就是:查询到空表
3.3 查看表结构
创建完表,如果需要查看一下表的结构,可以通过执行SQL语句 DESCRIBE来实现,其语法形式如下:
DESC/DESCRIBE table_name;
DESC为DESCRIBE的简写形式,更为方便。
还有一种更详细查看表结构的语句:
SHOW CREATE TABLE table_name;
4. 修改表
修改数据表的前提是数据库中已经存在该表.
修改表指的是修改数据库中已经存在的数据表的结构。
4.1 修改数据表
4.1.1 修改表名
**方法一:**通过 ALTER TABLE 语句来修改表名,语法规则如下:
ALTER TABLE <旧表名> RENAME [TO] <新表名>;
其中,TO 为可选参数,使用与否均不影响结果。
范例:
ALTER TABLE myemp RENAME memp;
#结合 修改数据库
ALTER DATABASE my CHARACTER SET "utf8";
注意:只能修改单表名。
**方法二:**通过 RENAME TABLE 语句来修改表名,语法规则如下
#注意别忘了 table
RENAME TABLE <旧表名> TO <新表名>[,旧表名2 TO 新表名2]
范例:
RENAME memp TO myemp,myemp1 TO memp1;
注意:可以同时修改多个表的表名。
4.1.2 修改字符集
通过 ALTER TABLE 语句来实现表字符集的修改,语法规则如下:
ALTER TABLE <表名> [DEFAULT] CHARACTER SET <字符集名> [DEFAULT] COLLATE <校对规则名>;
其中,DEFAULT 为可选参数,使用与否均不影响结果。
ALTER TABLE myemp CHARACTER SET gb2312;
4.2 增加字段
对于表,可以看成是由列和行来构成的,其中“列”经常被称为字段。
4.2.1 在最后添加字段
在创建表之后如果要增加一列,需要使用下面的语句。
ALTER TABLE table_name ADD 字段名 数据类型;
范例:
ALTER TABLE myemp ADD job VARCHAR(10);
4.2.2 在第一个位置添加字段
ALTER TABLE table_name ADD 字段名 数据类型 FIRST;
4.2.3 在指定位置添加字段
把字段1 添加到字段2之后
ALTER TABLE table_name ADD 字段名1 数据类型 AFTER 字段名2;
4.3 删除字段
ALTER TABLE table_name DROP 字段名;
4.4 修改字段
4.4.1 修改字段的数据类型
ALTER TABLE table_name MODIFY 字段名 数据类型;
4.4.2 修改字段名
ALTER TABLE table_name CHANGE 旧字段名 新字段名 数据类型;
如果数据类型和原来的数据类型一样,则只会修改字段名,如果数据类型不同,则同时会修改数据类型。
4.4.3 修改字段的顺序
ALTER TABLE table_name MODIFY 字段名 数据类型 FIRST;
ALTER TABLE table_name MODIFY 字段名1 数据类型 AFTER 字段名2;
- 第一个语句:把字段移动到第一个
- 第二个语句:把字段1 移动到字段2之后
5. 删除表
DROP TABLE [IF EXISTS] table_name[,表1,表2...];
相关文章:
MYSQL学习笔记(九):MYSQL表的“增删改查”
前言: 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇,涵盖入门、进阶、高级(一些原理分析);这一篇讲述一些在MYSQL的数据类型,和表的“增删改查”基本操作;虽然MYSQ…...
Oracle JDK、Open JDK zulu下载地址
一、Oracle JDK https://www.oracle.com/java/technologies/downloads/ 刚进去是最新的版本,往下滑可以看到老版本 二、Open JDK的 Azul Zulu https://www.azul.com/downloads/ 直接可以选版本等选项卡...
分类解析决策模型
一、按理性程度划分的决策模型 1. 完全理性模型(古典决策理论) 核心假设:决策者拥有完全信息,能计算所有选项的效用并选择最优解。数学模型: 期望效用理论(Expected Utility Theory, EU): E U = ∑ ( p i...
【SPIE出版,见刊快速,EI检索稳定,浙江水利水电学院主办】2025年物理学与量子计算国际学术会议(ICPQC 2025)
2025年物理学与量子计算国际学术会议(ICPQC 2025)将于2025年4月18-20日在中国杭州举行。本次会议旨在汇聚全球的研究人员、学者和业界专家,共同探讨物理学与量子计算领域的最新进展与前沿挑战。随着量子技术的快速发展,其在信息处…...
【网络】高级IO——Reactor版TCP服务器
1.什么是Reactor Reactor 是一种应用在服务器端的开发模式(也有说法称 Reactor 是一种 IO 模式),目的是提高服务端程序的并发能力 它要解决什么问题呢? 传统的 thread per connection 用法中,线程在真正处理请求之前首…...
3.Docker常用命令
1.Docker启动类命令 1.启动Docker systemctl start docker 2.停止Docker systemctl stop docker 3.重启Docker systemctl restart docker 4.查看Docker状态 systemctl status docker 5.设置开机自启(执行此命令后每次Linux重启后将自启动Docker) systemctl enable do…...
【uni-app】对齐胶囊容器组件
代码碎片 <template><div><view :style"{ height: ${statusBarHeight}px }"></view><viewclass"":style"{height: ${menuButtonHeight menuButtonPadding * 2}px,width: ${menuButtonInfo.left}px,}"><slot …...
JUC并发—10.锁优化与锁故障
大纲 1.标志位修改场景优先使用volatile(服务优雅停机) 2.数值递增场景优先使用Atomic类(心跳计数器) 3.共享变量仅对当前线程可见的场景优先使用ThreadLocal(edits log的处理) 4.读多写少需要加锁的场景优先使用读写锁(服务注册表的并发读写) 5.尽量减少线程对锁占用时间…...
Java 大视界 -- 区块链赋能 Java 大数据:数据可信与价值流转(84)
💖亲爱的朋友们,热烈欢迎来到 青云交的博客!能与诸位在此相逢,我倍感荣幸。在这飞速更迭的时代,我们都渴望一方心灵净土,而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识,也…...
大数据学习之PB级音乐数据中心数仓综合项目(1)-理论知识和项目需求、歌曲热度与歌手热度排行
一、理论知识和项目需求 1.课程介绍 2.数据库与ER建模_数据库三范式 3.数据库与ER建模_ER实体关系模型 4.数据库与维度建模_数据仓库(DATA WAREHOUSE) 5.数据库与维度建模_数据库与数据仓库区别 6.数据库与维度建模_数据仓库的发展历程 7.数据库与维度建模_维度建模 8.数据库与…...
DeepSeek vs ChatGPT:AI 领域的华山论剑,谁主沉浮?
一、引言 在当今科技飞速发展的时代,人工智能(AI)已然成为推动各领域变革的核心力量。而在人工智能的众多分支中,自然语言处理(NLP)因其与人类日常交流和信息处理的紧密联系,成为了最受瞩目的领…...
七星棋牌顶级运营产品全开源修复版源码教程:6端支持,200+子游戏玩法,完整搭建指南(含代码解析)
棋牌游戏一直是移动端游戏市场中极具竞争力和受欢迎的品类,而七星棋牌源码修复版无疑是当前行业内不可多得的高质量棋牌项目之一。该项目支持 6大省区版本(湖南、湖北、山西、江苏、贵州),拥有 200多种子游戏玩法,同时…...
本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术
今天给大家分享的是一位粉丝的提问,本2硕9电子科学专业,想走linux或是嵌入式,要具体学哪些技术 接下来把粉丝的具体提问和我的回复分享给大家,希望也能给一些类似情况的小伙伴一些启发和帮助。 同学提问: 你好&…...
从混沌到有序:一个数据血缘分析的进化故事
从混沌到有序:一个数据血缘分析的进化故事 从混沌到有序的数据治理之路数据血缘的建设方法和实践路径数据血缘的实践场景和未来趋势。 数据就像流淌在企业血管中的血液,它的每一次流动、每一次转化都留下独特的印记。 作为数据工程师,我曾困惑…...
从猜想终结到算法革新,弹性哈希开启数据存储新篇章
目录 哈希表的前世今生基本原理从传统到现代:哈希表的演变历程 安德鲁 克拉皮文及其团队的创作历程弹性哈希详解基本原理优点技术细节 漏斗哈希解析基本原理优点技术细节 新算法的实际应用案例电子商务推荐系统金融交易监控系统社交媒体内容过滤物联网设备管理 结论…...
先进制造aps专题三十 用免费生产排程软件isuperaps进行长期生产计划制定
isuperaps是生产排产软件,同时也可以用来制定长期生产计划 通过isuperaps制定长期生产计划,一个指导原则就是大bom, 单工序,大bom的意思是bom中只包含主要的半成品和原料,单工序的意思是半成品/产品生产以工厂或车间为基本生产单…...
实验-安装Proteus
Ver V0.0 250222:安装Proteus8.17SP4 说明 (1)如果有找到Proteus8.17最后版本SP5,再更新了; (2)8.17是8X最后一个大版本,后面是Proteus9。 内容 下载: 链接:https…...
最新版DeepSeek保姆级安装教程:本地部署+避坑指南
大家好,我是冰河~~ 本文旨在提供一个全面且详细的DeepSeek本地部署指南,帮助大家在自己的设备上成功运行DeepSeek模型。无论你是AI领域的初学者还是经验丰富的开发者,都能通过本文的指导,轻松完成DeepSeek的本地部署。 一、本地…...
【学习笔记】Cadence电子设计全流程(三)Capture CIS 原理图绘制(1-8)
【学习笔记】Cadence电子设计全流程(三)Capture CIS 原理图绘制(1) 3.1 原理图设计思路3.2 Cadence 原理图的新建3.3 在原理图中添加元器件3.4 元器件对齐3.5 原理图元器件信号联通(走线)3.6 OrCAD Capture…...
3damx 发动机活塞运动动画
使用HD解算器绑定:点(绑定的最终目标对象)→曲柄→活塞(子控父,反向解算) 点:绑定到轮子上的连接点...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
Springboot社区养老保险系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,社区养老保险系统小程序被用户普遍使用,为方…...
如何应对敏捷转型中的团队阻力
应对敏捷转型中的团队阻力需要明确沟通敏捷转型目的、提升团队参与感、提供充分的培训与支持、逐步推进敏捷实践、建立清晰的奖励和反馈机制。其中,明确沟通敏捷转型目的尤为关键,团队成员只有清晰理解转型背后的原因和利益,才能降低对变化的…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
es6+和css3新增的特性有哪些
一:ECMAScript 新特性(ES6) ES6 (2015) - 革命性更新 1,记住的方法,从一个方法里面用到了哪些技术 1,let /const块级作用域声明2,**默认参数**:函数参数可以设置默认值。3&#x…...
