MySQL数据库表的操作

MySQL中的表并不是从创建之后就不能改变的,我们可以通过后期通过sql语句来修改想要修改的表中的属性,下面我们来一起看一下叭?。

  1. 修改表名
    表名可以在一个数据库中唯一地确定一张表,数据库通过表名来区分不同的表,这也就意味着数据库中不可能存在两个相同名字的表
alter table 旧表名 rename 新表名
  1. 修改字段的数据类型
alter table 表名 modify 属性名 数据类型;
//该数据类型指的是修改后新的数据类型
  1. 修改字段名和数据类型
    字段名在整张表中也是独一无二的存在,数据库通过比较字段名区分表中不同的字段。
alter table 表名 change 旧属性名 新属性名 新数据类型;

“新数据类型”是必须添加的,倘若不需要修改属性的数据类型,则要将新数据类型设置成与原来一样。 倘若要修改的字段存在约束条件,则字段的约束条件也要后缀在数据类型之后。
这个时候你可能注意到了,modify和change都可以修改字段的数据类型,那它们有什么区别吗???
两者的区别在于:
※ change可以在改变字段数据类型的同时修改字段名,如果要使用change来修改字段数据类型,那么change后面必须跟两个相同的字段名。
※ modify只能修改字段的数据类型。

  1. 在表中添加字段
//[]内的内容表示可选参数
alter table 表名 add 新属性名 数据类型 [完整性约束条件] [first|after 属性名];

first 作用是将新增加的字段设置为表的第一个属性;
after 属性名 作用是将新增加的字段添加到属性名所指的字段后。
如果在没有指定新增字段的位置,系统默认将新增加的字段设置为表的最后一个字段。

例如:在me表中phone字段后边增加一个有非空约束的adress的字段,sql语句如下:

//我们先查看一下表的结构
mysql> desc me;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI | NULL    |       |
| phone | int(11) | NO   |     | NULL    |       |
| name  | char(4) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
3 rows in set (0.11 sec)
//增加adress字段
mysql> alter table me add adress varchar(20) not null after phone;
Query OK, 0 rows affected (0.92 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc me;
+--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| id     | int(11)     | NO   | PRI | NULL    |       |
| phone  | int(11)     | NO   |     | NULL    |       |
| adress | varchar(20) | NO   |     | NULL    |       |
| name   | char(4)     | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
  1. 删除字段
    一定要删除表中存在的字段!!!
mysql> alter table me drop adress;
Query OK, 0 rows affected (0.89 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> desc me;
+-------+---------+------+-----+---------+-------+
| Field | Type    | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id    | int(11) | NO   | PRI | NULL    |       |
| phone | int(11) | NO   |     | NULL    |       |
| name  | char(4) | YES  |     | NULL    |       |
+-------+---------+------+-----+---------+-------+
3 rows in set (0.00 sec)
  1. 修改字段的排列顺序
alter table 表名 modify 属性名1 数据类型 first|after 属性名2

“属性名1” - - - 指需要修改位置的字段参数。
“数据类型” - - - 指属性名1参数的数据类型。
“first” - - - 指定位置为表的第一个位置。
“after 属性名2” - - - 指定属性名1插入在属性名2之后。

  1. 删除表的外键约束
alter table 表名 drop foreign key 外键别名;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值