zoukankan      html  css  js  c++  java
  • MySQL数据库操作(3)表结构操作

    ALTER TABLE 语句用于在已有的表中添加、修改或删除列。

    添加单列:
    ALTER TABLE 表名 ADD [COLUNM] 列名 数据类型 [FIRST|AFTER 指定列];
    例子:

    +-------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | varchar(10) | NO | | NULL | |
    | age | int(11) | NO | | NULL | |
    +-------+-------------+------+-----+---------+-------+

    末尾插入address

    ALTER TABLE student_details ADD address varchar(50);
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | varchar(10) | NO | | NULL | |
    | age | int(11) | NO | | NULL | |
    | address | varchar(50) | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+

    头部插入name

    ALTER TABLE student_details ADD name varchar(10) FIRST;
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(10) | YES | | NULL | |
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | varchar(10) | NO | | NULL | |
    | age | int(11) | NO | | NULL | |
    | address | varchar(50) | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+

    sex后插入marry

    ALTER TABLE student_details ADD marry varchar(10) AFTER sex;
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(10) | YES | | NULL | |
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | varchar(10) | NO | | NULL | |
    | marry | varchar(10) | YES | | NULL | |
    | age | int(11) | NO | | NULL | |
    | address | varchar(50) | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    

      

    添加多列:
    ALTER TABLE 表名 ADD [COLUMN] 列名1 数据类型 [FIRST|AFTER 指定列], ADD [COLUMN] 列名2 数据类型 [FIRST|AFTER 指定列];
    例子:
    age后插入father, mother

    ALTER TABLE student_details ADD father varchar(10) AFTER age,ADD mother varchar(10) AFTER age;
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(10) | YES | | NULL | |
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | varchar(10) | NO | | NULL | |
    | marry | varchar(10) | YES | | NULL | |
    | age | int(11) | NO | | NULL | |
    | mother | varchar(10) | YES | | NULL | |
    | father | varchar(10) | YES | | NULL | |
    | address | varchar(50) | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    

    删除数据表中的列:
    ALTER TABLE 表名 DROP [COLUMN] 列名 ;
    例子:
    删除father,mother

    ALTER TABLE student_details DROP father, DROP mother;
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(10) | YES | | NULL | |
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | varchar(10) | NO | | NULL | |
    | marry | varchar(10) | YES | | NULL | |
    | age | int(11) | NO | | NULL | |
    | address | varchar(50) | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    

     

    修改列名和数据类型:
    ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
    例子:
    marry 改名 married

    ALTER TABLE student_details CHANGE marry married varchar(12);
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(10) | YES | | NULL | |
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | varchar(10) | NO | | NULL | |
    | married | varchar(12) | YES | | NULL | |
    | age | int(11) | NO | | NULL | |
    | address | varchar(50) | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    

      

    修改数据类型不改列名:
    ALTER TABLE 表名 MODIFY 列名 新数据类型;
    例子:
    sex 修改数据类型 INT

    ALTER TABLE student_details MODIFY sex INT;
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(10) | YES | | NULL | |
    | s_id | int(11) | NO | PRI | NULL | |
    | sex | int(11) | YES | | NULL | |
    | married | varchar(12) | YES | | NULL | |
    | age | int(11) | NO | | NULL | |
    | address | varchar(50) | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    

     

    修改表名:
    ALTER TABLE 表名 RENAME TO 新表名;
    例子:

    +-----------------+
    | Tables_in_mydb |
    +-----------------+
    | book |
    | course |
    | course_select |
    | department |
    | student |
    | student_details |
    | tb1 |
    +-----------------+
    ALTER TABLE book RENAME TO music;
    +-----------------+
    | Tables_in_mydb |
    +-----------------+
    | course |
    | course_select |
    | department |
    | music |
    | student |
    | student_details |
    | tb1 |
    +-----------------+
    

      

  • 相关阅读:
    其他综合收益的会计处理
    公允价值变动损益与投资收益的区别是什么?
    公允价值变动损益属于什么科目
    交易性金融资产和其他权益工具投资的区别
    属于在某一时段内履行的履约义务的情形
    合同履约成本和合同取得成本
    linux find查找并拷贝 exec xargs区别[转载]
    centos 安装discuz
    批处理变量,扩展,及变量截取
    常用DDL
  • 原文地址:https://www.cnblogs.com/ikamu/p/8331760.html
Copyright © 2011-2022 走看看