【MySQL】-- 表的操作

文章目录

  • 1. 查看所有表
    • 1.1 语法
  • 2. 创建表
    • 2.1 语法
    • 2.2 示例
    • 2.3 表在磁盘上对应的文件
  • 3. 查看表结构
    • 3.1 语法
    • 3.2 示例
  • 4. 查看创建表的语句
  • 5. 修改表
    • 5.1 语法
    • 5.2 示例
      • 5.2.1 向表中添加一列
      • 5.2.2 修改某列的长度
      • 5.2.3 重命名某列
      • 5.2.4 删除某个字段
      • 5.2.5 修改表名
  • 6. 删除表
    • 6.1 语法
    • 6.2 示例
    • 6.3 注意事项

1. 查看所有表


1.1 语法

1 show tables;

2. 创建表


2.1 语法

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_namefield datatype [约束] [comment '注解内容'][, field datatype [约束] [comment '注解内容']] ...
) [engine 存储引擎] [character set 字符集] [collate 排序规则];

• TEMPORARY: 表⽰创建的是⼀个临时表
• field:列名
• datatype:数据类型
• comment:对列的描述或说明
• engine:存储引擎,不指定则使⽤默认存储引擎
• character set:字符集,不指定则使⽤默认字符集
• collate:排序规则,不指定则使⽤默认排序规则
在这里插入图片描述

2.2 示例

  • 创建⼀个⽤⼾表,其中包含⽤⼾编号、⽤⼾名、密码、⽣⽇,并指定字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci,表名是user

在这里插入图片描述

  • 创建⼀个表并指定存储引擎为MyISAM

在这里插入图片描述

2.3 表在磁盘上对应的文件

• 创建⼀个存储引擎为 InnoDB 的表时,会在对应的数据库⽬录下⽣成⼀个⽤来存储真实数据的物理⽂件,命名格式为 表名.ibd ,以当前为例会在 java01 ⽬录下⽣成⼀个 users.ibd 的数据⽂件。
• 创建⼀个存储引擎为 MyISAM 的表时,会在对应的数据库⽬录下分别⽣成三个以不同后缀名结尾的⽂件,分别是 表名.MYD ( MYData )的数据⽂件, 表名.MYI ( MYIndex ) 的索引⽂件,以表名.sdi 的表信息描述⽂件(JSON格式)。
在这里插入图片描述

3. 查看表结构


3.1 语法

desc 表名;

3.2 示例

mysql> desc users;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.02 sec)

• Field:表中的列名
• Type:列的数据类型
• Null:该列的值是否允许为Null
• Key:该列的索引类型
• Default:该列的默认值
• Extra:扩展信息

4. 查看创建表的语句

在这里插入图片描述

5. 修改表


5.1 语法

ALTER TABLE tbl_name [alter_option [, alter_option] ...];
alter_option: {table_options| ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name] # 新增列| MODIFY [COLUMN] col_name column_definition [FIRST | AFTER col_name] # 修改列| DROP [COLUMN] col_name # 删除列| RENAME COLUMN old_col_name TO new_col_name # 重命名列| RENAME [TO | AS] new_tbl_name # 重命名表

• tbl_name:要修改的表名
• ADD:向表中添加列
• MODIFY:修改表中现有的列
• DROP:删除表中现有的列
• RENAME COLUMN:重命名表中现有的列
• RENAME [TO | AS] new_tbl_name:重命名当前的表

5.2 示例


5.2.1 向表中添加一列

# 执⾏SQL语句
mysql> alter table users ADD assets varchar(100) comment '头像地址' after
birthday;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 查看结果
mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| assets | varchar(100) | YES | | NULL | | # 添加列成功
+----------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

5.2.2 修改某列的长度

# 执⾏SQL语句
mysql> alter table users MODIFY assets varchar(255);
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 查看结果
mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| assets | varchar(255) | YES | | NULL | | # ⻓度修改成功
+----------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

5.2.3 重命名某列

