【MySQL】表的操作

打印 上一主题 下一主题

主题 833|帖子 833|积分 2499

目录
一、增加表
二、查看表
2.1 查看当前数据库中的表
2.2 查看指定表的结构
2.3 查看创建表时的具体信息
2.4 查看表中所有数据
三、修改表
3.1 修改表名
3.2 插入数据
3.3 添加列
3.4 修改列类型
3.5 删除列
3.6 修改列名
四、删除表

一、增加表

增加表的语法:
  1. create table [if not exists] 表名(
  2.     列名1 类型 [comment 文字说明],
  3.     列名2 类型 [comment 文字说明],
  4.     列名3 类型 [comment 文字说明]
  5. ) [character set 字符集] [collate 校验规则] [engine 存储引擎];
复制代码
其中:


  • 方括号内为可选项
  • 类型为该列所存储元素的类型
  • comment后可接对该列的文字说明
  • 若建表时不指定字符集、校验规则和存储引擎,则使用默认方案 
比方:

何为存储引擎?我在【MySQL】数据库基础-CSDN博客 中有简单介绍过
上一篇文章提到,数据库在对应路径下表现为目录的形式,而表结构就是目录下的文件
不同的存储引擎,在创建表时天生的文件也不一样。刚才创建的表结构使用MyIsam引擎,我们看看它的表文件是什么样子的

其中,frm后缀文件为表结构,MYD后缀文件为表数据,MYI后缀文件为表索引
接下来我们换成InnoDB引擎,再创建一张除了存储引擎之外齐备相同的表

创建表成功后,我们观察目录下的表文件

可以看到使用MyIsam引擎的user1表有三个表文件,而使用InnoDB引擎的user2表只有两个
这是因为MyIsam引擎和InnoDB引擎的存储方案不同,MyIsam将数据和索引分开存放,而InnoDB将数据和索引一起存放在ibd后缀文件中


二、查看表

2.1 查看当前数据库中的表

语法:
  1. show tables;
复制代码
比方: 


2.2 查看指定表的结构

语法:
  1. desc 表名;
复制代码
比方: 

其中:


  • Field为字段名
  • Type为字段类型
  • Null为是否允许为空
  • Default为默认值

2.3 查看创建表时的具体信息

语法: 
  1. show create table 表名 \G
复制代码
比方:


2.4 查看表中所有数据

语法:
  1. select * from 表名;
复制代码
比方: 

关于更多的select语句会在后续文章中讲到


三、修改表

3.1 修改表名

语法:
  1. alter table 原表名 rename to 新表名;
复制代码


3.2 插入数据

语法:
  1. insert into 表名 values (数据)
复制代码
比方:

结果:


3.3 添加列

语法:
  1. alter table 表名 add 列名 类型 [comment 说明] after 添加位置之前的列名
复制代码
比方:

可以看到添加新列后不会影响原数据
如果要添加多列,则在add后需要用括号将多个列名和类型包括起来,比方:

结果:


3.4 修改列类型

语法:
  1. alter table 表名 modify 列名 新类型;
复制代码
比方:


3.5 删除列

语法:
  1. alter table 表名 drop 列名;
复制代码
比方:

需要留意,删除某一列后对应的列数据会全部丢失

3.6 修改列名

语法:
  1. alter table 表名 change 原列名 新列名 类型;
复制代码
比方:



四、删除表

语法:
  1. drop table [if exists] 表名;
复制代码
比方:

完.

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

老婆出轨

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表