文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

mysql之DDL操作--数据表

2024-04-02 19:55

关注

我们创建好了数据库以后,就可以创建相应的数据表,那么创建表也是属于DDL数据定义层面,接下来我们来学习一下。

1、创建数据表

创建指令:create table tb_name [表选项]

我们发现指令与数据库的创建指令是相同的,没什么大的区别。

PS:当然我们创建表之前,首先先选择相应的数据库。

接下来我们创建一张学生信息表

create table student_studentinfo(

id int,

name varchar(5),

class_id int);


关于列类型以及列约束即列属性会在后面说到。

mysql之DDL操作--数据表

这里有几个要注意的地方:我们在创建数据表时是选择了相应的数据库的,使用的指令是:

use db_name 

同时,在创建数据表时,我们在业务逻辑上设置表的前缀,一般在成熟的项目里都有前缀,为什么要设置前缀呢?主要有以下几个因素

A、当我们只有一个数据库时,如果一个数据库里有多个项目,为了防止数据表的管理混乱,一般我们都要设置前缀以便识别和管理。

B、当数据表非常多的时候,使用前缀得于快速检索,如一个数据库里有多个项目,如有学生信息系统,学生考试系统,教师管理系统,那么通过前缀就可以快速的检索到数据表。

数据表名的规则也是要遵循标识符的规则,这里不再多说。

那么我们再创建数据表,如果没有选择数据库,我们可以这样创建:

create table db_name.tb_name

mysql之DDL操作--数据表


我们上次说到创建数据库时会在data目录 下自动生动以数据库名命名的目录,那么我们在创建数据表的时候也会自动一些文件。


mysql之DDL操作--数据表

我们发现教师信息表生成了两个后缀名.frm .ibd的文件,其实这两个文件是数据表的结构以及索引和数据的存储文件,这是innodb存储引擎默认生成的文件,那么如果是myisam的话则会生成三个文件。

mysql之DDL操作--数据表



2、查看数据表 查看创建的数据表信息以及表的结构

指令:show tables;  show create table tb_name;describle tb_name


show tables  是查看当前数据库下有哪些数据表,和查看库一样。

show create table tb_name 则是查看数据表的相关创建信息

describle tb_name 也支持简写 desc tb_name

mysql之DDL操作--数据表

同理,我们查看数据表时也支持show tables like 指令


这里就不测试了哈。


3、删除数据表

针对不想要的表我们可以删除,和删除数据库的方法是一样的

删除指令:drop table tb_name 或是drop table if exists tb_name

mysql之DDL操作--数据表


4、数据表的更新操作

A、可以更新表名

rename table old_tbname to new_tbname

同时该指令也支持跨数据库命名

mysql之DDL操作--数据表

mysql之DDL操作--数据表

所以利用这个功能我们可以完成数据库的复制和重命名功能。

1、首先我们先创建一个数据库

2、利用rename指令将要复制的数据库里的所有表全部复制到新的数据库里

复制多张表可以这样:rename table tb_name1 to db_name.tb_name,tb_name2 to db_name.tb_name2 ...

通过这两步就可以完成数据库的复制了。


B、可以更新表的结构

更新表的结构主要有添加新的列定义

修改列定义

重命名列定义

删除列定义

alter table tb_name add 列定义

             modify 列名  列定义

             change 列名  新列名 列定义

             drop 列名

mysql之DDL操作--数据表

重命名一个列

mysql之DDL操作--数据表

更新一个列

mysql之DDL操作--数据表

关于列的删除就非常简单了,在这里就没演示怎么操作了。


C、可以更新表的选项信息

更新表的字符编码或是存储引擎

alter table tb_name character set 编码

alter table tb_name engine 存储引擎

mysql之DDL操作--数据表

mysql之DDL操作--数据表


最后是数据表的删除操作了,通过前面的知识我们已经知道怎么删除数据库了,所以删除表和删除数据库是一样的道理。这里不演示了。


一般来说,数据表删除后是不可以恢复的,最好慎用drop命令。



阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