温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

mysql之DDL操作--数据表

发布时间:2020-08-05 12:30:04 来源:网络 阅读:658 作者:xiaochegzhi 栏目:数据库

我们创建好了数据库以后,就可以创建相应的数据表,那么创建表也是属于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命令。



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI