MySQL数据表操作
发布日期:2021-05-08 20:22:08 浏览次数:25 分类:精选文章

本文共 1696 字,大约阅读时间需要 5 分钟。

数据表

数据表在数据库中用于存储数据,表名需唯一且不含特殊字符。

查看所有数据表

SHOW [FULL] TABLES [FROM|IN] db_name [LIKE 'pattern' | WHERE expr];

可使用like或where条件限制查询结果。

创建数据表

CREATE TABLE [IF NOT EXISTS] tbl_name (字段名称 字段属性 [完整性约束条件], ...) ENGINE=存储引擎 CHARSET=编码方式;

约束条件:

  • UNSIGNED:无符号位,长度从0开始
  • ZEROFILL:填充0,字段为UNSIGNED
  • NOT NULL:非空约束
  • DEFAULT:默认值
  • PRIMARY KEY:唯一主键
  • AUTO_INCREMENT:自增长
  • UNIQUE KEY:唯一索引
  • FOREIGN KEY:外键约束
  • CREATE TABLE IF NOT EXISTS tb_employee (    no TINYINT AUTO_INCREMENT KEY,    id VARCHAR(4) NOT NULL UNIQUE KEY,    name VARCHAR(4) NOT NULL UNIQUE KEY,    age INT NOT NULL DEFAULT 18,    salary INT,    department VARCHAR(100)) ENGINE = innoDB, DEFAULT CHARSET = utf8;

    可复制其他表结构:

    CREATE TABLE tb_employee1 LIKE tb_employee;

    查看建表语句

    SHOW CREATE TABLE tbl_name;

    查看表结构

    DESC|DESCRIBE tbl_name;SHOW COLUMNS FROM tbl_name;
    字段名 描述
    Field 字段描述
    Type 字段类型即范围
    Null 是否为空值
    Key 主键约束/唯一约束/外键
    Default 默认值
    Extra 其他约束

    删除数据表

    DROP TABLE tbl_name;

    表结构操作

    添加、删除字段

    ALTER TABLE tbl_name ADD (字段名称 字段属性 [约束条件] [FIRST|AFTER 字段名称], ...);

    可在添加字段时指定位置:

    ALTER TABLE tbl_name DROP 字段名;

    添加、删除默认值

    ALTER TABLE tbl_name ALTER 字段名 SET DEFAULT 默认值;ALTER TABLE tbl_name ALTER 字段名 DROP DEFAULT;

    修改字段名称、字段类型、字段属性、约束条件

    -- 修改字段属性:ALTER TABLE tbl_name MODIFY 字段名 字段类型 字段属性 [约束条件];
    -- 修改字段名称:ALTER TABLE tbl_name CHANGE 原字段名 新字段名 字段类型 字段属性 [约束条件];

    可在修改时指定添加位置:

    ALTER TABLE tb_employees MODIFY age int AFTER department;

    增加、删除主键

    ALTER TABLE tbl_name ADD PRIMARY KEY (字段名);ALTER TABLE tbl_name DROP PRIMARY KEY;

    需先删除AUTO_INCREMENT属性后删除主键:

    增加、删除唯一索引

    ALTER TABLE tbl_name ADD UNIQUE KEY|INDEX [IDX_NAME] (COLUMN,...);ALTER TABLE tbl_name DROP UNIQUE IDX_NAME;

    修改数据表名

    ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name;

    修改AUTO_INCREMENT值

    ALTER TABLE tbl_name AUTO_INCREMENT=值;
    上一篇:MySQL存储引擎
    下一篇:MySQL基础应用

    发表评论

    最新留言

    哈哈,博客排版真的漂亮呢~
    [***.90.31.176]2025年04月26日 07时57分17秒