更新mysql表数据alter_Mysql数据库alter修改表的所有场景和用法

news/2024/7/5 4:58:53

如果你想要修改表的信息,你会发现alter很强大。

我们可以看到这样一张表。

CREATE TABLE `score` (

`student_id` int(10) unsigned NOT NULL,

`event_id` int(10) unsigned NOT NULL,

`score` int(11) DEFAULT NULL,

PRIMARY KEY (`event_id`,`student_id`),

KEY `student_id` (`student_id`),

CONSTRAINT `score_ibfk_1` FOREIGN KEY (`event_id`) REFERENCES `grade_event` (`event_id`),

CONSTRAINT `score_ibfk_2` FOREIGN KEY (`student_id`) REFERENCES `student` (`student_id`)

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

复制代码

从上往下看表的创建语句,alter可以修改表名、列的属性(列名、数据类型、字符集)、索引的属性(索引名)、表的存储引擎、字符集。

修改表名

举例:alter table score rename to new_score;ee481f2d6587faa245f0881f42704d40.png

修改列的属性

举例:alter table new_score modify score varchar(3) default null;5879f827fc0367cd82343c1f1bf26262.png

增加列

alter table new_score add column level varchar(1);d62653df117d3ee6046b737b11746066.png

删除列

alter table new_score drop column level;825ce354ca34628acbfc71dd400fc98e.png

修改列的字符集

alter table new_score modify score varchar(3) character set utf8;471f66ad31a453abef76b9728c8f44a7.png

修改列名

alter table new_score change score score_another varchar(3);243555b8a947d7fa431173637f871af8.png

注意,此处用的是change,而不是modify。change能做到,而modify做不到,在修改列数据类型的同时,修改列名。

修改表的引擎

alter table new_score engine = MyISAM;9b60d9ae9af45a0c45cfdc2bd54f0b53.png

注意此处修改失败的原因是,表内包含外键。只有InnoDB引擎支持外键。


http://www.niftyadmin.cn/n/3090022.html

相关文章

(转)深入剖析C#继承机制

一. 继承基础知识 为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块。C#这种完全面向对象的程序…

centos7之docker安装

下午四点左右,我准备接触docker这个技术。之所以接触它,原因来自tomcat服务器老是挂,也不能说老是挂,一周一次吧,或者不定时,最初出现的问题,分为这么几类? 一类,java代码…

数据库CRUD操作以及MyBatis的配置使用

• 业务字段设计 • 数据库创建 • CRUD操作 • MyBatis集成• 注解和XML定义• ViewObject和DateTool • 首页开发• 业务字段设计实体: name:logub_ticket lable: id user_id ticket expired status • 数据库创建 GUI版本管理工具创建,然后通过GUI转…

java页面乱码_Java Web项目中解决中文乱码方法

Java Web项目中解决中文乱码方法Java具有简单性、面向对象、分布式、健壮性、安全性、平台的独立与可移植性、多线程、动态性等特点。下文是为大家精选的Java Web项目中解决中文乱码方法,欢迎大家阅读参考。第一种情况:调用jsp页面中文显示乱码问题描述&…

手动卸载windows服务

使用windows命令行工具:sc。大名鼎鼎的sc。欲知详细用法,请直接在cmd下键入sc,即显示用法。嘿嘿,很好用的!另外,MySql的服务注册其实很简单,即简单地 D:\mysql\bin>mysqld -install Service…

捷账宝常规操作

1.安装流程按“小房子”形状的按钮,进入设备桌面—>打开“拉卡拉应用商店”—>点击左上角搜索按钮,输入“捷账宝”(字不能错,必须一定是这三个字)—>点击右边搜索—>点击“捷账宝”后面的“下载”,下载完成后—>安…

java调用ruby_关于java调用ruby的问题。

java调用ruby脚本,发生错误:LoadError: load error: jopenssl/load -- java.lang.VerifyError: class org.bouncycastle.asn1.ASN1Primitive overrides final method equals.(Ljava/lang/Object;)Zrequire at org/jruby/RubyKernel.java:959require at /…

十五:值类型的装箱和拆箱(一)

简单的说装箱是将值类型转换为引用类型;拆箱是将引用类型转换为值类型,但其内部是怎么实现的,CLR又是如何工作的呢,看下面代码:using System;using System.Collections;struct Point{public Int32 x, y;} public sea…