【MySQL】表的操作

今天我们来谈谈MySQL下对表的操作


目录

一、创建表

二、查看表

2.1 查看库中存有的表

2.2 查看表结构 

2.3 查看表的创建语句

三、修改表

3.1 重命名表名

3.2 新增列

3.3 修改列的数据类型

3.4 删除列

3.5 重命名列

3.6 向表中插入数据

四、删除表


一、创建表

我们要想在数据库中创建表首先要进入想要创建表的库中,我们可以使用use语句来选择我们所要创建表的库:

use 库名称;

上面我就选择了user1这个库来准备建表

下面是建表语句:

CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

table_name 表示表名

field 表示列名

datatype 表示列的类型

character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准

collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准

engine 存储引擎,如果没有指定存储引擎,则以配置文件中的存储引擎为准

现在我们创建了一个person1表: 

我们可以看到该表中有id/name/birthday三种不同类型的数据(对于数据类型我们在下期博客中会仔细讲解),并且该表使用的字符集为utf8,校验规则为utf8_general_ci,存储引擎为MyISAM,其中comment后的内容是对数据做的解释。

创建完后我们查看一下该库中的文件:

可以看到一下子多出来三个文件。

现在我们再来创建一个一模一样的表person2:

我们可以看到person2这个表唯一不同的是存储引擎是InnoDB,创建完后我们查看一下该库中的文件:

这次创建person2表只多了两个文件,这是由于存储引擎的不同所导致的(MyISAM存储引擎会将索引和数据分开存,InnoDB存储引擎会将数据和索引存在一起,关于索引我们在后期会谈到)。

二、查看表

2.1 查看库中存有的表

show tables;

当我们选择了一个库时,可以用上面语句来查看库中存有的表:

2.2 查看表结构 

desc 表名称;

用上面的语句我们可以查看具体某个表的结构: 

 

我们可以看到该语句显示了表的数据名称、数据类型、约束、主键、外键等信息(约束、主键、外键我们后面会仔细讲解)

2.3 查看表的创建语句

show create table 表名称;

通过上面的语句我们可以看到创建表时的语句:

不过直接显示太乱了,我们可以将语句中的;换成\G

这样子就可以去除一下无用的符号,更加方便我们查看

三、修改表

在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。我们还有添加字段,删除字段等等的需求。这时我们就需要修改表:

3.1 重命名表名

alter table 表原名 rename to 重命名的表名;

下面我们将person1表重命名为person: 

3.2 新增列

ALTER TABLE 想要新增列的表名 ADD 新增列名 数据类型 AFTER 想要增添的位置;

下面我们在person表原有的birthday这个列后面插入一个数据类型为varchar(128),列名为address的新列:

我们发现新增的非常成功,comment在这里说明这个列是记录用户住址的

3.3 修改列的数据类型

alter table 列所在的表名 modify 列名 新的数据类型;

在下面我们将person这个表的name列的数据类型做了修改: 

但是我们修改后可以发现,原来comment说明的内容没有了,所以我们在修改列类型的时候要注意这一点,在修改前应该仔细查看创建表时的语句。

3.4 删除列

注意:删除列一定要小心,删除的列及其对应表中的列数据都会被删除!

alter table 列所在的表名 drop 列名;

下面我们演示删除person表的birthday列: 

3.5 重命名列

alter table 表名 change 列名 重命名的列名 数据类型;

我们想要对列进行重命名会比较麻烦,要加上列的数据类型:

 

3.6 向表中插入数据

insert into 想要插入的表名(所要插入的列1,所要插入的列2...) values(数据1,数据2...);

下面我们向t1这张表中插入数据做演示: 

下面我们向num这个列插入数据1:

下面我们向name这个列插入数据'张三':

如果表名称后面不写要插入的列,则默认从左到右向所有列插入数据:

 

 

四、删除表

drop table 表名;

现在我们演示删除person2这个表 :


本期博客到这里就结束了,下期很快和大家见面~

更多MySQL技能请看:http://t.csdn.cn/W9dQl

博主努力更新中~

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

1e-12

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值