mysql alter的用法--修改表,字段等信息

2023-11-16

一: 修改表信息

1.修改表名 

-- 修改表名为studen1
alter table student rename to student1;

2.修改表注释   

-- 修改表注释
alter table student comment '学生表';

二:修改字段信息

1、(批量)新增字段

-- 增加一个字段,默认为空
alter table student add COLUMN sname VARCHAR(20) DEFAULT NULL; 
-- 增加一个字段,默认不能为空
alter table student add COLUMN sname VARCHAR(20) NOT NULL;
----------------------------------
批量添加字段:
方法一:alter table 表名 add (字段1 类型(长度),字段2 类型(长度),字段3 类型(长度));
方法二:事务:
begin; --事务开始
alter table student add sid int(11);
alter table student add sname varchar(20);
alter table student add age varchar(4);
commit;  --提交事务 

 2、删除一个字段

-- 删除一个字段
alter table student DROP COLUMN age;

3、修改字段名字(要重新指定该字段的类型,否则会报错,长度、默认值以及注释等随意)

1、mysql修改字段类型:	 
--能修改字段类型、类型长度、默认值、注释
--对某字段进行修改(注意:一定要指定新的数据类型,否则会报错,长度、默认值以及注释可以不写)
ALTER  TABLE 表名 MODIFY COLUMN 字段名 新数据类型 新类型长度  新默认值  新注释; -- COLUMN可以省略
alter  table table1 modify  column column1  decimal(10,1) DEFAULT NULL COMMENT '注释'; -- 正常,能修改字段类型、类型长度、默认值、注释
----------------------------------------------------------------------------------
2、mysql修改字段名:
ALTER  TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;	 
alter  table table1 change column1 column1 varchar(100) DEFAULT 1.2 COMMENT '注释'; -- 正常,此时字段名称没有改变,能修改字段类型、类型长度、默认值、注释
alter  table table1 change column1 column2 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释
alter  table table1 change column2 column1 decimal(10,1) DEFAULT NULL COMMENT '注释' -- 正常,能修改字段名、字段类型、类型长度、默认值、注释
----------------------------------------------------------------------------------
alter  table table1 change column1 column2; -- 报错  
----------------------------------------------------------------------------------
3、批量修改字段名:
alter table 表 change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null,
change 修改前字段名  修改后字段名称 int(11) not null;

4、在某个字段后增加字段 

-- 在sid这个字段后面添加 
alter table studnet add column cid int(11) not null default 0 AFTER sid; 

5、调整字段顺序

-- alter table 表名 change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)

