精华内容
下载资源
问答
  • MySQL 查看数据库表结构 修改表结构 修改字段 修改约束条件 修改表名 删除数据库表 查看数据库表结构 可以使用 describe 语句来查看数据表结构,代码如下: describe users; 控制台中输入上述语句后的执行...

    MySQL 查看数据库表结构 修改表结构 修改字段 修改约束条件 修改表名 删除数据库表

    查看数据库表结构

    • 可以使用 describe 语句来查看数据表结构,代码如下:

      describe users;
      
    • 在控制台中输入上述语句后的执行结果如下所示:

      在这里插入图片描述

    修改表结构

    • 在实际应用中,当发现某个表的结构不满足要求时,可以使用 alter table 语句来修改表的结构,包括修改表的名称、添加新的字段、删除原有的字段、修改字段类型、索引及约束,还可以修改存储引擎及字符集等。修改表的语法格式如下:

      alter table 表名 action[,action]...;
      
    • 其中,每个动作(action)是对表所做的修改,MySQL 支持一条 alter table 语句带多个动作,中间用逗号隔开。下面详细介绍一下几种常用的修改

    • 1、修改字段

      • (1)添加新字段

        • 向表里添加新字段可以通过在 action 语句中使用 add 关键字来实现,语法格式如下:

          alter table 表名 add 新字段名 数据类型 [约束条件][first|after 字段名];
          
        • 向表中添加新字段时通常需要指定新字段在表中的位置,如果没有指定 first 或者 after 关键字,则在表的末尾添加新字段,否则在指定位置添加新字段

        • 例如,为用户表 users 添加一个 address 字段,数据类型为 varchar(50),非空约束,可以使用如下的 SQL 语句:

          alter table users add address varchar(50) not null;
          
        • 若要在 users 表中的 sex 字段后增加一个 phone 字段,数据类型为 varchar(20),非空约束,则对应的 SQL 语句如下:

          alter table users add phone varchar(20) not null after sex;
          
        • 添加字段后的 users 表的结构如下图所示

          在这里插入图片描述

      • (2)修改字段

        • 如果只需要修改字段的数据类型,则使用 change 或者 modify 子句,其语法如下:

          alter table 表名 change 原字段名 新字段名 数据类型;
          alter table 表名 modify 字段名 数据类型;
          
        • 例如,要修改 users 表中的 phone 字段,将数据类型由 varchar(20) 改为 int,并设置默认值为 0,下面两种方法是等价的:

          alter table users change phone phone int unsigned default 0;
          alter tablr users modify phone int unsigned default 0;
          
        • 如果需要修改字段的字段名(以及数据类型)这时就只能使用 change 子句了。例如,将 users 表中的 phone 字段修改为 telephone 字段,且数据类型修改为 varchar(20),则可以使用如下 SQL 语句:

          alter table users change phone telephone varchar(20);
          
      • (3)删除字段

        • 删除表字段的语法格式如下:

          alter table 表名 drop 字段名;
          
        • 例如,将 users 表中的 address 字段删除,则可以使用如下 SQL 语句:

          alter table users drop address;
          
    • 2、修改约束条件

      • (1)添加约束条件

        • 向表的某个字段添加约束条件的语法格式如下:

          alter table 表名 add constraint 约束名 约束类型(字段名);
          
        • 例如,向用户表 users 的 telephone 添加唯一性约束,且约束名为 phone_unique,可以使用如下 SQL 语句:

          alter table users add constraint phone_unique unique(telephone);
          
        • 添加了上述约束条件后,users 表的结构如下所示:

          在这里插入图片描述

        • 如果要向订单表 orders 的 uid 字段添加外键约束,且约束名为 fk_orders_users,可以使用如下 SQL 语句:

          alter table users add constraint fk_orders_users foreign key(uid) references users(uid);
          
      • (2)删除约束条件

        • 若要删除表的主键约束,其语法格式如下:

          alter table 表名 drop primary key;
          
        • 例如,要删除订单表 orders 的主键约束,可以使用如下 SQL 语句:

          alter table orders drop primary key;
          
        • 若要删除表的外键约束,其语法格式如下:

          alter table 表名 drop foreign key 外键约束名;
          
        • 例如,要删除订单表 orders 的外键约束,可以使用如下 SQL 语句:

          alter table drop foreign key fk_orders_users;
          
        • 若要删除字段的唯一性约束,则只需要删除该字段的唯一性索引即可,其语法格式如下:

          alter table 表名 drop index 唯一索引名;
          
        • 例如,要删除用户表 users 的 telephone 字段的唯一性索引,可以使用如下 SQL 语句:

          alter table users drop index phone_unique;
          
    • 3、修改表名

      • 修改表名的语法格式如下:

        alter table 原表名 rename to 新表名;
        
      • 还可以使用 rename table 语句,其语法格式如下:

        rename table 原表名 to 新表名;
        
      • 例如,将 users 表的表名修改为 tbl_users,可以使用以下代码:

        alter table users rename to tbl_users;
        rename table users to tbl_users;
        
    • 4、修改表的其他设置

      • 修改表的其他设置,常用的操作如修改存储引擎、默认字符集等。例如,修改 users 表的存储引擎和默认字符集:

        alter table users engine=MyISAM;
        alter table users default charset=utf8;
        

    删除数据库表

    • 要删除数据库表,可以使用 drop table 语句实现,例如删除 users 表:

      drop table users;
      
    • 在默认情况下,当试图删除一个不存在的表时,系统会报错。例如,以下的情况(orders 表不存在):

      drop table orders;
      
    • 系统会出现 Unknown table “orders” 的错误信息,为避免这种错误,可以使用如下语句:

      drop table if exists orders;
      
    展开全文
  • Navicat中修改表结构

    千次阅读 2017-09-04 20:00:32
    我是从EXCEL中导入到MySQL中,但是表结构与要求的不一样,为了修改表结构,我查了sql语句,navicat的新建查询,然后写的sql代码。但是后来才发现右击所需要修改的表,有设计表,点进去直接就可以修改表结构了。...

    我是从EXCEL中导入到MySQL中,但是表结构与要求的不一样,为了修改表结构,我查了sql语句,在navicat的新建查询,然后写的sql代码。但是后来才发现在右击所需要修改的表,有设计表,点进去直接就可以修改表结构了。所以有两种方法(推荐第二种)。

    方法一:sql语句

    - ## 修改表: test

    -- 修改表名
    -- ALTER TABLE `tableName` RENAME TO `test`;

    -- 增加主键
    -- alter table `test` add `f` int(5) unsigned default 0 not null auto_increment ,add primary key (`f`);
    -- 修改ID为自增,并设置为主键
    -- alter table `test` modify `id` int auto_increment primary key;

    -- 增加字段
    -- ALTER TABLE `test` ADD `h` INT default 0; 

    -- 修改字段:after
    -- ALTER TABLE `test` ADD COLUMN `d` INT DEFAULT '0' COMMENT ' ' AFTER `a`;
    -- ALTER TABLE `test` ADD COLUMN `d` INT DEFAULT '0' COMMENT ' ' AFTER `a`;

    -- 修改原字段名称及类型
    -- ALTER TABLE test CHANGE `d` `e` varchar(50) DEFAULT NULL; 

    -- 修改一个字段的类型  
    -- alter table `test` MODIFY `e` VARCHAR(100) DEFAULT NULL;

    -- 调整字段顺序
    -- ALTER TABLE `test` CHANGE `e` `e` varchar(50) DEFAULT NULL AFTER `c`;

    -- 删除字段
    -- ALTER TABLE `test` DROP `e`;


    -- ++ 索引操作

    -- 添加PRIMARY KEY(主键索引)
    -- ALTER TABLE `test` ADD PRIMARY KEY ( `e` );
    -- 添加UNIQUE(唯一索引)
    -- ALTER TABLE `test` ADD UNIQUE (`e`);
    -- 添加INDEX(普通索引)
    -- ALTER TABLE `test` ADD INDEX index_name ( `e` );
    -- 添加FULLTEXT(全文索引)
    -- ALTER TABLE `test` ADD FULLTEXT (`e`);
    -- 添加多列索引
    -- ALTER TABLE `test` ADD INDEX index_name ( `a`, `b`, `c` )
    方法二:在navicat中操作

    例如要修改test表的结构

    右击表test,点击修改表,修改里面的字段值,主键,自增长等。

    展开全文
  • 如何进行修改SQL表结构

    千次阅读 2017-10-18 21:18:32
    alter table alter column 字段名 类型的长度--varchar(60) 例:把城市的城市名字段有原来的长度20改为30 alter table Testcity alter column cityname varchar(30) ②更改字段类型 alter table ...

    ①更改字段类型长度

    alter table 表

    alter column 字段名 类型的长度--varchar(60)

    例:把城市表的城市名字段有原来的长度20改为30

    alter table Testcity

    alter column cityname varchar(30)

    ②更改字段类型

    alter table 表

    alter column 字段名 更改后的类型

    例:把城市表的城市名字段有原来的varchar类型改为int类型

    alter table Testcity

    alter column cityname int

    ③添加not null约束

    alter table 表 alter column 字段名 int not null

    例:把cid不能输入空值

    alter table Testcity alter column cid int not null

    ④设置主键

    alter table 表 add constraint 主键名 primary key(字段名)

    例:把cid设为主键

    alter table Testcity add constraint PK_cid primary key(cid)

    ⑤更改字段名

    EXEC sp_rename '表名.字段名','更改后的字段名','COLUMN'

    ⑥添加字段名

    ALTER TABLE 表 ADD 字段名 字段类型 DEFAULT null

    展开全文
  • MYSQL的修改表结构SQL语句

    千次阅读 2019-07-07 22:02:41
    MYSQL的修改表结构SQL语句: -- 查看创表语句 SHOW CREATE TABLE t_login; -- 查看表结构 desc t_login1; -- 增加列 ALTER TABLE t_login1 ADD COLUMN COL_1 VARCHAR(10); -- 修改列 ALTER TABLE t_login1 ...

    MYSQL的修改表结构SQL语句:


    -- 查看创表语句
    SHOW CREATE TABLE t_login;

    -- 查看表结构
    desc t_login1;

    -- 增加列
    ALTER TABLE t_login1 ADD COLUMN COL_1 VARCHAR(10);

    -- 修改列
    ALTER TABLE t_login1 MODIFY COLUMN COL_1 INT(10);

    -- 修改列名称
    ALTER TABLE t_login1 CHANGE COL_1 COL_2 VARCHAR(50);

    -- 删除列
    ALTER TABLE t_login1 DROP COLUMN COL_2;

    -- 修改整个表的字符集
    ALTER TABLE t_login1 DEFAULT CHARACTER SET UTF8;

    -- 修改某个字段的字符集
    ALTER TABLE t_login1  CHANGE stu_num stu_num varchar(20) CHARACTER SET utf8;

    欢迎关注我的微信公众号,更多内容将在微信公众号中发布:

    展开全文
  • SQL_修改表结构

    万次阅读 2014-10-03 20:10:03
    SQL_修改表结构 说明 实验环境:利用scott用户数据,简单举例修改表结构范例 SQL> create table emp1 as select * from emp; Table created --创建实验表 1. 表中添加新列 (1)、语法 SQL> alter table 表名 add ...
  • mnesia如何修改表结构

    千次阅读 2014-06-30 23:47:03
    mnesia创建的时候需要指定表record结构,如果定义的record结构修改了,就要更新数据的表结构,否则mnesia无法正常读取和写入数据。文章介绍如何修改mnesia的表结构
  • db2修改表结构

    千次阅读 2013-06-19 19:24:12
    注意:不能有外键约束,不能被视图引用 2.增加字段 alter table tablename add column colname type  3.删除字段 alter table table drop column colname  4.修改字段类型 alter table tablename
  • SQL 修改表结构

    千次阅读 2011-08-11 17:17:41
    数据库修改表结构SQL 修改表结构包括: 增加字段、删除字段、增加约束、删除约束、修改缺省值、修改字段数据类型、重命名字段、重命名表。 所有这些动作都是用 ALTER TABLE 命令执行的。 1、 增加字段 ...
  • oracle 修改表结构

    千次阅读 2018-11-29 17:30:03
    ALTER TABLE 语句用于已有的中添加、修改或删除列。 在表中添加列: ALTER TABLE table_name ADD column_name datatype 还可以设置默认值 例如: ALTER TABLE user_info add(log_time TIMESTAMP(6) default ...
  • 查看修改MySQL表结构命令

    万次阅读 多人点赞 2020-06-12 16:41:01
    查看修改MySQL表结构命令 简述 小编经常会遇到一些数据库编码不对得问题,好TM头疼,这里做一个记录,供大家参考。 修改数据库字符集: ALTER DATABASE db_name DEFAULT CHARACTER SET character_name [COLLATE …]...
  • 有时候需要修改表结构所以这里记录了一些sql修改表结构的命令 方式 增加列 alter table tableName add columnName varchar(30) 修改列类型: alter table tableName alter column columnName ...
  • sql删除表清除表数据修改表结构

    千次阅读 2016-10-25 16:51:21
    删除表(包括表结构及表数据) drop table student;...修改表结构 1、添加一列 student表中添加一列sname alter table student add sname varchar(30); 2、修改列 student表中修改sname为sname1 alter table st
  • mysql 修改表表结构常用sql语句

    万次阅读 2018-11-13 17:52:43
    批量修改表名的sql语句 alter table old_name rename new_name; --修改表名 alter table test add column add_name varchar(10); --添加列 alter table test drop column del_name; --删除列 alter table ...
  • Oracle修改表结构

    千次阅读 2018-08-11 18:29:34
    一、列的修改 准备工作:先创建一个,并插入数据。 drop table member purge; create table member( mid number , name vachar2(50) default '无名氏'); insert into member (min,name)values(1,'李一'); ...
  • sql 修改表结构

    千次阅读 2018-11-13 22:52:17
    sql alter 修改字段使用:以下语句意思为 给添加字段。 添加字段: ALTER TABLE j_leaveoffice ADD isChangeManager VARCHAR(4) COMMENT '是否更换项目负责人'; ALTER TABLE j_leaveoffice ADD ...
  • sql语句修改表结构

    千次阅读 2013-08-07 17:33:00
    也说明了表结构的细节设计如约束等,但是没有说明如果创建了一个表结构后修改这个结构,是重新创建还是可以直接修改,学员经常会提出这些问题,下面对使用sql语句修改表结构做一个说明。 修改表结构包括:增加字段...
  • 修改表结构常用语句

    千次阅读 2019-03-06 15:53:26
    SQL脚本修改表结构 新建表: create table [表名] ( [自动编号字段] int IDENTITY (1,1) PRIMARY KEY , [字段1] nVarChar(50) default '默认值' null , [字段2] ntext null , [字段3] datetime, [字段4] money null...
  • SQL Server 修改表结构

    万次阅读 2018-08-16 16:33:58
    查看指定表结构 exec sp_help Reports 修改表名 exec sp_rename 'Reports','Reports2' 删除数据表 不能删除有外键约束的表。 drop table Reports 表字段 alter table Reports add NewColumn ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,048,090
精华内容 419,236
关键字:

修改表结构在哪进行