MySQL从零开始了解数据库开发之表的操作解析

 更新时间:2025年09月06日 10:13:38   作者:叫我龙翔  
这篇文章介绍了MySQL中数据表的基本操作,包括创建、修改和删除表的相关语法和注意事项,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

今天我们来学习数据表的操作

创建数据表

创建数据表的语法:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name
[
(create_definition,...)
][table_options][select_statement]

说明:

  • TEMPORARY:表示创建的表是一个临时表
  • IF NOT EXISTS:避免创建重复的表
  • create_definition:这是表的列属性,MySQL要求创建表时至少存在一列
  • table_options:表的一些特性参数,其中大多数选项涉及的是表数据的存储方式和储存位置,比如ENGINE指定储存引擎,多数情况下用户无需指明表选项
  • select_statement:SELECT语句描述部分,用于快速创建表

接下来来看白属性create_definition的具体格式:

col_name type[NOT NULL | NULL] [DEFAULT default_value][AUTO_INCREMENT][PRIMARY KEY][reference_definition]
  • col_name:列名称
  • type:字段类型
  • NOT NULL | NULL :指出列是否允许为空值,系统一般默认允许为空值,所以当不允许为空值时,必须使用NOT NULL
  • DEFAULT default_value:表示列的默认值
  • AUTO_INCREMENT:表示是否自动编号,每个表只能有一个 AUTO_INCREMENT列,并且必须被索引
  • PRIMARY KEY:是否为主键,一个表只能有一个主键,如果表中没有PRIMARY KEY ,而某些应用程序需要主键,那么MySQL将会返回第一个没有任何NULL列的UNIQUE键作为主键
  • reference_definition:为字段添加注释

查看表结构

对于一个创建成功的数据表可以使用

SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名]
# 或者是
SHOW [FULL] COLUMNS FROM 数据库名.数据表名

进行查看。同样也可以选择使用DESCRIBE语句查看数据表结构

DESCRIBE 数据表名 [列名]

修改数据表结构

修改表结构是指增加/修改/删除字段,修改字段名/类型以及修改表名,这可以使用ALTER TABLE语句来实现,语法格式如下。

ALTER [IGNORE] TABLE 数据表名 alter_spec[,alter_spec]... | table_options

说明:

  • IGNORE:可选项,表示如果出现重复关键的行,则执行一行,其他重复的行被删除。
  • 数据表名:用于指定要修改的数据表的名称。
  • alter_spec:用于定义要修改的内容,其语法格式为
    ADD [COLUMN] col_name create_definition [FIRST | AFTER col_name]           -- 添加新列,可指定位置(FIRST表示第一列,AFTER表示在某列之后)
    ADD [COLUMN] ( col_name create_definition, ...)                              -- 同时添加多列
    ADD INDEX [index_name] (index_col_name, ...)                                    -- 添加普通索引
    ADD PRIMARY KEY (index_col_name, ...)                                          -- 添加主键
    ADD UNIQUE [INDEX] [index_name] (index_col_name, ...)                           -- 添加唯一索引
    ALTER [COLUMN] columnname {SET DEFAULT literal | DROP DEFAULT}               -- 修改列的默认值(设置或删除)
    CHANGE [COLUMN] old_col_name new_column_name col_definition [FIRST | AFTER col_name]  -- 修改列名和列定义,可指定位置
    MODIFY [COLUMN] col_name col_definition [FIRST | AFTER col_name]      -- 修改列定义,可指定位置
    DROP [COLUMN] col_name                                                     -- 删除指定列
    DROP PRIMARY KEY                                                             -- 删除主键
    DROP INDEX index_name                                                         -- 删除索引
    RENAME [TO] new_table_name                                                     -- 重命名表

重命名表

重命名表的语法为:

RENAME TABLE 数据表名1 to 数据表名2

修改数据表名的操作与修改数据库名一样,不建议使用,因为底层一旦修改啊,上层的所有业务都要进行修改,可能会造成意料之外的问题。

复制表

创建表的CREATE TABLE语句还有另一种语法结构:在一个已经存在的数据表的基础上创建该表的备份,也就是复制表。这种语法的格式如下

CREATE TABLE [IF NOT EXISTS] 数据表名 , {LIKE 源数据表名 | (LIKE 源数据表名)}

该语句的功能是根据源数据表生成一个数据表。注意这个数据表只是复制结构,并没有拷贝内容:

如果要拷贝内容的话可以使用:

CREATE TABLE 数据表名 AS SELECT * from 源数据表

删除表

删除表的语法很简单:

DROP TABLE [IF EXISTS]

实际使用时避免真正删除数据表!

到此这篇关于MySQL从零开始了解数据库开发 --- 表的操作的文章就介绍到这了,更多相关mysql表的操作内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL中的游标和绑定变量

    MySQL中的游标和绑定变量

    这篇文章主要介绍了MySQL中的游标和绑定变量方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Mysql的复合索引如何生效

    Mysql的复合索引如何生效

    本文主要介绍了Mysql的复合索引如何生效,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • MySQL SHOW 命令的使用介绍

    MySQL SHOW 命令的使用介绍

    MySQL SHOW 命令的使用介绍,使用mysql的朋友可以参考下。
    2011-08-08
  • mysql压缩包版安装配置方法图文教程

    mysql压缩包版安装配置方法图文教程

    这篇文章主要为大家详细介绍了mysql压缩包版安装配置方法图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

    MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Statu

    MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过命令行、配置文件或SQL语句进行设置和查看,服务器选项和系统变量可以是全局或会话级别的,状态变量只读且不可修改,sql_mode是一个特殊的变量,影响SQL语句的执行模式,感兴趣的朋友一起看看吧
    2025-02-02
  • mysql8查看锁信息

    mysql8查看锁信息

    MYSQL中有一个重要的特性就是锁,下面这篇文章主要给大家介绍了关于mysql8查看锁信息的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • mysql启用skip-name-resolve模式时出现Warning的处理办法

    mysql启用skip-name-resolve模式时出现Warning的处理办法

    在优化MYSQL配置时,加入 skip-name-resolve ,在重新启动MYSQL时检查启动日志,发现有警告信息
    2012-07-07
  • 浅谈订单重构之 MySQL 分库分表实战篇

    浅谈订单重构之 MySQL 分库分表实战篇

    这篇文章主要介绍了 MySQL 分库分表方法的相关资料,需要的朋友可以参考下面文章内容,希望能帮助到你
    2021-09-09
  • MySQL DATE_SUB()函数的实现示例

    MySQL DATE_SUB()函数的实现示例

    本文主要介绍了MySQL DATE_SUB() 函数的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-03-03
  • MSSQL根据ID进行分页实现方法

    MSSQL根据ID进行分页实现方法

    本文将详细介绍MSSQL根据ID进行分页实现方法,需要的朋友可以参考下
    2012-11-11

最新评论