MySQL 数据表操作

本文详细介绍了MySQL中数据表的操作,包括创建、查看、修改、重命名、复制和删除表。重点讲解了ALTER TABLE语句的用法,如添加、修改和删除字段,以及如何修改表名。此外,还提到了两种复制表的方法,一种仅复制表结构,另一种同时复制结构和数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建数据表

    格式:
        CREATE [TEMPOPRARY] TABLE [IF NOT EXISTS] 表名
[(create_definition,…))][table_options][select_statement];

    参数说明:

关键字说明
create_definition表的列属性。要求创建表时,至少包含一列。
格式:col_name type[NOT NULL | NULL][DEFAULT default_value][AUTO_INCREMENT][PRIMARY_KEY][reference_definition]
table_options表的属性。一般来说用于选填表将如何存储,并且存储在何处。例如ENGINE选项用于定义表的存储引擎。
select_statementSELECT语句。一般用于快速建表。

    例:
创建一张用户表

查看表结构

    查看表结构分别有两种方式:
        1. SHOW [FULL] COLUMNS FROM 表名;
        2. DESCRIBE 表名; 或者缩写 DESC 表名;

    例:
两种方式查看表结构

修改表结构

        修改表结构均使用 ALTER TABLE 语句。修改表结构指增加字段或者删除字段、修改字段名称或者字段类型、设置或者取消主键和外键、设置或者取消索引以及修改表注释等,语法如下:
ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]…| table_options;
    其中 [IGNORE] 为可选项,表示如果出现重复关键的行,则只执行一行。其他重复行被删除。alter_spec为需要修改的内容,以下为alter_spec的语法格式列表:

alter_spec 内容说明
ADD [COLUMN] create_definition [FIRST |AFTER col_name]添加新字段
ADD INDEX [index_name] (index_col_name,…)添加索引名称
ADD PRIMARY KEY (col_name)添加主键名称
ADD UNIQUE [index_name](index_col_name)添加唯一索引
ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}修改字段默认值
CHANGE [COLUMN] old_col_name create_definition修改字段定义(字段名、类型)
MODIFY [COLUMN] create_definition修改子句定义字段
DROP [COLUMN] col_name删除字段
DROP PRIMARY KEY删除主键
DROP INDEX index_name删除索引
RENAME [AS] new_tbl_name修改表名

    其中 {SET DEFAULT literal | DROP DEFAULT} 指设置默认值或者删除默认值,literal为指定的默认值。

ALTER TABLE 语句允许指定多个动作,其动作间使用逗号分隔,每个动作表示对表的一个修改。

添加新字段与修改字段定义

    例:
对用户表添加字段和修改原有字段定义

修改字段名

    例:
修改字段名

删除字段

    例:
删除字段,并展示效果

修改表名

    例:
修改表名

重命名表

    格式:
        RENAME TABLE 旧表名 TO 新表名;
    例:
重命名表

复制表

    在一张已经存在的表的基础上,复制一张表结构甚至表数据相同但表名不同的表,即复制表。有两种格式:
        CREATE TABLE [IF NOT EXISTS] 数据表名 {LIKE 源数据表名};
    其中 {LIKE 源数据表名} 是必选项,指要从哪个源数据表来创建副本。
    例:
CREATE方式复制表
    CREATE TABLE … LIKE 方式复制的新表,数据不复制。例:
副本中没有数据

使用这种方式复制表时,只会创建一个与源数据表有相同的表结构、列名、数据类型、索引的副本,但是并不会复制源数据表中的数据。若要同时复制表数据,可用AS子句来实现。

    AS子句方式复制表:
CREATE TABLE 表名 AS SELECT * FROM 源数据表;
该方式可同时复制源表的结构和源表的数据,例:
复制表结构和表数据

删除表

    格式:
        DROP TABLE 表名;
    例:
删除表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值