添加单列
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添加默认约束
相关推荐
MySQL数据库的创建、查看、删除、使用命令。 表结构创建和修改、表约束的创建和修改; 表数据的插入、删除和修改; 表联系的创建和修改。
在Linux中修改MySQL数据文件存放位置
vs2008C#操作Mysql创建数据库,数据表,增、删、改数据实例。
修改MySQL数据存储位置,经过自己不断爬坑,终于修改成功。整理一下,分享给各位
mysql数据表直接生成word文档数据字典,只需修改账号密码等信息,导入idea后可以直接使用,不需要其他条件
mysql修改语句 在 MySQL中,可以使用 UPDATE 语句来修改、更新一个或多个表的数据。...修改表中的数据 【实例 1】在 tb_courses_new 表中,更新所有行的 course_grade 字段值为 4,输入的 SQL 语句和执行结果如下所
mysql批量修改表前缀,上传文件到网站根目录,修改配置信息,访问即可。适用:在一个空间配置同一个CMS的中英文版,或其他需要在一个空间复制一套相同表结构的情况。
一个mysql数据库数据同步至oracle数据库代码,同时修改mysql数据表标识。
这个脚本实现了跨服务器增量同步mysql数据的功能,可以同步多个表。 在使用这个脚本的时候需要注意有修改的地方就是源表配置、目标表配置需要修改成自己的服务器和登录mysql数据库的用户名和密码。基础配置中需要...
Thingsboard修改为Mysql数据,替换默认的PostgreSQL数据库!!如有有问题可以到IOTSCHOOL社区提问!
要求:查询一个字段的数据,将每个数据拆分,取第一个字符,将第一个字符遍历出来,替换到另一个字段里面
mysql数据库忘记密码时如何修改 mysql数据库忘记密码时如何修改
mysql根据日志恢复数据详细步骤
基于SSM框架+JSP+Ajax请求 mysql数据 关于员工信息的新增+修改+查询+删除基于SSM框架+JSP+Ajax请求 mysql数据 关于员工信息的新增+修改+查询+删除基于SSM框架+JSP+Ajax请求 mysql数据 关于员工信息的新增+修改+查询+...
mysql数据连接池搭建流程详细解析,通俗易懂
对一个数据表的数据进行分页显示、编辑、或其它自定义操作。
Navicat工具对MySql数据库数据维护,可以通过将数据库某张表中的数据导出,然后修改,最后以追加或者覆盖的形式导入
MySql数据操作语言,包括 插入:insert、 修改:update、 删除:delete的相关语法和案例脚本。对学习MySql有很大的帮助。
Oracle导Mysql适用于百、千万级别数据迁移,速度是kettle的10倍以上数据库迁移 数据迁移 千万级 亿万级数据,MySQL oracle关系型 现需要开发一套程序用来快速迁移数据库,要求如下: 1.使用人员可以指定迁移数据库...
尝试很多次,终于成了。但是,在修改前,务必做好数据备份工作。本文档仅供参考,对后果概不负责。