问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

mysql:使用alter命令的方式删除主键

发布网友 发布时间:2022-04-07 23:35

我来回答

1个回答

懂视网 时间:2022-04-08 03:56

本文详细解读了MySql语法中Alter命令的用法,这是一个用法比较多的语法,而且功能还是很强大的。

USE learning;(自己要提前建好)
CREATE TABLE student(id INT NOT NULL,
name CHAR(10) NOT NULL,
class INT NOT NULL,
age INT
);
来看看新建好的表
技术分享

一、删除,添加或修改表字段

  • 删除表字段

  • 如下命令使用了 ALTER 命令及 DROP 子句来删除以上创建表的 age字段:

    ALTER TABLE student DROP age;
    来看看结果:
    技术分享

    如果数据表中只剩余一个字段则无法使用DROP来删除字段。

  • 添加表字段
  • MySQL 中使用 ADD 子句来想数据表中添加列,如下实例在表 student 中添加age字段,并定义数据类型:

    ALTER TABLE student ADD age INT NOT NULL;
    执行以上命令后,i 字段会自动添加到数据表字段的末尾。

    SHOW COLUMNS  FROM student来看表结构

                                                                 技术分享
    如果你需要指定新增字段的位置,可以使用MySQL提供的关键字 FIRST (设定位第一列), AFTER 字段名(设定位于某个字段之后)。
    尝试以下 ALTER TABLE 语句, 在执行成功后,使用 SHOW COLUMNS 查看表结构的变化:

    ALTER TABLE student ADD sex CHAR(2) FIRST;

    技术分享
    FIRST 和 AFTER 关键字只占用于 ADD 子句,所以如果你想重置数据表字段的位置就需要先使用 DROP 删除字段然后使用 ADD 来添加字段并设置位置。
    ALTER TABLE student DROP sex;
    ALTER TABLE student ADD sex CHAR(2) AFTER age;

    技术分享

  • 修改表字段
  • 修改字段类型及名称
    如果需要修改字段类型及名称, 你可以在ALTER命令中使用 MODIFY 或 CHANGE 子句 。
    例如,把字段 name 的类型从 CHAR(10) 改为 CHAR(100),可以执行以下命令:

    ALTER TABLE student MODIFY age CHAR(100);
    技术分享

    使用 CHANGE 子句, 语法有很大的不同。 在 CHANGE 关键字之后,紧跟着的是你要修改的字段名,然后指定新字段的类型及名称。尝试如下实例:
    ALTER TABLE student CHANGE id stu_id BIGINT PRIMARY KEY;

                                                   技术分享

    ALTER TABLE 对 Null 值和默认值的影响
    当你修改字段时,你可以指定是否包含只或者是否设置默认值。
    以下实例,指定字段sex为 NOT NULL 且默认值为男 。

    ALTER TABLE sutdent MODIFY sex CHAR(2) NOT NULL DEFAULT ‘男‘;
    技术分享
    如果你不设置默认值,MySQL会自动设置该字段默认为 NULL。
    你也可以使用 ALTER 命令及 DROP子句来删除字段的默认值,如下实例:
    ALTER TABLE student ALTER sex DROP DEFAULT;
     SHOW COLUMNS FROM student;

                                                                  技术分享

    修改数据表类型,可以使用 ALTER 命令及 TYPE 子句来完成。尝试以下实例,我们将表 student的类型修改为 MYISAM :
    注意:查看数据表类型可以使用 SHOW CREATE TABLE  语句。

    ALTER TABLE student ENGINE = MYISAM
    SHOW CREATE TABLE student;
    技术分享


    二、修改表名

    如果需要修改数据表的名称,可以在 ALTER TABLE 语句中使用 RENAME 子句来实现。
    尝试以下实例将数据表 student 重命名为 student_1:

    mysql> ALTER TABLE student RENAME TO student_1;

    技术分享

    三、主键和索引修改

  • 删除表中主键
  • ALTER TABLE student DROP PRIMARY KEY;

    技术分享

  • 添加主键
  • ALTER TABLE student ADD CONSTRAINT PK_STUDENT PRIMARY KEY (id,class);

    技术分享

    添加索引

    ALTER TABLE student ADD INDEX index_name (name);

    查看索引

    SHOW INDEX FROM student;

    技术分享

    添加唯一限制条件索引

    ALTER TABLE student ADD UNIQUE emp_name(age);

    技术分享

    删除索引

    ALTER TABLE student  DROP INDEX index_name;

    技术分享






    MySql之ALTER命令用法详细解读

    标签:mysql   alter命令   

    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... 养宠物的人遵守规则,是不是就能和别人平安相处呢? 大声说出来 综艺节目的常驻嘉宾都有谁? 幼儿中班成长档案中爱要大声说出来怎么写 大声说出来刘夏与鼎天是那一期? 360摄像头支持5G路由器吗 360安全路由5G,我用普通的4G手机可以连上wifi吗,3G手机呢,还有普通电脑,这些都可以吗? 360安全路由5G连接后没有5Gwifi网络 360安全路由器5G能连接两部电脑上网吗? 360n4s支持5Gwifi吗 在使用5g网络下的电脑360随身wifi不能使用? 美术生可以报哪些院校 美术生报考指南 美术生可以报考哪些重点类大学 360路由wifi5g只有5G手机才能用吗? 美术生可以报考哪些大学专业 360随身wifi5G是不是要出来了? 作为美术生,除去九大美院外,有什么合适的综合大学可以报考? vr shinecon手柄怎么在苹果手机上用 千幻魔镜九代耳机怎么连接 文件夹怎么使用,怎么放的有图吗,注意,不是电脑的文件夹,是文具放纸的 带有批评感情色彩的成语 关于批评人的成语 大声说出来月薪12万全集视频 WIN7怎么调保护色 重庆卫视《大声说出来》找一首歌里面的歌词有 重庆卫视(大声说出来)节目中的那位很聪明的情感导师是谁? 重庆卫士的"大声说出来"节目,女友超级喜欢韩国明星金在中是哪一期 大声说出来的节目是真还是假 大声说出来女朋友月消费12万有钱男朋友受不了这是哪一期? 谢娜两次生子,快本都保留位置,是业务能力强吗? 重庆卫视大声说出来里面,两夫妻为吃鸡吵架是哪一期的? 重庆卫视大声说出来拜金女小沈和菲儿哪一期 大声说出来,百万年薪难以承受拜金女的是哪一期,男的叫小沈 淘宝上买东西写错地址了怎么办 急.淘宝买东西写错地址了 在淘宝上买东西地点写错了,但是东西已经邮寄出去了 还能改么 在淘宝网买东西,地址错了包邮,转需要运费不? 我在淘宝买东西商家地址发错了,我找商家他不理我,我该怎么办?_百度知 ... 淘宝上买东西快递送错地址 大妈带女儿度假,被5名酒店员工下药轮奸,还拍下视频传网上,你怎么看? 强奸罪有完整视频录音,能定罪吗 网友称某网站有“少女被轮奸”,警方介入后该网友算有功还是有过?