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;
相关推荐
一米阳光86614 小时前
软考(中级)软件设计师核心笔记(3)数据库系统——概念、数据库设计
数据库·笔记·职场发展·软考·软件设计师
奈斯先生Vector4 小时前
告别工具碎片化:基于 Nano Banana 全模态 AI 聚合架构搭建“文本-图像-视频”自动化协同生产线
运维·数据库·人工智能·架构·自动化·aigc·音视频
建筑工程企业管理系统6 小时前
erp工程项目管理系统落地价值:实现工程多项目成本精细化核算与管控
大数据·数据库·人工智能
AI大模型-小华7 小时前
Codex 三方充值快速入门指南
java·前端·数据库·chatgpt·ai编程·codex·chatgpt pro
foolishlee7 小时前
Neon wal日志处理流程2
数据库
2601_965798478 小时前
Is Hygia Good for Maid & Janitorial Sites? Technical Audit
服务器·网络·数据库
Cloud云卷云舒8 小时前
海山数据库(HaishanDB)面向工业云场景技术方案
数据库·haishandb·工业云·移动云海山数据库·天工云
逃逸线LOF8 小时前
Spring配置数据源{连接池}(Druid、c3p0)
java·数据库·spring
☆凡尘清心☆10 小时前
CentOS Stream 9 专用 LNMP 全自动一键脚本
linux·运维·mysql·nginx·lnmp·centos stream 9
严同学正在努力11 小时前
从备份到恢复:我用 30 分钟恢复了误删的核心业务表
android·java·数据库·ai