• 1、更改表名
  • 2、添加新列
  • 3、更改列名
  • 4、删除指定一列
  • 5、字符串截取(string 函数)
  • 6、将现有列的内容填入新列
  • 7、只修改列的数据类型


1、更改表名

ALTER TABLE +旧表名

RENAME TO 新表名;

sql 自定义列 mysql sql自定义列名_数据类型

2、添加新列

ALTER TABLE my_contacts ADD COLUMN 新列名 新列数据类型 DEFAULT NULL [可指定位置];

sql 自定义列 mysql sql自定义列名_sql 自定义列 mysql_02

3、更改列名

ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 新列的数据类型;

sql 自定义列 mysql sql自定义列名_字符串_03

4、删除指定一列

ALTER TABLE my_contacts
DROP COLUMN 指定列的列名 ;

5、字符串截取(string 函数)

  • RIGHT(列名,选取字符的数量m)
    eg:SELECT RIGHT(birthday,2) FROM my_contacts; 选取birthday的后两个字符
  • SUBSTRING_INDEX(列名,’-‘,数字n)
    ‘-‘:表示从左往右,遇到那个字符进行截取,可以是其他字符例如’,’。
    数字n:表示从左往右,遇到第几个’-‘,进行截取。1,表示截取字符’-‘之前的内容。

    类似的函数还有:
  • SUBSTRING(your_string, start_position, length)
    在your_string中,从start_position起始位置开始,截取长度为length的字符串。
    start_position 和 length都是数字。
  • UPPER(your_string) 和 LOWER(your_string)
    将your_string变成大写或小写
  • REVERSE(your_string) :将字符串进行反转
  • LENGTH(your_string):返回字符串的长度
  • LTRIM(your_string) 和 RTRIM(your_string):返回清除多余空格后的字符串,分别是清除字符左侧和右侧的多余空格。

6、将现有列的内容填入新列

UPDATE 表名

SET 列名 = 需要填入的内容

sql 自定义列 mysql sql自定义列名_表名_04

sql 自定义列 mysql sql自定义列名_表名_05

7、只修改列的数据类型

ALTER TABLE + 表名 MODIFY COLUMN +列名 +新数据类型;


关于命令的几点说明:
1、string 函数中的your_string可以是具体的字符串,也可以是表格中的某一列,例如:UPPER(location) FROM my_contacts (将location那一列中所有的字符串都大写)。
2、将现有列的内容填入新列时,需要注意,新列的内容会被覆盖,因此,新列的列名需要准确。
3、当一张表格创建后,基本无法真正的改变列的顺序,只能通过其他方法来进行改变,例如添加新列到指定位置,然后将需要移动的列的数据拷贝的新列中,在删除旧列。
4、慎用DROP去删除列,删除前最好用SELECT确认一下,是否是要删除的那一列。
5、调整列的顺序关键字,除了FIRST,LAST,AFTER + 列名外,还有BEFORE + 列名,SECOND,THIRD,FOURTH。
6、使用string 函数时,不会改变存储在表中的内容,它们只是把字符串修改后的结果当成查询结果返回。