MySQL ALTER命令知识点汇总

MySQL ALTER命令知识点汇总

什么是ALTER命令

ALTER命令是MySQL用来修改已有的表结构的命令。使用ALTER命令可以修改表名,增加、删除列,修改列的数据类型或属性,以及修改表级约束等。

常见的ALTER命令语法

修改表名

ALTER TABLE table_name RENAME TO new_table_name;

添加新列

ALTER TABLE table_name ADD COLUMN column_name column_definition [FIRST | AFTER column_name];

其中,column_definition表示新列的数据类型和约束,FIRST表示新列要添加到第一列,AFTER column_name表示新列要添加到指定列的后面。

删除列

ALTER TABLE table_name DROP COLUMN column_name;

修改列

ALTER TABLE table_name MODIFY COLUMN column_name column_definition;

或

ALTER TABLE table_name CHANGE COLUMN old_name new_name column_definition;

其中,column_definition表示新的数据类型和约束,CHANGE COLUMN语句可以同时修改列名和属性。

添加主键

ALTER TABLE table_name ADD PRIMARY KEY (column_name);

删除主键

ALTER TABLE table_name DROP PRIMARY KEY;

添加外键

ALTER TABLE child_table ADD FOREIGN KEY (column_name) REFERENCES parent_table (parent_column_name);

删除外键

ALTER TABLE child_table DROP FOREIGN KEY foreign_key_name;

修改列的默认值

ALTER TABLE table_name ALTER COLUMN column_name SET DEFAULT default_value;

修改列的约束

ALTER TABLE table_name ALTER COLUMN column_name constraint_definition;

示例说明

示例一

在students表中添加一个新的成绩列:

ALTER TABLE students ADD COLUMN score INT DEFAULT 0 AFTER age;

这条语句会在students表中添加一个名为score的整数列,并将它添加到age列后面,初始值为0。

示例二

修改students表中的成绩列名为score_new,并将其数据类型改为DOUBLE型:

ALTER TABLE students CHANGE COLUMN score score_new DOUBLE;

ALTER TABLE students MODIFY COLUMN score_new DOUBLE;

这两条语句都能实现目标,第一条语句使用了CHANGE COLUMN语句来修改列名和类型,第二条语句使用了MODIFY COLUMN语句来修改类型。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:MySQL ALTER命令知识点汇总 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • PHP下的Oracle客户端扩展(OCI8)安装教程

    下面就为您详细讲解“PHP下的Oracle客户端扩展(OCI8)安装教程”的完整攻略。 简介 OCI8 是 PHP 下操作 Oracle 数据库的客户端扩展。为了使用 OCI8 ,需要在 PHP 环境下安装 OCI8 扩展。开始安装之前,需要准备好以下环境: PHP 版本:PHP7.2.x 及以上版本 Oracle 数据库客户端版本:Oracle Insta…

    database 2023年5月22日
    00
  • 详解Java8中的lambda表达式、::符号和Optional类

    下面是“详解Java8中的lambda表达式、::符号和Optional类”的攻略。 什么是Lambda表达式? Lambda表达式是Java8中引入的一种新的语法,它允许开发者以更简洁、清晰的方式编写代码。Lambda表达式通常用于函数式编程,与传统的面向对象编程风格不同。 Lambda表达式由三部分组成:参数列表、箭头符号(->)和函数体。 例如,…

    database 2023年5月21日
    00
  • redis笔记

    批量删除redis-cli keys “trade*” | xargs redis-cli del 更好的方式 keys * 命令在数据量很大的情况下,直接在redis cli中执行会严重影响服务器性能,更好的方式是在lua脚本中执行 eval方式执行redis lua lua方式通配符查找 redis-cli eval “return redis.call…

    Redis 2023年4月11日
    00
  • 解决sql server2008注册表写入失败,vs2013核心功能安装失败

    问题描述: 在安装Sql Server 2008和VS2013时,可能会出现“注册表写入失败”的问题,这将导致安装失败。本文将提供详细的攻略,以解决此问题。 解决方法: Step 1:重置注册表权限 打开命令行窗口(以管理员身份运行),输入以下命令并按回车键执行: secedit /configure /cfg %windir%\inf\defltbase.…

    database 2023年5月21日
    00
  • 浅谈安装ORACLE时在Linux上设置内核参数的含义

    安装ORACLE时在Linux上设置内核参数是非常重要的,以便获得最佳的系统性能和数据安全性。接下来,我们将详细讲解如何在Linux上设置内核参数。 安装ORACLE前的准备工作 在安装ORACLE前,我们需要进行一些准备工作。 确认内核版本:使用uname -r命令查询系统内核版本。 确认内存大小:使用cat /proc/meminfo | grep Me…

    database 2023年5月22日
    00
  • Windows下修改mysql的data文件夹存放位置的方法

    下面是“Windows下修改mysql的data文件夹存放位置的方法”的完整攻略。 1. 前置条件 首先,你需要在 Windows 系统上成功安装 MySQL,并且已经启动了 MySQL 服务。 2. 备份原始 data 文件夹 在进行任何修改之前,我们建议你先对原始的 data 文件夹进行备份,以防止数据丢失。 你可以通过以下命令来备份 data 文件夹:…

    database 2023年5月22日
    00
  • SQL Server 存储过程的分页

    下面我将详细讲解SQL Server存储过程的分页完整攻略。 什么是存储过程分页? 存储过程是SQL Server中的一种数据处理方式,它是一段预编译的SQL代码,可被多次执行,用于完成特定的数据处理任务。存储过程的分页,就是在查询数据时对结果进行分页操作,将数据按照一定的规则分成若干页,以便于用户浏览和查询。 存储过程分页的实现 步骤一:创建存储过程 我们…

    database 2023年5月21日
    00
  • redis缓存数据库Hash,list,set操作

    Hash操作 hash表现形式上有些像python中的dict,可以存储一组关联性较强的数据,redis中Hash在内存中的存储格式如下图: 1、hset(name,key,value) #name对应的hash中设置一个键值对(不存在,则创建;否则,修改) #参数: #name,redis的name #key,name对应的hash中的key #vale,…

    Redis 2023年4月12日
    00
合作推广
合作推广
分享本页
返回顶部