美文网首页小白学习编程
小白学开发(八) SQL修改字段名称或属性_表变换列名或属性

小白学开发(八) SQL修改字段名称或属性_表变换列名或属性

作者: OKOK熊 | 来源:发表于2019-08-16 17:22 被阅读0次
ALTER table good_detail ALTER COLUMN brand NULL;


ERROR 1064 (42000): You have an error in your SQL syntax; 
check the manual that corresponds to your MySQL server 
version for the right syntax to use near 'NULL' at line 1

! 不要怀疑,一定是你的语法错了,第一句报错就说了是语法错误,然后到底哪里错了,NULL前面 其实就是 ALTER COLUMN 错了

点击这里速度查手册,以下为手册的翻译:


1. CHANGE:用在同时要变列定义与列名
  1. Can rename a column and change its definition, or both.
    // 1. 改列名与改定义都支持
  2. Has more capability than MODIFY or RENAME COLUMN, but at the expense of convenience for some operations.
    // 2. 比 MODIFY 和 RENAME COLUMN 有更多能力,但是以牺
    牲一些操作的便利性为代价
// 同时变列名与定义
ALTER TABLE `tab1` CHANGE col_a col_b BIGINT NOT NULL;
  1. CHANGE requires naming the column twice if not renaming it, and requires respecifying the column definition if only renaming it.
    // 3. CHANGE 需要使用命名列2次如果不是要重命名,就算只是改名,也需要重新声明列的定义
// 只变定义,需要写2次列名
ALTER TABLE `tab1` CHANGE col_b col_b INT NOT NULL;
  1. With FIRST or AFTER, can reorder columns.
    // 4. 用 FIRST 或 AFTER 可以变换列顺序

2. MODIFY:用在改变列定义
  1. Can change a column definition but not its name.
    // 1. 只能改定义不能改名字
  2. More convenient than CHANGE to change a column definition without renaming it.
    // 2. 比 CHANGE 更方便的改变列,不需要改名
// 2的示例
ALTER TABLE tab_1 MODIFY col_b INT NOT NULL;

// 只改属性,change only INT to BIGINT 但是这样会让其他属性消失
ALTER TABLE t1 MODIFY col1 BIGINT;

// 完整的改法还是要把其他定义带上
ALTER TABLE t1 MODIFY col1 BIGINT UNSIGNED DEFAULT 1 
COMMENT 'my column';
  1. With FIRST or AFTER, can reorder columns.

3. RENAME COLUMN:只能改列名
  1. Can change a column name but not its definition.
    1. 能变列名而不是定义
  2. More convenient than CHANGE to rename a column without changing its definition.
    2. 更方便的rename不需要重复定义语句
// 只变名字
ALTER TABLE t1 RENAME COLUMN b TO a;

// 错误的示范 -- swap a and b 
ALTER TABLE t1 RENAME COLUMN a TO b,
               RENAME COLUMN b TO a;
// 正确的示范 -- "rotate" a, b, c through a cycle 
ALTER TABLE t1 RENAME COLUMN a TO b,
               RENAME COLUMN b TO c,
               RENAME COLUMN c TO a;

4. ALTER:只能改某列的默认值
  1. Used only to change a column default value.
    // 只能用来变换值

总结:
change的话,表示变化很大,所以定义和名字可以修改
modify,改变一部分,就是定义
rename,字面意思,列名
alt,改变列默认值
联想下英文本身的意思也是这样啊,最后其实一张图解决了记忆问题


如何记忆change, modify, rename, alt

这次就到这里

相关文章

  • 小白学开发(八) SQL修改字段名称或属性_表变换列名或属性

    ! 不要怀疑,一定是你的语法错了,第一句报错就说了是语法错误,然后到底哪里错了,NULL前面 其实就是 ALTER...

  • 复习sql(三)

    sql别名 通过使用 SQL,可以为表名称或列名称指定别名。通过使用sql,可以为表名称或列名称指定别名基本上,创...

  • 动态修改字段信息

    修改字段类型、属性: 修改字段名称: 添加主键: 删除主键: 添加唯一: 删除唯一: 修改表名称:

  • SQL 面试题(二)

    SQL 面试题(二) 找出baseball表中,name属性中包含“To”字符的元组 属性表示列名称,元组表示一条...

  • Object对象defineProperty()方法

    语法 参数 参数描述obj要定义属性的对象。prop要定义或修改的属性的名称或 Symbol 。descripto...

  • SQL基础语句

    SQL SELECT 语法SELECT 列名称 FROM 表名称 语法SELECT * FROM 表名称 SQL ...

  • SQL:常用sql语句小结

    SELECT 语法SELECT 列名称 FROM 表名称或SELECT * FROM 表名称SELECT Last...

  • MyBatis-动态SQL常用标签

    功能标签名称定义sql语句insertdeleteupdateselect配置java对象属性与查询结果集中列名对...

  • SQL 查询

    SQL Select Select列名称 from 表名称 SELECT * FROM 表名称 MySQL 支持 ...

  • ArcMap简单使用

    添加属性表数据和修改数据 打开属性表,添加字段。 编辑器编辑编辑器编辑.png 点击选择区域-属性数据修改.png

网友评论

    本文标题:小白学开发(八) SQL修改字段名称或属性_表变换列名或属性

    本文链接:https://www.haomeiwen.com/subject/crzxsctx.html