美文网首页
五、ALTER语句

五、ALTER语句

作者: 天天阳光好 | 来源:发表于2017-04-09 18:22 被阅读0次

一、基本语句

ALTER TABLE table_name

ADD COLUMN column_name VARCHAR(30) 

AFTER column_name1;

① 对于新增加行的顺序,可以用FIRST、SECOND、TIRED、LAST和AFTER某列、BEFORE某列等语句来确定;

二、用ALTER语句修改表

CHANGE 可以改变列的名称和数据类型

MODIFY 改变列的数据类型和位置(位置)

ADD 新增列,可自选类型

DROP 删除某列 

1、 用 'RENAME TO' 更改表名

ALTER TABLE table_name

RENAME TO  Xintable_name

2、 用 'CHANGE COLUMN' 改变原列的名称和和数据类型

ALTER TABLE Xintable_name

CHANGE COLUMN column_name Xincolumn_name INT NOT NULL ANTO_INCREMENT

CHANGE COLUMN column_name1 Xincolumn_name1 CHAR(10),

CHANGE COLUMN column_name2 Xincolumn_name2 VARCHAR(100),

ADD PRIMARY KEY (Xincolumn_name);

① 可以用一条ALTER语句更改多个列的名称和数据类型;

② 更改的数据类型和原数据类型不兼容,命令不会执行,如果兼容,则可能发生更惨的事,例如数据被截断:从VARCHAR(10)改为CHAR(1),数据' banana ' 将被改成' b ',同理,数字也可能出现此情景;因此更改数据类型前需用DESC TABLE 观察每列数据类型。

3、'MODIFY' 修改数据类型

ALTER TABLE Xintable_name

MODIFY COLUMN Xincolumn_name1 CHAR(20);

把上一节定义的Xincolumn_name1 CHAR(10)改为Xincolumn_name1 CHAR(20)

注意:在列中已有数据的情况下,最好不要更改列的位置

原因:位置更改的原理是  复制列的内容到临时表中——删除原列——用ALTER创建和原列同名的空列放在指定位置——最后把临时表中的内容复制到空列里

这背后的操作比较复杂,容易出现问题。

4、'ADD' 增加列

ALTER TABLE Xintable_name

ADD COLUMN Xincolumn_name3 CHAR(4),

ADD COLUMN Xincolumn_name4 INT(18),

ADD COLUMN Xincolumn_name5 DEC(6,2);

5、' DROP '=删除列

ALTER TABLE Xintable_name

DROP COLUMN Xincolumn_name3;

使用DROP COLUMN后,原本存在该列中的所有数据都会被删除

① 移除主键

ALTER TABLE Xintable_name

DROP PRIMARY KEY;

② 删除 'ANTO_INCREMENT'

ALTER TABLE Xintable_name

CHANGE  MY_ID MY_ID INT NOT NULL;

③ 更换 'ANTO_INCREMENT' 的列

ALTER TABLE Xintable_name

CHANGE  MY_ID MY_ID1 INT NOT NULL ANTO_INCREMENT;

注意:每个表中只有一列能有ANTO_INCREMENT,该列数据类型必须为整数型而且不能有NULL

三、在SQL语句中使用字符串(string)函数

1、 LFET函数RIGHT函数

SELECT LEFT(column_name,4) FROM table_name

SELECT RIGHT(column_name1,4) FROM table_name

函数里的数据位置使用的是列名

2、 SUBSTRING_INDEX

这个函数会找出指定字符或字符串前的所有内容

SUBSTRING_INDEX(column_name,',',1)

第一参数是列名

第二参数是要查到的字符或字符串

第三参数是指查找第几个第二参数,‘1’表示找第一个逗号,‘2’表示找第二个

其他一些字符串函数

SUBSTRING(my_string,start_position,length)

第一参数 文本是什么

第二参数 起始位置

第三参数 抓取的文本长度

SELECT SUBSTRING('liuyu',4,2)

UPEER(my_string)和LOWER(my_string) 把字符串改大小写

UPEER('liuyu')

REVESER(my_string)反转字符串里的字符排序

LTDIM(my_string)RTDIM(my_string) 清楚左侧多余的空格和右侧多余的空格

SELECT LTDIM('    liuyu');   返回的数据会把空格去掉

重要:字符串函数不会改变存储在表中的内容,他只是把字符串修改后的模样当做查询结果返回

3、SUBSTR

UPDATE table_name 

SET column_name=SUBSTR(column_name1,length)

此函数返回原始字符串(第一参数)的一部分:

第一参数即原始字符串;

第二参数是一个数值,表示从左起切除多少个字符;

即根据第二参数的数字,从左起切除X个字符,并返回剩余的字符串。

4、用字符串函数UPDATE数据

UPDATE table_name

SET column_name2=RIGHT(column_name1,2)

会更改列名是column_name1里的所有数据并赋值到column_name2里

字符串函数可以和SELECT DELETE UPDATE使用

相关文章

  • 五、ALTER语句

    一、基本语句 ALTER TABLE table_name ADD COLUMN column_name VARC...

  • Msql索引

    使用ALTER TABLE语句创建添加索引 使用ALTER TABLE语句创建添加索引 使用CREATE INDE...

  • ALTER TABLE

    参考文档 Alter Table 语句

  • 学—sql删除字段

    alter table aaa drop column name alter table语句使用示例: 【例1】将...

  • MySQL基础知识八

    增加字段 语句:Alter table 表名 add 字段名 数据类型; 修改字段数据类型 语句:Alter t...

  • 新版本mysql修改密码方法

    执行sql语句:alter user 'root'@'localhost' identified by '****...

  • MySQL之alter语句用法总结

    MySQL之alter语句用法总结 1:删除列 ALTER TABLE 【表名字】 DROP 【列名称】 2:增加...

  • SQL语句基础

    SQL语句 SQL分类: DDL:数据定义语句 create,alter,drop... DML:数据操作语句 i...

  • MYSQL案例

    SQL语句分类: 1.DDL DATA define LANGUAGE 数据定义语句: CREATE ALTER...

  • 2

    二、数据的操作(DML语句)SQL语句的分类1.DDL语句:数据定义语句create,alter,drop,tru...

网友评论

      本文标题:五、ALTER语句

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