MySQL表的操作 - 详解

1.创建表

创建表的语法操作:

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

    说明:

    • field 表示列名
    • datatype 表示列的数据类型
    • character set 指定字符集,若未指定则默认使用所在数据库的字符集
    • collate 指定校验规则,若未指定则默认使用所在数据库的校验规则
    • engine 指定存储引擎,若未指定则使用配置文件的默认存储引擎

    2.创建表案例

    示例:

    上述comment作用对指定列添加注释信息。

    请注意:

    不同存储引擎创建的表会生成不同的文件。(上图为例)

    (1)使用 MyISAM 引擎的 users 表为例,在数据目录中会生成三个文件:

    • users.frm:存储表结构
    • users.MYD:存储表数据
    • users.MYI:存储表索引

    (2)使用InnoDB存储引擎创建表时,系统会自动生成两个文件:

    users2.frm(存储表结构信息) users2.ibd(包含表数据和索引)

    3.查看表结构

    (1)语法:

    desc 表名;

    示例:

    说明:

    • Field:字段名称
    • Type:字段数据类型
    • Null:是否允许空值
    • Key:索引类型(如主键索引显示为PRI)
    • Default:字段默认值
    • Extra:附加信息

    (2)查看相关表创建内容语法和查看数据库一样:

    show create table 表名;

    示例:

    带上/G选项会变得更加简洁:

    4.修改表

    在实际开发过程中,经常需要调整数据表结构,包括字段名称、大小、类型的变更,以及表字符集和存储引擎等属性的修改。此外,我们还需要处理新增或删除字段等需求,这些操作都涉及对数据表结构的调整。

    语法:

    ALTER TABLE  tablename ADD (column datatype [DEFAULT expr][,column
    datatype]...);
    ALTER TABLE  tablename MODIfy (column datatype [DEFAULT expr][,column
    datatype]...);
    ALTER TABLE  tablename DROP (column);

    (1)列的增加

    语法:

    ALTER TABLE table_name ADD 新增列名 新增列的属性;

    示例:

    注意事项:

    新增字段不会影响表中已有数据

    (2)修改列属性

    将下图的name,其长度改成60

    示例:

    mysql> alter table users modify name varchar(60);

    注意:

    修改属性是覆盖式修改!!!!

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

    语法:

    alter table users drop password;

    示例:(删除password)

    (4)修改表名

    语法:

    alter table users rename to employee;

    示例:

    修改后:

    恢复:

    注意:

    to:可以省掉!!!!

    (5)修改列名

    语法:

    alter table employee change name xingming varchar(60); --新字段需要完整
    定义

    示例;

    (上面的desc users 写为 desc user ,当数据库只有一个表是可以这样使用,正常情况下我们应当特只某个表eg:users)

    5.删除表

    语法:

    DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

    示例:

    posted @ 2025-08-26 08:57  yfceshi  阅读(11)  评论(0)    收藏  举报