首页 > 数据库 >MySQL表的操作

MySQL表的操作

时间:2024-10-14 17:53:06浏览次数:8  
标签:name MySQL col tbl 表名 操作 table alter

前面我们学习了库的操作,之后学习了MySQL中的数据类型,有了这些数据类型,我们就可以来进行表的相关操作了

1. 查看所有表

show tables;

在查看表之前,我们要先选择库

在这里插入图片描述

在选择了库之后,查看

在这里插入图片描述

2. 创建表

2.1 语法

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(
 field datatype [约束] [comment '注解内容']
 [, field datatype [约束] [comment '注解内容']] ...
 ) [engine 存储引擎] [character set 字符集][collate 排序规则];
  • TEMPORARY:表⽰创建的是⼀个临时表
  • field:列名
  • datatype:数据类型
  • comment:对列的描述或说明
  • engine:存储引擎,不指定则使⽤默认存储引擎
  • characterset:字符集,不指定则使⽤默认字符集
  • collate:排序规则,不指定则使⽤默认排序规则

在这里插入图片描述

2.2 示例

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

create table users(
id bigint, 
`name` varchar(10) comment '用户名',
password char(32) comment '密码',
birthday date comment '生日') character set utf8mb4 collate utf8mb4_0900_ai_ci;

在这里插入图片描述

2.3 表在磁盘上对应的⽂件

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

在这里插入图片描述

2.4 创建数据加时使⽤校验语句[ifnotexists]

3. 查看表结构

3.1 语法

desc 表名;

在这里插入图片描述

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

4. 修改表

4.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:删除表中现有的列
  • RENAMECOLUMN:重命名表中现有的列
  • RENAME[TO|AS]new_tbl_name:重命名当前的表

4.2 示例

4.2.1 向表中添加⼀列

在第一行添加一行:

alter table 表名 add 新添加的字段 first;

在这里插入图片描述

指定位置添加一行:

alter table 表名 add 先=新添加的字段 after 已存在字段;

在这里插入图片描述

4.2.2 修改某列的⻓度
alter table 表名 modify 要修改的字段;

在这里插入图片描述

4.2.3 重命名某列
alter table 表名 rename column 原有字段名字 to 新字段名;

在这里插入图片描述

4.2.4 删除某个字段
alter table 表名 drop 要删除的字段;

在这里插入图片描述

4.2.5 修改表名
alter table 旧表名 rename to 新表名;

在这里插入图片描述

5. 删除表

5.1 语法

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

在这里插入图片描述

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

5.2 注意事项

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

标签:name,MySQL,col,tbl,表名,操作,table,alter
From: https://blog.csdn.net/2302_81707171/article/details/142921503

相关文章

  • Docker 使用Mysql 部署Baget
    一、建立配置文件1.新建文件夹mkdir/panel/docker/baget-data/packages2.新建配置文件mk/panel/docker/baget-data/baget.envApiKey=APISSSSSStorage__Type=FileSystemStorage__Path=/panel/docker/baget-data/packagesDatabase__Type=MySqlDatabase__ConnectionS......
  • 欧拉openEuler、Linux系统-(9) 文件操作命令集
    (请关注,本文将不断更新...,添加实用技巧和操作实例)在Linux系统中,熟练掌握各种文件操作命令是非常重要的。下面为大家详细介绍50个Linux系统中常用的文件操作命令。一、文件查看类命令1.lsls命令用于列出目录内容。用法:ls[选项][目录或文件]选项解释:-l:以长格式显示......
  • [笔记] 使用注解切面(AOP)实现操作日志和数据日志记录
    前言只是一个笔记,肯定有不足的地方,麻烦指出来一起进步.因为是多模块的内部项目,所以不会有高并发.所以是在一个线程内进行的一.枚举操作状态/***操作状态*/publicenumBusinessStatus{/***成功*/SUCCESS,/***失败*......
  • django异步情况下执行orm操作
    importasynciofromchannels.dbimportdatabase_sync_to_asyncfrom.modelsimportConversationclassLlmConsumer(AsyncWebsocketConsumer):def__init__(self,*args,**kwargs):super().__init__(args,kwargs)self.chat_id=None......
  • 一文为你解读MySQL8.0 Instant DDL源码实现
    一、背景介绍数据库中每一行数据都被持久化存储在磁盘中。当我们对表进行ADD/DROPCOLUMN操作时,磁盘中的数据也会相应地被修改,所需时间与对应表的大小成正比。因此,对大表进行ADD/DROPCOLUMN操作时,花费的时间可能长达数小时或数天,这给用户的业务带来了诸多不便。MySQL5.5版本......
  • python3.6 解析svg保存到mysql
     1importjson2fromcollectionsimportCounter3fromjsonimportJSONDecodeError45importmysql6importrequests7fromlxmlimportetree89#定义远程SVG文件的URL10file=r'D:\tmp_files\jmx\0919_3568.txt'11dat......
  • MySQL Workbench的安装
    MySQLWorkbench是一款由MySQL官方开发和提供的统一可视化工具,专为数据库管理员、开发者和数据架构师设计。它提供了数据建模、SQL开发和数据库管理的全面功能,支持Windows、Linux和macOS操作系统。MySQLWorkbench是一个强大的工具,它通过图形界面简化了许多复杂的数据......
  • 基于Java+Jsp+Ssm+Mysql实现的在线乡村风景美食景点旅游平台功能设计与实现一
    一、前言介绍:1.1项目摘要乡村风景美食旅游平台的课题背景主要基于我国旅游产业的现状与发展需求。当前,我国旅游产业虽然发展迅速,但仍然存在基础薄弱、管理手段滞后、信息化程度低等问题。旅游行政管理部门的管理方式相对落后,缺乏有效的信息化管理手段,信息沟通渠道不畅,这......
  • 基于Java+Jsp+Ssm+Mysql实现的在线乡村风景美食景点旅游平台功能设计与实现二
    一、前言介绍:1.1项目摘要乡村风景美食旅游平台的课题背景主要基于我国旅游产业的现状与发展需求。当前,我国旅游产业虽然发展迅速,但仍然存在基础薄弱、管理手段滞后、信息化程度低等问题。旅游行政管理部门的管理方式相对落后,缺乏有效的信息化管理手段,信息沟通渠道不畅,这......
  • mysql8: 主从复制从库报错时,找到主库上的sql
    一,从库机器上:从库mysql日志中的报错信息给出了日志文件名和end_log_pos2024-10-12T09:41:23.761203Z414[ERROR][MY-013146][Repl]ReplicaSQLforchannel'':Worker1failedexecutingtransaction'ANONYMOUS'atsourcelogmysql-master-bin.000002,end_log_pos......