mysql 修改表的详细语法介绍
ALTER [IGNORE] TABLE tbl_name
[alter_specification [, alter_specification] ...]
[partition_options]
algorithm_option:
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
lock_option:
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
alter_specification:
table_options
| ADD [COLUMN] col_name column_definition
[FIRST | AFTER col_name ]
| ADD [COLUMN] (col_name column_definition,...)
| ADD {INDEX|KEY} [index_name]
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]] PRIMARY KEY
[index_type] (index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]]
UNIQUE [INDEX|KEY] [index_name]
[index_type] (index_col_name,...) [index_option] ...
| ADD FULLTEXT [INDEX|KEY] [index_name]
(index_col_name,...) [index_option] ...
| ADD SPATIAL [INDEX|KEY] [index_name]
(index_col_name,...) [index_option] ...
| ADD [CONSTRAINT [symbol]]
FOREIGN KEY [index_name] (index_col_name,...)
reference_definition
| ALGORITHM [=] {DEFAULT|INPLACE|COPY}
| ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}
| CHANGE [COLUMN] old_col_name new_col_name column_definition
[FIRST|AFTER col_name]
| LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
| MODIFY [COLUMN] col_name column_definition
[FIRST | AFTER col_name]
| DROP [COLUMN] col_name
| DROP PRIMARY KEY
| DROP {INDEX|KEY} index_name
| DROP FOREIGN KEY fk_symbol
| DISABLE KEYS
| ENABLE KEYS
| RENAME [TO|AS] new_tbl_name
| RENAME {INDEX|KEY} old_index_name TO new_index_name
| ORDER BY col_name [, col_name] ...
| CONVERT TO CHARACTER SET charset_name [COLLATE collation_name]
| [DEFAULT] CHARACTER SET [=] charset_name [COLLATE [=] collation_name]
| DISCARD TABLESPACE
| IMPORT TABLESPACE
| FORCE
| ADD PARTITION (partition_definition)
| DROP PARTITION partition_names
| DISCARD PARTITION {partition_names | ALL} TABLESPACE
| IMPORT PARTITION {partition_names | ALL} TABLESPACE
| TRUNCATE PARTITION {partition_names | ALL}
| COALESCE PARTITION number
| REORGANIZE PARTITION partition_names INTO (partition_definitions)
| EXCHANGE PARTITION partition_name WITH TABLE tbl_name [{WITH|WITHOUT} VALIDATION]
| ANALYZE PARTITION {partition_names | ALL}
| CHECK PARTITION {partition_names | ALL}
| OPTIMIZE PARTITION {partition_names | ALL}
| REBUILD PARTITION {partition_names | ALL}
| REPAIR PARTITION {partition_names | ALL}
| REMOVE PARTITIONING
常用的操作的例子:
1、修改列名,列类型,列名: 下面语句将列名为old_column的列名修改成new_column,并且数据类型为int
>alter table tablename change old_column new_column int ;
2、修改列的数据类型:将column_name 这个列的数据类型修改成为new_datatype
>alter table tablename modify column_name new_datatype ;
3、添加字段
>alter table tablename add column_name column_datatype ;
4、删除主键
>alter table tablename DROP PRIMARY KEY
5、删除分区
>alter table tablename DROP PARTITION partition_names
6、删除索引
>alter table tablename DROP INDEX index_name
7、删除列
>alter table tablename DROP col_name
相关推荐
### MySQL多表查询详解 #### 一、多表查询的基本概念与操作 多表查询是在实际业务场景中非常常见的需求之一。它允许我们从多个表中检索数据,并将这些数据组合在一起以形成有意义的信息。在MySQL中,多表查询通常...
MySQL字符串数据类型语法详解
### MySQL的基本语法详解 #### 一、创建表 在MySQL中,**表**是最基本的数据存储单元,通过创建表来组织和存储数据。创建表的基本语法如下: ```sql CREATE TABLE table_name ( column_name datatype [NOT NULL ...
4. 不支持某些特定的聚合函数,如 GROUP_CONCAT 在 MySQL 中常见,但在 SQLite 中没有。 5. 不支持窗口函数,如 RANK()、LEAD() 和 LAG()。 6. 不支持某些复杂的子查询操作。 以上就是SQLite支持的主要SQL语法及不...
### MySQL基本语法详解 #### 存储过程 存储过程是一种保存在服务器上的SQL代码块,可以接受输入参数,返回输出参数,并且能够执行复杂的数据库操作。掌握存储过程的基本语法是MySQL学习的重要部分。 ##### 创建...
### SQLServer与MySQL语法及关键字的主要差异 #### 数据类型与特性 1. **枚举与集合类型**: MySQL 支持 `enum` 和 `set` 类型,这些类型允许用户定义一组固定的选择项,而 SQLServer 不支持这两种类型。 2. **字符...
另一类是数据库开发人员和管理员需要使用的权限,包括对数据库结构的操作权限,如创建表(CREATE)、修改表(ALTER)、删除表(DROP)、创建索引(INDEX)、创建视图(CREATE VIEW)、显示视图源代码(SHOW VIEW)、...
### MySQL语法详解 #### 一、数据库操作 **1. 创建数据库** 在MySQL中创建一个新的数据库是一项基本操作。可以通过以下命令完成: ```sql CREATE DATABASE database_name; ``` 例如,创建一个名为`test_db...
- 修改触发器需先删除再新建,因为MySQL不支持直接修改触发器。 在触发器中,`NEW`和`OLD`是两个特殊变量,用于访问触发器操作所涉及的行。对于`INSERT`操作,`NEW`变量包含即将插入(`BEFORE`触发器)或已插入(`...
在“详解关键字的功能”部分,手册会详细解释每个关键字的作用、语法、参数以及使用时的注意事项。比如,"JOIN"关键字用于将两个或更多表的数据结合在一起,根据指定的条件进行匹配。有多种类型的JOIN,如INNER JOIN...
- **修改表**: `ALTERTABLE` 可以用来更改现有表的结构,包括添加、修改或删除列等。 #### 视图操作 - **创建视图**: `CREATEVIEW` 命令可以用来基于一个或多个表创建一个虚拟的表,即视图。 - **删除视图**: `DROP...
### MySQL临时表与派生表详解 #### 一、MySQL临时表 **1.1 临时表概述** MySQL中的临时表是一种特殊的表类型,主要用于存储临时数据或中间结果集,适用于那些需要多次查询同一结果集的场景。根据存储位置的不同,...
MySQL中的异常处理是数据库编程中不可或缺的一部分,它允许开发者预设对可能出现的错误或异常的响应,从而确保程序的稳定性和健壮性。在MySQL中,异常定义和处理主要是通过`DECLARE`语句来实现的。 1. **异常定义**...
MySQL图形化操作详解 MySQL是一种流行的开源关系型数据库管理系统,以其高效、稳定和易于使用而闻名。本篇文章将详细介绍如何快速上手MySQL的图形化操作。 首先,我们需要下载MySQL的相关软件。MySQL的官方主页是...
MySQL基础语法——空间数据类型详解第二部分
总的来说,MySQL的视图是一个强大的工具,它允许用户根据需求定制数据的展示方式,提高数据访问的安全性和便捷性,同时也简化了复杂的多表查询。正确地设计和使用视图,可以极大地提升数据库系统的灵活性和可维护性...
### MySQL数据库基本操作语法知识点详解 #### 一、常用查询操作 **1. 显示所有数据库** - **命令**: `SHOW DATABASES;` - **功能**: 列出当前MySQL服务器上存在的所有数据库。 **2. 删除数据库** - **命令**: ...
官方手册详细描述了MySQL 5.6的功能,包括但不限于通用管理、开发者功能、连接器和APIs、高可用性与可扩展性、安装与升级、服务器管理、SQL语法、服务器选项和变量参考、MySQL版本、启动和关闭、监控、备份、线程池...