MySQL —— 表操作
创始人
2024-05-17 00:02:49
0

目录

一、创建表

二、创建表的案例

三、查看表的结构

四、修改表

五、删除表


一、创建表

语法: 

CREATE TABLE [IF NOT EXISTS] table_name(field1 datatype1 [COMMENT '注释信息'],field2 datatype2 [COMMENT '注释信息'],field3 datatype3  [COMMENT '注释信息']
)[CHARSET=charset_name] [COLLATE=collation_name] [ENGINE=engine_name];
----------------------------------------------------------------------
create table [if not exists] table_name(field1 datatype1 [comment '注释信息'],field2 datatype2 [comment '注释信息'],field3 datatype3  [comment '注释信息']
)[charset=charset_name] [collate=collation_name] [engine=engine_name];

说明:

  • SQL中大写的表示关键字,[ ]中代表的是可选项。(这里我给出小写,方便理解和查看)
  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

使用 show engines;可以查看当前MySQL所使用的存储引擎。 

        我当前的MySQL默认使用的是InnoDB存储引擎,如果我建表时没有指定使用哪种存储引擎,那么就会默认使用InnoDB存储引擎。 

二、创建表的案例

在创建表之前需要先选中一个数据库,然后在数据库中创建表,这里我们先创建一个数据库。如下:

数据库创建完毕后选中数据库,在该数据库中创建一个users表,并在建表时指定采用MyISAM存储引擎。如下:

users表创建完毕后在数据库的数据存储路径下的mlg_db目录中,就会对应增加三个文件。如下:

说明:不同的存储引擎,创建表的文件不一样。(db.opt中的内容是字符集和校验规则)

  • users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
  • users.frm:  表结构
  • users.MYD:表数据
  • users.MYI:  表索引

三、查看表的结构

desc 表名;

说明一下:

  • Field --- 表示该字段的名字。
  • Type --- 表示该字段的类型。
  • Null --- 表示该字段是否允许为空。
  • Key --- 表示索引类型,比如主键索引为PRI。
  • Default --- 表示该字段的默认值。
  • Extra --- 表示该字段的额外信息说明

如果想要查看创建表时的相关细节,可以使用 show create table 表名;如下:

四、修改表

修改表的SQL如下: 

ALTER TABLE table_name ADD 新增列名 新增列的属性;ALTER TABLE table_name MODIFY 列名 修改后的列属性;ALTER TABLE table_name DROP 列名;ALTER TABLE table_name RENAME [TO] 新表名;ALTER TABLE table_name CHANGE 列名 新列名 新列属性;
-------------------------------------------------
alter table table_name add 新增列名 新增列的属性;
alter table table_name modify 列名 修改后的列属性;
alter table table_name drop 列名;
alter table table_name rename [TO] 新表名;
alter table table_name change 列名 新列名 新列属性;

我们在修改表之前先在user表中插入两条数据。如下:

新增一列:

在users表添加一个字段,用于保存图片路径  

其中,after表示你想要放到那一列的后面;

可以看到在新增列之前插入表中的两条记录对应的path值为NULL,因此新增列后可能还需要对原来插入的记录进行修改。(所以建议在创建表的时候就一定要创建好)

修改列类型: 

将users表中name列的类型由varchar(16)改成varchar(20)。如下: 

如果需要修改列类型后仍然保留comment字段,需要在修改时重新指定comment字段。

修改列名:

将users表中name列的列名改成NAME。如下: 

修改表名:

这里修改表名还可以这样子写: alter table users rename to user;(to可以省略)

删除列:

 将user表中的path列删除。如下:

删除列后,该列对应的所有数据都没有了。

五、删除表

DROP [TEMPORARY] TABLE [IF EXISTS] table_name;
----------------------------------------------
drop [temporary] table [if exists] table_name;
--temporary关键字,这个暂时不关心

 

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
修复 爱普生 EPSON L4... L4151 L4153 L4156 L4158 L4163 L4165 L4166 L4168 L4...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...