zoukankan      html  css  js  c++  java
  • 修改数据表

    1、修改列定义

     ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST|AFTER col_name]

    把id修改到第一行

    mysql> ALTER TABLE users3 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;
    Query OK, 0 rows affected (0.36 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> SHOW COLUMNS FROM users3;
    +------- - --+---------------------     -+----    --+---  --+---------+-------+
    | Field        | Type                        | Null     | Key    | Default | Extra |
    +------- -- -+----------------------    +-----     -+---  --+---------+-------+
    | id            | smallint(5) unsigned | NO       |          | NULL     |        |
    | username | varchar(10)              | NO       |          | NULL     |        |
    | pid          | smallint(5) unsigned | YES      |          | NULL     |        |
    | age         | tinyint(3) unsigned    | NO       |         | NULL      |        |
    +------ -- --+----------------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)

    修改列定义时有可能会造成数据丢失,例id类型由smallint改为tinyint.

    2、修改列名称(CHANGE [COLUMN]既可以修改列定义,也可以修改列名称

     ALTER TABLE tbl_name CHANGE [COLUMN] old_col_nmae new_col_name column_definition  [FIRST|AFTER col_name]

    mysql> ALTER TABLE users3 CHANGE pid p_id TINYINT UNSIGNED NOT NULL;
    Query OK, 0 rows affected (0.23 sec)
    Records: 0 Duplicates: 0 Warnings: 0

    mysql> SHOW COLUMNS FROM users3;
    +------- - --+---------------------     -+----    --+---  --+---------+-------+
    | Field        | Type                        | Null     | Key    | Default | Extra |
    +------- -- -+----------------------    +-----     -+---  --+---------+-------+
    | id            | smallint(5) unsigned | NO       |          | NULL     |        |
    | username | varchar(10)              | NO       |          | NULL     |        |
    | pid          |tinyint(5) unsigned     |NO       |          | NULL     |        |
    | age         | tinyint(3) unsigned    | NO       |         | NULL      |        |
    +------ -- --+----------------------+------+-----+---------+-------+
    4 rows in set (0.01 sec)

    3、修改数据表的名称

    第一种方法:ALTER TABLE tbl_name RENAME [TO|AS] new_tbl_name

    第二种方法:RENAME TABLE tbl_name TO new_tbl_name [tbl2_name TO new_tbl2_name]

    mysql> ALTER TABLE users3 RENAME USERS4;
    Query OK, 0 rows affected (0.06 sec)

    mysql> SHOW TABLES;
    +----------------+
    | Tables_in_test |
    +----------------+
    | province |
    | users     |
    | users1  |
    | users2  |
    | users4 |
    +----------------+
    5 rows in set (0.00 sec)

    mysql> RENAME TABLE users4 TO users3;
    Query OK, 0 rows affected (0.11 sec)

    mysql> SHOW TABLES;
    +----------------+
    | Tables_in_test |
    +----------------+
    | province        |
    | users            |
    | users1          |
    | users2          |
    | users3         |
    +----------------+

    建议尽量少使用数据列的更名和数据表的更名

  • 相关阅读:
    数据绑定表达式语法(Eval,Bind区别)
    使用博客园的第一件事 自定义主题
    sql2000 跨服务器复制表数据
    使用UpdatePanel 局部刷新出现中文乱码的解决方法!!
    MMC不能打开文件MSC文件
    sql 日期 、时间相关
    loaded AS2 swf call function in AS3 holder
    Rewrite the master page form action attribute in asp.net 2.0
    100万个不重复的8位的随机数
    flash 中实现斜切变型
  • 原文地址:https://www.cnblogs.com/toudoubao/p/6606339.html
Copyright © 2011-2022 走看看