MySQL常用操作命令

MySQL的操作命令离不开四字真言:增删改查
简单的记录一下MySQL常用的增删改查命令

主要使用关键字 ALTER,RETURN TO,ADD,CHANGE,MODIFY,DROP

  • 使用 ALTERRETURN TO 更改表名称

    ALTER TABLE old_table_name RETURN TO new_table_name;
    

表示将旧表 old_table_name 修改成 new_table_name

其中:
old_table_namenew_table_name分别表示 “原表名” 和 “新表名”

  • 使用 ALTERADD COLUMN 为表添加新列,并指定其位置
    ALTER TABLE table_name
    ADD COLUMN column_name data_type(limit) [NOT NULL] [DEFAULT VALUE] [position];
    也可以或使用 ALTERAFTERALTERBEFORE 来指定位置
    ALTER TABLE table_name
    ADD COLUMN column_name data_type(limit) [NOT NULL] [DEFAULT VALUE]
    AFTER/BEFORE other_column_name;
    其中:
    [ ]为可选项
    data_type(limit) 数据类型及限制,如 VARCHAR(10) , DEC(4,2)
    DEFAULT 使用默认值,VALUE是默认值
    position 列表位置,可填 FIRST,SECOND,LAST等,不填则默认在最后一列
    other_column_name 其他列名

  • **使用 ALTERCHANGE 修改表列名称,并将其设置成 KEY **

    ALTER TABLE table_name
    CHANGE COLUMN old_column_name new_column_name data_type
    NOT NULL [AUTO_INCREMENT],
    ADD PRIMARY KEY (new_column_name);
    

    其中:
    [ ]为可选
    table_name 表示表的名称
    old_column_name 表示修改前的列名称
    new_column_name 表示修改后列的名称
    data_type 数据类型,如 INT ,VARCHAR
    NOT NULL 不允许NULL值出现(可理解成必填,对于有主键的表,主键是必填的)
    AUTO_INCREMENT 数值以公差为1自动递增,每个表只有一列加上,该列只能是整形类并且不能包含 NULL

  • 使用 ALTERCHANGE 修改一个或多个列的名称和数据类型
    假设有如下类型的数据表 drinks
    ![MySQ数据表drinks][img]
    [img]:http://ww2.sinaimg.cn/large/6da989degw1f13bxxzc09j20ft05udgx.jpg

    现想修改 main列second列 的名称和数据类型,可使用下列命令达成:

    ALTER TABLE drinks
    CHANGE COLUMN main new_main VARCHAR(10),
    CHANGE COLUMN second new_second VARCHAR(8);
    

修改后如下:
![CHANGE修改操作][img2]
[img2]:http://ww4.sinaimg.cn/large/6da989degw1f13caeskejj20fu0603zn.jpg
main列second列 已经修改成 new_main列new_second列VARCHAR 的字符限制也做了修改,值得注意的是,修改数据类型可能会导致数据丢失,比如将 new_main列的数据类型 VARCHAR(50) 修改成 VARCHAR(10) , new_main列 中大于 10 字符的数据将会发生截断,若将 VARCHAR(50) 修改成 INT 等数值型类型,原列的数据将完全丢失。

  • 使用 ALTERMODIFY 修改数据类型
    使用 MODIFY 可以在不修改列名的情况下修改数据类型,以数据表drinks为例,将 main列 修改成 INT(1) , 命令如下:

    ALTER TABLE drinks MODIFY COLUMN main INT(1);
    

修改后如下:

![MODIFY修改操作][img3]
[img3]:http://ww3.sinaimg.cn/large/6da989degw1f13ivw81bpj20fs05edgm.jpg

  • 使用 ALTERDROP 删除列和主键
    以数据表drinks为例,删除 directions列 ,命令如下:

    ALTER TABLE drinks DROP COLUMN directions,DROP PRIMARY KEY;
    

修改后如下,directions列主键 已经被删除。
![DROP删除列操作][img4]
[img4]:http://ww3.sinaimg.cn/large/6da989degw1f13kkye7blj20dr04zq3n.jpg
值得注意的是,在删除主键时,需要先用 ALTERMODIFY 删除 AUTO_TNCREMENT, 否则会出现错误。
![KEY删除错误][warn]
[warn]:http://ww3.sinaimg.cn/large/6da989degw1f13kobl2thj20hx01fwel.jpg


UPDATE table_name SET column_name = 'newvalue';

UPDATE my_contacts SET state = RIGHT(location,2);
#state列右边数起,前两个字符

SUBSTRING(your_string,start_position,length);
SUBSTRING(列名,分隔符,第几个分隔符);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容