# 执⾏SQL语句
mysql> alter table users RENAME COLUMN assets TO avatar;
Query OK, 0 rows affected (0.02 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 查看结果
mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| avatar | varchar(255) | YES | | NULL | | # 重命名成功
+----------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

5.2.4 删除某个字段

# 执⾏SQL语句
mysql> alter table users DROP avatar;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0
# 查看表结构,avatar列已被删除
mysql> desc users;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

5.2.5 修改表名

# 执⾏SQL语句
mysql> alter table users RENAME TO employee;
Query OK, 0 rows affected (0.01 sec)
# 查看所有表,users表已经不存在
mysql> show tables;
+------------------+
| Tables_in_java01 |
+------------------+
| employee |
| t_myisam |
+------------------+
2 rows in set (0.00 sec)
# 查看表结构,与之前的users表结构相同
mysql> desc employee;
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

也可以使⽤ RENAME TABLE old_table TO new_table; 为表重命名

6. 删除表


6.1 语法

1 DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

TEMPORARY:表⽰临时表
tbl_name:将要删除的表名

6.2 示例

# 删除employee表
mysql> drop table employee;
Query OK, 0 rows affected (0.02 sec)
# 删除t_myisam表
mysql> drop table t_myisam;
Query OK, 0 rows affected (0.01 sec)
# 查看所有表
mysql> show tables;
Empty set (0.00 sec)

6.3 注意事项

• 删除表是⼀个危险操作,执⾏删除语句时⼀定要谨慎
• 删除表成功后,磁盘上对应的数据⽂件也会被删除
• ⼀次可以删除多个表,表与表之间⽤逗号隔开

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1557388.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

不入耳开放式耳机哪个品牌好?开放式耳机排行榜10强推荐!

不入耳开放式耳机哪个品牌好?开放式耳机排行榜10强推荐! 随着开放式耳机的日益流行,市场上的选择愈发多样,这有时会让消费者在挑选时感到迷茫,不知道哪个牌子的开放式耳机最好。为解决这一困扰,我精心筛选…

社区圈子系统 圈子社区系统 兴趣社区圈子论坛系统 圈子系统源码圈子系统的适用领域有哪些?如何打造自己的圈子圈子系统有哪些常见问题

社区圈子系统 圈子社区系统 兴趣社区圈子论坛系统 圈子系统源码圈子系统的适用领域有哪些?如何打造自己的圈子圈子系统有哪些常见问题 圈子系统的适用领域 圈子系统的适用领域广泛,涵盖了多个行业和场景,包括但不限于以下几个方面&#xff1…

Label Studio 半自动化标注

引言 Label Studio ML 后端是一个 SDK,用于包装您的机器学习代码并将其转换为 Web 服务器。Web 服务器可以连接到正在运行的 Label Studio 实例,以自动执行标记任务。我们提供了一个示例模型库,您可以在自己的工作流程中使用这些模型,也可以根据需要进行扩展和自定义。 1…

springboot邮件群发功能的开发与优化策略?

springboot邮件配置指南?如何实现spring邮件功能? SpringBoot框架因其简洁、高效的特点,成为了开发邮件群发功能的理想选择。AokSend将深入探讨SpringBoot邮件群发功能的开发过程,并提出一系列优化策略,以确保邮件发送…

常见的图像处理算法:均值滤波----mean filter

一、什么是均值滤波 均值滤波器是一种常见的图像滤波器,是典型的线性滤波算法。其基本原理是用一个给定的窗口覆盖图像中的每一个像素点,将窗口内的像素值求平均值,然后用这个平均值代替原来的像素值。均值滤波器可以去除噪声、平滑图像、减少…

代码随想录算法训练营Day28 | 39. 组合总和、40.组合总和Ⅱ、131.分割回文串

目录 39. 组合总和 40.组合总和Ⅱ 131.分割回文串 39. 组合总和 题目 39. 组合总和 - 力扣(LeetCode) 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不…

路径规划关于地图的整理

路径规划离不开地图,其中真实地图,栅格地图和RVIZ之间Grid显示之间很混乱,还有各个原点位置显示,不弄清发现map在rviz里显示老是偏的,专门学习记录一下。 RVIZ里Grid的全局坐标系原点,在默认在栅格中间&am…

软考学习笔记

学习资料: 数据库关系模式的范式总结_关系模式范式-CSDN博客 【范式】五大范式所解决的问题及说明_天空_新浪博客 (sina.com.cn) 求函数依赖: 根据函数依赖求候选码_证明存在部分依赖属于候选码-CSDN博客 关系范式: 1NF:若关…

xss-labs靶场第二关测试报告

目录 一、测试环境 1、系统环境 2、使用工具/软件 二、测试目的 三、操作过程 1、注入点寻找 2、使用hackbar进行payload测试 3、绕过结果 四、源代码分析 五、结论 一、测试环境 1、系统环境 渗透机:本机(127.0.0.1) 靶 机:本机(127.0.0.…

刷题 二叉树

面试经典 150 题 - 二叉树 104. 二叉树的最大深度 广度优先遍历 class Solution { public:// 广度优先遍历int maxDepth(TreeNode* root) {if (root nullptr) return 0;queue<TreeNode*> que;que.push(root);int result 0;while (!que.empty()) {result;int num que…

看《米小圈动画汉字》轻松掌握汉字的起源、演变和应用!

在这个充满探索与发现的年纪&#xff0c;孩子刚刚从幼儿园的温暖怀抱中走出&#xff0c;踏入了小学的大门。对于每一个小学生而言&#xff0c;这不仅是一个新环境的适应&#xff0c;更是知识大门的开启。汉字&#xff0c;这一古老而美丽的文字&#xff0c;承载着丰富的文化与历…

【JAVA基础】集合类之Hash的原理及应用

近期几期内容都是围绕该体系进行知识讲解&#xff0c;以便于同学们学习Java集合篇知识能够系统化而不零散。 本文将介绍HashSet的基本概念&#xff0c;功能特点&#xff0c;使用方法&#xff0c;以及优缺点分析和应用场景案例。 一、概念 HashSet是 Java 集合框架中的一个重…

思科防火墙:ASA中Object-group在ACL中的应用

一、实验拓扑&#xff1a; 二、实验要求&#xff1a; 先定义几个小的&#xff0c;然后用大的包在一起&#xff1b;打包在一起&#xff0c;这就是所谓的嵌套&#xff0c;嵌套在编程里是很长用的东西&#xff0c;叫做Object-group&#xff1b; Object-group比较强大&#xff0c;可…

【JAVA开源】基于Vue和SpringBoot的师生共评作业管理系统

本文项目编号 T 071 &#xff0c;文末自助获取源码 \color{red}{T071&#xff0c;文末自助获取源码} T071&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析 六、核心代码6.1 查…

学习threejs,模拟窗户光源

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言二、&#x1f340;绘制任意字体模型…

性能测试度量指标的多种收集环境

目录 一、技术环境 二、业务环境 三、操作环境 在用卷尺测量某一物体的长度时&#xff0c;长度就是该场景下的度量指标&#xff0c;我们可以用分米、米或者更精确的厘米甚至毫米来描述这个长度&#xff0c;具体取决于使用场景。 与其他形式的测量一样&#xff0c;对性能进行…

双十一购物狂欢节开始,盘点有哪些值得购买的母婴好物

随着双十一全球购物狂欢节的脚步日益临近&#xff0c;各大电商平台正紧锣密鼓地筹备一系列引人瞩目的促销活动。这一时刻不仅是全民欢腾的消费庆典&#xff0c;更是年轻父母为家庭添置高品质母婴用品的理想契机。对于追求生活品质的家庭而言&#xff0c;挑选既安全又具成本效益…

01移动零

题目链接 代码&#xff1a; class Solution {public void moveZeroes(int[] nums) {for(int cur0,dest-1;cur<nums.length;cur) {//判断nums(cur)是否为0if(nums[cur]!0) {dest;swap(cur,dest,nums);//进行交换}}}public void swap(int cur,int dest,int []array) {int te…

【2024最新】基于springboot+vue的交流互动系统lw+ppt

作者&#xff1a;计算机搬砖家 开发技术&#xff1a;SpringBoot、php、Python、小程序、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;Java精选实战项…

计算机网络-------重传、TCP流量控制、拥塞控制

重传、滑动窗口、流量控制、拥塞避免 重传机制 超时重传 发送方在发送数据时会启动一个定时器&#xff0c;当超过指定的时间之后&#xff0c;还没接收到接收方的ACK确认应答报文&#xff0c;就会重传该数据 快重传 当发送方收到接收方三个连续的ack之后说明发送方发送的报…