SQL语言学习汇总(2)—— ALTER 改写历史

1、更改表名

ALTER TABLE +旧表名
RENAME TO 新表名;
这里写图片描述

2、添加新列

ALTER TABLE my_contacts ADD COLUMN 新列名 新列数据类型 DEFAULT NULL [可指定位置];
这里写图片描述

3、更改列名

ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 新列的数据类型;
这里写图片描述

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 列名 = 需要填入的内容
这里写图片描述

这里写图片描述

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 函数时,不会改变存储在表中的内容,它们只是把字符串修改后的结果当成查询结果返回。


©️2020 CSDN 皮肤主题: 技术工厂 设计师:CSDN官方博客 返回首页