添加单列
ALTER TABLE tbl_name ADD [COLUMN] col_name column_definition [FIRST|AFTER col_name]
mysql> show columns from user; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | id | smallint(6) | NO | PRI | NULL | auto_increment | | username | varchar(20) | YES | | NULL | | | pid | smallint(6) | YES | MUL | NULL | | +----------+-------------+------+-----+---------+----------------+ 3 rows in set mysql> describe user; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | id | smallint(6) | NO | PRI | NULL | auto_increment | | username | varchar(20) | YES | | NULL | | | pid | smallint(6) | YES | MUL | NULL | | +----------+-------------+------+-----+---------+----------------+ 3 rows in set
添加一列
mysql> alter table user add userno varchar(20) not null; Database changed mysql> describe user; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | id | smallint(6) | NO | PRI | NULL | auto_increment | | username | varchar(20) | YES | | NULL | | | pid | smallint(6) | YES | MUL | NULL | | | userno | varchar(20) | NO | | | | +----------+-------------+------+-----+---------+----------------+ 4 rows in set
age 到所有列前面
mysql> alter table user add age varchar(2) first; Database changed Records: 1 Duplicates: 0 Warnings: 0 mysql> describe user; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | age | varchar(2) | YES | | NULL | | | id | smallint(6) | NO | PRI | NULL | auto_increment | | username | varchar(20) | YES | | NULL | | | pid | smallint(6) | YES | MUL | NULL | | | userno | varchar(20) | NO | | | | +----------+-------------+------+-----+---------+----------------+ 5 rows in set
sex 到username后面
mysql> alter table user add column sex char(1) after username; Database changed Records: 1 Duplicates: 0 Warnings: 0 mysql> describe user; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | age | varchar(2) | YES | | NULL | | | id | smallint(6) | NO | PRI | NULL | auto_increment | | username | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | pid | smallint(6) | YES | MUL | NULL | | | userno | varchar(20) | NO | | | | +----------+-------------+------+-----+---------+----------------+ 6 rows in set
添加多列 缺点就是只能放在最后面,不能排在某字段的前面或后面
mysql> alter table user add column(a1 varchar(1),a2 varchar(2)); Database changed Records: 1 Duplicates: 0 Warnings: 0 mysql> describe user; +----------+-------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+----------------+ | age | varchar(2) | YES | | NULL | | | id | smallint(6) | NO | PRI | NULL | auto_increment | | username | varchar(20) | YES | | NULL | | | sex | char(1) | YES | | NULL | | | pid | smallint(6) | YES | MUL | NULL | | | userno | varchar(20) | NO | | | | | a1 | varchar(1) | YES | | NULL | | | a2 | varchar(2) | YES | | NULL | | +----------+-------------+------+-----+---------+----------------+
删除一列
mysql> alter table user drop a1; Database changed Records: 1 Duplicates: 0 Warnings: 0
删除多列用逗号隔开
mysql> alter table user drop sex,drop age; Database changed
修改列
mysql> alter table user modify id int after pid; Database changed Records: 0 Duplicates: 0 Warnings: 0 mysql> show columns from user; +----------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------------------+------+-----+---------+-------+ | username | varchar(20) | YES | | NULL | | | pid | smallint(6) | YES | | NULL | | | id | int(11) | YES | | NULL | | | age | tinyint(3) unsigned | NO | | | | +----------+---------------------+------+-----+---------+-------+ 4 rows in set
修改表名用rename
法一
mysql> alter table user rename deploy; Database changed mysql> show tables; +--------------+ | Tables_in_t1 | +--------------+ | deploy | | dept | | pet | +--------------+ 3 rows in set
用 rename to
mysql> rename table deploy to user; Database changed mysql> show tables; +--------------+ | Tables_in_t1 | +--------------+ | dept | | pet | | user | +--------------+ 3 rows in set
添加主键约束
mysql> create table user( -> id smallInt, -> username varchar(20)); Database changed mysql> alter table user add constraint pk_user_id primary key(id); Database changed Records: 0 Duplicates: 0 Warnings: 0 mysql> show create table user; +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+ | user | CREATE TABLE `user` ( `id` smallint(6) NOT NULL default '0', `username` varchar(20) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+添加唯一约束
mysql> alter table user add unique(username); Database changed Records: 0 Duplicates: 0 Warnings: 0 mysql> describe user; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | smallint(6) | NO | PRI | 0 | | | username | varchar(20) | YES | UNI | NULL | | +----------+-------------+------+-----+---------+-------+ 2 rows in set添加外键约束
mysql> alter table user add foreign key(pid) references dept(id); Database changed Records: 0 Duplicates: 0 Warnings: 0 mysql> show columns from user; +----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+-------------+------+-----+---------+-------+ | id | smallint(6) | NO | PRI | 0 | | | username | varchar(20) | YES | UNI | NULL | | | pid | smallint(6) | YES | MUL | NULL | | +----------+-------------+------+-----+---------+-------+ 3 rows in set添加默认约束
相关推荐
Linux 中修改 MySQL 数据文件存放位置 概述 在 Linux 中,MySQL 数据文件的存放位置默认在 `/var/lib/mysql` 目录下。但是,在某些情况下,我们可能需要将数据文件存放位置修改到其他目录下。这篇文章将会指导您...
MySQL数据表直接生成Word文档数据字典是一种便捷的方法,它帮助数据库管理员和开发人员快速整理并记录数据库结构信息。在数据库设计和维护过程中,数据字典是至关重要的,它提供了关于数据库模式、字段、类型、约束...
### 修改MySQL数据存储位置 #### 知识点一:为何要修改MySQL数据存储位置 在IT运维工作中,经常需要对数据库进行维护管理。当数据库的数据量逐渐增大时,可能会遇到服务器磁盘空间不足的问题,尤其是在操作系统...
通过实际操作,我们将掌握如何创建和修改表结构,设置表约束,以及处理表数据的插入、删除和修改。此外,还将学习如何建立表之间的联系,这对于构建复杂的数据库系统至关重要。 一、数据库操作 1. 创建数据库:使用...
MySQL数据表调用客户端是一种非常实用的工具,主要用于管理和操作MySQL数据库中的数据表。这个工具提供了用户友好的界面,使得数据库的建立、查看以及管理变得简单易行,无需消耗额外的系统资源。在本篇文章中,我们...
本教程将详细介绍如何使用C#与Mysql进行交互,包括创建数据库、数据表以及执行基本的CRUD(Create、Read、Update、Delete)操作。 首先,我们需要在C#项目中引入Mysql的数据提供者——`MySql.Data.dll`。这个库允许...
总的来说,这个Shell脚本是数据库管理员和运维人员的一个实用工具,它简化了MySQL数据迁移的过程,提高了工作效率,同时保持了数据的完整性。正确理解和使用此类脚本,对于管理和维护复杂数据库环境至关重要。
本文将深入探讨MySQL到Oracle的数据同步过程,以及如何在同步过程中修改MySQL数据表的标识。 首先,我们要理解MySQL和Oracle是两种不同的关系型数据库管理系统(RDBMS)。MySQL以其开源、轻量级、高效的特点被广泛...
在MySQL数据库中,修改表结构是一项常见的操作,用于适应数据模型的变化或优化表的设计。本文主要探讨了如何在已有数据的情况下安全地修改表的字段类型、约束条件、字段位置以及字段名称,同时强调了在执行这些操作...
它原生支持使用PostgreSQL作为其数据库系统,但用户可以根据需求将其修改为使用MySQL。在本文中,我们将深入探讨如何将Thingsboard的默认数据库从PostgreSQL更换为MySQL,以便更好地适应你的IT环境。 首先,你需要...
在MySQL数据库系统中,数据文件通常位于安装目录下的data子目录中,包含了数据库表的数据以及日志文件等重要信息。然而,在某些情况下,为了优化存储、备份或满足特定的系统需求,我们可能需要修改这些数据文件的...
在使用 DataX 将数据从 Hive 表导入 MySQL 表的过程中,遇到了数据缺失的问题。具体表现为,在某些特定条件下(如数据块大小超过 256M 时),导入到 MySQL 的数据量少于预期。 #### 现象分析 根据观察发现,当数据...
- 如果需要修改数据,请确保修改后的数据符合 MySQL 表结构的要求。 2. **使用 Navicat 进行数据导入**: - 返回 Navicat 软件,找到之前导出数据的表(`user_`)。 - 右键点击该表,选择“导入”选项。 - 选择...
MySQL数据管理工具是数据库管理员和开发人员用于交互式管理MySQL数据库的重要工具。这些工具提供了图形化的用户界面,使得创建、编辑、查询和管理数据库变得更加直观和高效。在本篇文章中,我们将深入探讨MySQL数据...
5. **测试和验证**:插入测试数据到 MySQL 表,预览变化并验证是否正确捕获。通过装载组件的预览功能和 ES 的数据预览来检查同步效果,特别是对于大型对象(LOB)数据。 6. **启动同步**:最后,点击工具栏的【启动...
- `datadir` 设置为 MySQL 数据目录的路径,例如 `datadir=D:\phpStudy7\MySQL\data`。 **第四步:更新系统环境变量** - 打开“控制面板”->“系统和安全”->“系统”,点击左侧的“高级系统设置”。 - 在“高级...
这个脚本实现了跨服务器增量同步mysql数据的功能,可以同步多个表。 在使用这个脚本的时候需要注意有修改的地方就是源表配置、目标表配置需要修改成自己的服务器和登录mysql数据库的用户名和密码。基础配置中需要...