数据库ddl操作有啥(简单聊聊数据库)

本期文章我们来聊一下DDL语言,简单回顾一下DDL语言的概念:数据库定义语言,主要用于定义或改变表(TABLE)的结构,数据类型,表之间的链接和约束等初始化工作上。虽然与DCL一样,日常工作的时候用到的场景很少,但是同样我们需要了解一下。

DDL常见的数据类型:

日期和时间类型

date:3字节,日期,格式为:yyyy-mm-dd

time:3字节,时间,格式为:hh:mm:ss

datetime:8字节,日期时间,格式为:yyyy-MM-dd hh:mm:ss

year:1字节,年份

timestamp:4字节,自动储存记录修改时间

整型

tinyint:1字节

smallint:2字节

mediumint:3字节

int:4字节

bigint:8字节

浮点型

float(m,d):4字节,单精度浮点型。m总位数,d小数位

double(m,d):8字节,双精度浮点型。m总位数,d小数位

decimal(m,d):(m 2)字节,精准浮点型。这个常用于涉及到钱的场景,前两者都存在一定的精度损失问题

例如:随机建立一张表,有一列的数据格式为float(5,2)

1.插入111.111,查询结果为111.11(正常情况)

2.插入1111.11,查询结果为999.99(取可取的最大值)

3.插入111.1652,查询结果为111.17(末尾四舍五入)

字符串数据类型

char:固定长度,最多255个字符

varchar:可变长度,最多65535个字符

tinytext:可变长度

mediumtext:可变长度

longtext:可变长度

最常见的,也是最常问的就是char和varchar,我将着重讲一下这两者的区别:

1.char(n)和varchar(n)中的n,指的其实是字符数,而不是字节数,不同的编码格式,字符占有的字节大小也是不同的,比如在UTF-8的编码格式下,1个字符就会占3个字节。

2.char(n)与varchar(n)如果超过设置的最大字符数,则字符串会被截断。

3.char(n)不管值是多少,都一定会占满n个字符,varchar(n)则灵活很多,用多少就占多少。

最核心的区别其实就是最后一点,当然了,两者适用的场景也不同,一般来说,char会用于限定字符数的场景,类似于性别,你要么男,要么女,只可能有一个字符,再比如电话号码,中国大陆的都是11位,你不能写个12位吧,还有身份证等等,就不再一一举例了,而varchar适用的场景更多,这里也不再赘述,以后我会配合视频来一起讲解,方便大家理解。

然后DDL语言可以常用于对数据库的操作有(增删查改):

查看存在的所有数据库:

数据库ddl操作有啥(简单聊聊数据库)(1)

基本的增删改数据库:

数据库ddl操作有啥(简单聊聊数据库)(2)

接下来是DDL语言最常见的作用,用于创建表以及改变表结构的用法:

比如我们创建一张老师表,那么这张表起码应该有老师的编号,姓名,性别,年龄以及所授学科:

数据库ddl操作有啥(简单聊聊数据库)(3)

其中:teacher为表名,t_id为老师编号,以此类推,后面接的是数据类型。

当我们建好表之后,发现少写了一列,或者多写了一列该怎么办?或者我们想修改表名应该怎么办?

这里以增加一列为例:

数据库ddl操作有啥(简单聊聊数据库)(4)

然后我们打开数据库中刚刚建立好的teacher表,看看是否将地址这一列加进去了:

数据库ddl操作有啥(简单聊聊数据库)(5)

显示加入成功。

其他的依次类推,我只写下命令,不演示效果了,如果有小伙伴希望我演示的清楚些,也请评论区留言,让我知道有人愿意在看:

数据库ddl操作有啥(简单聊聊数据库)(6)

那么建好表之后,我们如何才能将数据插入表中呢?虽然可以直接通过软件直接对数据进行增删改查,但是在学习阶段,大家肯定还是需要去多多敲代码来熟悉原理的,但是这些将是我们下一期文章的内容,希望感兴趣的小伙伴可以关注我,将会持续更新教学文章。

更文不易,希望看到的小伙伴可以多多点赞关注评论,谢谢大家啦!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页