alter table student change sname sname varchar(20)  default null after sid ; 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql alter的用法--修改表,字段等信息 的相关文章

  • SQLAlchemy - 批量插入忽略:“重复条目”

    我有一个名为user data 列id and user id作为唯一的密钥 我想将一些历史数据导入到该表中 我用批量插入映射 http docs sqlalchemy org en rel 1 0 orm session api html
  • 当与“<”或“>”运算符一起使用时,MySQL 不使用 DATE 上的索引吗?

    我正在使用解释来测试这些查询 col 类型是 DATE 这使用索引 explain SELECT events FROM events WHERE events date 2010 06 11 这不 explain SELECT event
  • Magento --“SQLSTATE[23000]:违反完整性约束..”客户更新

    迁移服务器后 每次尝试更新客户信息时都会出现错误 我正在使用一个客户激活插件 http www magentocommerce com magento connect vinai extension 489 customer activat
  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • MySQL:如何获取每个分组的x个结果数[重复]

    这个问题在这里已经有答案了 可能的重复 mysql 在 GROUP BY 中使用 LIMIT 来获取每组 N 个结果 https stackoverflow com questions 2129693 mysql using limit w
  • 尝试在 React 应用程序中连接到 MySQL 数据库时,无法读取未定义的属性(读取“查询”)错误

    我正在尝试连接到 MySQL 数据库并在单击按钮后在 React 应用程序中运行查询 一些它如何给出错误 我当前的代码如下所示 import mysql from mysql function App async function sync
  • 何时在 mysql 中使用 Union [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 对于 Union 您会在什么现实情况下使用它 因为对我来说 对具有不同列用途 含义的两个表中的两个选择查询使用联合是没有意义的 例如
  • 在上下文中提取搜索字符串

    我正在尝试执行 MySQL 查询 在上下文中提取搜索字符串 因此 如果搜索是 mysql 我想从 body 列返回类似的内容 下载后只需几分钟MySQL安装程序即可使用 这就是我现在得到的 但它不起作用 因为它只是从正文字段中获取前 20
  • 在一个后台为MYSQL的网站上集成搜索

    我有一个位置搜索website http www jammulinks com对于一个城市 我们首先收集该城市所有可能类别的数据 如学校 学院 百货商店等 并将其信息存储在单独的表中 因为每个条目除了名称 地址和电话号码外都有不同的详细信息
  • 如何将行变成列?

    我有一个数据库 其中存储分组到项目中的关键字以及与每个关键字相关的数据 然后我显示每个项目的数据网格 每个关键字一行和几列 全部从同一个表 数据 中检索 我有 4 个表 关键字 项目 group keywords 和数据 keywords
  • PHP使用auto_increment生成短唯一ID?

    我想生成一个简短的 唯一的 ID 而不必检查冲突 我目前正在做类似的事情 但是我当前生成的 ID 是随机的 并且在循环中检查冲突很烦人 并且如果记录数量显着增加 将会变得昂贵 通常担心冲突不是问题 但我想要生成的唯一 ID 是一个由 5 8
  • 无法在 .net core 2 中从 MySQL 构建“日期”类型列

    我已经开始了一个新的 net core 2 项目 我正在尝试将 MySQL 数据库导入实体框架 我使用此命令来搭建数据库 Scaffold DbContext server localhost port 3306 user id user
  • mysql表中的数据非常大。即使 select 语句也需要很多时间

    我正在开发一个数据库 它是一个相当大的数据库 有 13 亿行和大约 35 列 这是我检查表状态后得到的结果 Name Table Name Engine InnoDB Version 10 Row format Compact Rows 1
  • MySQL 和 PHP 参数 1 作为资源

    好吧 当我运行下面提到的代码时 PHP 向我抛出此错误 在日志中 Error mysql num rows 期望参数 1 为资源 第 10 行 place 中给出的字符串 9 11号线 queryFP SELECT FROM db coun
  • NHibernate - 无法执行查询 - 输入字符串的格式不正确

    我已经为此摸不着头脑有一段时间了 我不知道出了什么问题 概述 我的 MySQL 数据库中有两个表 两者都正确映射到数据库 我可以加载数据 并且我能够查询一个表 但不能查询另一个表 我研究过的解决方案 表和 C 代码之间的类型转换问题 映射问
  • MVCC 如何与 MySql 中的 Lock 配合使用?

    我知道Mysql中使用锁或者MVCC可以实现并发控制 比如可重复读 但我不知道MVCC如何避免幻读 在其他地方了解到一般是通过MVCC和Gap Lock来实现的 但是目前我理解的是MVCC不需要锁 即更新和删除都是使用undo log来实现
  • Dapper 或 MySql 未找到包含句号“.”的存储过程。

    我有一个简单的 C 控制台 它使用 Dapper ORM 调用本地 MySql 数据库 以执行名为的存储过程users UserCreate 但是 当运行查询时 我收到一个异常 在数据库 用户 中找不到过程或函数 UserCreate Bu
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User

随机推荐

  • AllenNLP框架学习笔记(数据篇之tokenizers)

    tokenizers是数据模块中的一个子模块 在里面主要包含了token与tokenizer的定义和使用 现在做一个简单的介绍 描述字符串是如何载入到TextFields中的 Token 简单的token抽象 其属性包括文本 偏移量 pos
  • 单链表的原地逆置—适用于O(1)空间复杂度

    单链表的原地逆置 一 代码 二 分析 三 验证 一 代码 先放出代码 注 表尾指针 r 按需设置 在单链表的逆置过程中并不重要 void ReverseList LinkList L LNode r L gt next 建立表尾指针 其实可
  • python中怎样将字符转换成asc编码_Python字符和字符值(ASCII或Unicode码值)转换方法...

    这篇文章主要介绍了Python字符和字符值 ASCII或Unicode码值 转换方法 即把字符串在ASCII值或者Unicode值之间相与转换的方法 需要的朋友可以参考下 目的 将一个字符转化为相应的ASCII或Unicode码 或相反的操
  • 【因果推断与机器学习】Causal Inference:Chapter_4_instrument_variables

    Instrument Variables Introduction 我们在因果识别中的目标是找到一种方法 用可观察的统计关系来表达两个特征之间的因果关系 在许多情况下 我们可以使用图形假设和do calculus来理清我们对统计关系的观察
  • 如何在Linux下配置nginx以及docker环境

    nginx环境的配置 环境准备 编译 php fpm环境的搭建 docker环境的配置 什么是docker 在linux中安装docker nginx环境的配置 环境准备 我这里使用的是 centos7 以下操作都是在这个环境下进行执行的
  • JavaScript 逆向调试常用技巧

    1 断点调试 接下来介绍一个非常重要的功能 断点调试 在调试代码的时候 我们可以在需要的位置上打断点 当对应事件触发时 浏览器就会自动停在断点的位置等待调试 此时我们可以选择单步调试 在面板中观察调用栈 变量值 以更好地追踪对应位置的执行逻
  • 100个python算法超详细讲解:分糖果

    1 问题描述 10个小孩围成一圈分糖果 老师分给第1个小孩10块 第2个小孩2块 第3个小 孩8块 第4个小孩22块 第5个小孩16块 第6个小孩4块 第7个小孩10块 第8个小 孩6块 第9个小孩14块 第10个小孩20块 然后所有的小孩
  • 【AI视野·今日CV 计算机视觉论文速览 第215期】Tue, 8 Jun 2021

    AI视野 今日CS CV 计算机视觉论文速览 Tue 8 Jun 2021 showing first 100 of 133 entries Totally 100 papers 上期速览 更多精彩请移步主页 Daily Computer
  • 一文了解语音合成技术(TTS)

    TTS是Text To Speech的缩写 即 从文本到语音 它将计算机自己产生的 或外部输入的文字信息转变为可以听得懂的 流利的汉语口语 或者其他语言语音 输出的技术 隶属于语音合成 SpeechSynthesis 语音 在人类的发展过程
  • 关于深度残差网络(Deep residual network, ResNet)

    深度残差网络 深度残差网络的设计就是为了克服这种由于网络深度加深而产生的学习效率变低 准确率无法有效提升的问题 也称为网络退化 甚至在一些场景下 网络层数的增加反而会降低正确率 这种本质问题是由于出现了信息丢失而产生的过拟合问题 overf
  • conda --init 问题

    初始化编译软件出现下面问题 vscode Windows Visual Studio 2017 Developer Command Prompt v15 9 45 Copyright c 2017 Microsoft Corporation
  • vue2项目window.open打开一个新窗口刷新总回到首页(重定向页面)

    问题描述 使用window open打开新窗口跳转本系统的某一个页面 如 http 192 168 1 206 9529 previewScreen idx 1653966398075965442 刷新总是回到首页 找了很久也没找到解决办法
  • QLExpression学习使用教程

    文章目录 QLExpress 简介 支持特性 Maven引入 例子github源码 图分解 提示 例子 初次使用 Runner执行器设置 执行器执行命令的设置 支持普通的Java语法执行 运算符支持 运算符分类 示例 部分运算符列举 样例使
  • 远控与文件传输

    由于目前工作用到了win10 win7 ubuntu kali等系统 而且考虑到之后出差或者远程办公等 所以打算用我最新的ipad pro连接计算机 这样尽量减少每次背着电脑和ipad等一堆设备 远控与文件传输 1 局域网下电脑文件互传 2
  • 详解Java四大作用域

    文章目录 四大作用域 1 pageContext 1 1定义 2 request 详解 2 1定义 2 2 request域对象的使用 2 3生命周期 2 4 获取请求头数据 3 session 详解 3 1定义 3 2 获取session
  • VSCode Java 开发配置

    本文将介绍如何使用VSCode配置Java开发环境 读者可以通过链接 打开进入到下载页面 读者需要选择自己的操作系统进行下载 下载完成后在操作系统中将其安装 安装完成后打开VSCode软件 首次进入VSCode界面如图所示 VSCode作为
  • [激光原理与应用-62]:激光器 - 光学 - 怎样测量光斑和光束质量?

    目录 一 概述 二 光强分布 三 光束直径 四 光束相机 五 M 因子测量 六 束腰以及大小 七 发散角 八 正态分布 高斯分布 其他概念 一 概述 激光的直径和光强度分布可通过光束轮廓分析仪测量 但为了判定光束质量 还需要加上M 测量扩展
  • 【mac】Obsidian手动安装插件-多端同步

    手动插件安装 porxy github 这个插件是专门解决 无法加载插件市场的 先在github中打开链接 github上教了方法 下载zip文件 解压后 插入到 obsidian plugins文件夹内 一般来讲 小白刚安装的时候难免找不
  • CentOS7 Hive2.3.9 安装部署(mysql 8.0)

    一 CentOS7安装MySQL数据库 查询载mariadb rpm qa grep mariadb 卸载mariadb rpm e nodeps 查询出来的内容 安装wget为下载mysql准备 yum y install wget 在t
  • mysql alter的用法--修改表,字段等信息

    一 修改表信息 1 修改表名 修改表名为studen1 alter table student rename to student1 2 修改表注释 修改表注释 alter table student comment 学生表 二 修改字段信