简单聊聊数据库——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语言可以常用于对数据库的操纵有(增删查改):
查看存在的所有数据库:
https://p9.toutiaoimg.com/large/pgc-image/2028b85983914b349b65f5c8aeb6401e
基本的增删改数据库:
https://p3.toutiaoimg.com/large/pgc-image/73f70fda807744a39c6c6dd5255359bc
接下来是DDL语言最常见的作用,用于创建表以及改变表结构的用法:
好比我们创建一张老师表,那么这张表起码应该有老师的编号,姓名,性别,年龄以及所授学科:
https://p3.toutiaoimg.com/large/pgc-image/d5cc72c8afb048679cbc1b0a5979cbba
其中:teacher为表名,t_id为老师编号,以此类推,后面接的是数据范例。
当我们建好表之后,发现少写了一列,或者多写了一列该怎么办?或者我们想修改表名应该怎么办?
这里以增长一列为例:
https://p6.toutiaoimg.com/large/pgc-image/460e462347864fea8b7de14bfb9e05a8
然后我们打开数据库中刚刚建立好的teacher表,看看是否将地点这一列加进去了:
https://p26.toutiaoimg.com/large/pgc-image/830a095f79d342318cb11c39c98d0d68
显示参加成功。
其他的依次类推,我只写下命令,不演示效果了,如果有小伙伴盼望我演示的清楚些,也请评论区留言,让我知道有人愿意在看:
https://p6.toutiaoimg.com/large/pgc-image/9b2dcc9c66ad468c9f4958bf74f1d4dc
那么建好表之后,我们如何才气将数据插入表中呢?虽然可以直接通过软件直接对数据进行增删改查,但是在学习阶段,大家肯定还是需要去多多敲代码来认识原理的,但是这些将是我们下一期文章的内容,盼望感兴趣的小伙伴可以关注我,将会持续更新教学文章。
更文不易,盼望看到的小伙伴可以多多点赞关注评论,谢谢大家啦!
页:
[1]