MySQL表的操作

MySQL表的操作

1. 表的操作

1.1 创建表

语法:

mysql 复制代码
CREATE TABLE table_name (
    field1 datatype,
    field2 datatype,
    field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

1.2 创建表案例

mysql 复制代码
mysql> create table user1(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户的密码',
    -> birthday date comment '用户的生日'
    -> )character set utf8 collate utf8_general_ci engine MyIsam;
    
mysql> create table if not exists user2(
    -> id int,
    -> name varchar(20) comment '用户名',
    -> password char(32) comment '用户的密码',
    -> birthday date comment '用户的生日'
    -> )charset=utf8 collate=utf8_general_ci engine=InnoDB;

说明:

不同的存储引擎,创建表的文件不一样。

user1 表存储引擎是MyISAM ,在数据目中有三个不同的文件,分别是:

  • user1.frm:表结构
  • user1.MYD:表数据
  • user1.MYI:表索引

user2 表存储引擎是InnoDB ,在数据目中有两个不同的文件,分别是:

  • user2.frm:表结构
  • user2.ibd:表数据和索引

1.3 查看表结构

mysql 复制代码
desc 表名;
mysql 复制代码
show create table 表名;
# 查看表创建时的详细信息

1.4 修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。

  1. 修改表名

    mysql 复制代码
    alter table 旧名字 rename to 新名字
    # 其中to可以省略
  2. 插入数据

    mysql 复制代码
    insert into myuser values (1,'张三','abc123','2002-1-1');
    insert into myuser values (1,'李四','123aaa','2002-12-4');
  3. 在表中添加一个字段,用于保存图片路径

    mysql 复制代码
    ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);

    插入新字段后,对原来表中的数据没有影响。

  4. 修改表中字段的属性

    mysql 复制代码
    ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);

    注意 :这里修改新属性只改变了类型,我们之前设置的comment备注被覆盖。

  5. 删除某一字段

    mysql 复制代码
    ALTER TABLE tablename DROP (column);

    注意 :删除字段一定要小心,删除字段及其对应的列数据就都没了。

  6. 修改某一字段名称

    mysql 复制代码
    mysql> alter table myuser change name XingMing varchar(70) DEFAULT NULL; 
    # 新字段需要完整定义

1.5 删除表

语法:

mysql 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例:

mysql 复制代码
drop table user2;
相关推荐
CCIE-Yasuo5 分钟前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶11 分钟前
内核级AI与多模融合:AI数据库在海外场景的落地要点
数据库·人工智能·架构
涛思数据(TDengine)16 分钟前
从工业本体到 AI 原生:TDengine 出席 2026 QCon 分享工业数据基础设施路径
大数据·数据库·人工智能·tdengine·工业
Jesse_EC23 分钟前
换乘次数最少的路径 SQL 查询详解与实战经验——从 WITH RECURSIVE 到 pgRouting
数据库·postgresql
工控丫丫28 分钟前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
这个DBA有点耶2 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
无言听风雨丶3 小时前
Redis 运维实战与排错
运维·数据库·redis
小天源4 小时前
智叟云集系统 · 架构与职责分层
服务器·前端·数据库
herinspace5 小时前
管家婆实用贴-SQL 2008如何修改成混合模式
服务器·数据库·sql·管家婆软件·财务软件·合肥管家婆软件
打螺丝的小李5 小时前
制造企业质量管理系统的三类产品形态:分别解决什么问题
数据库·制造