DDL(二)|学习笔记

简介: 快速学习 DDL(二)

开发者学堂课程【数据处理:DDL(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/64/detail/1152


DDL(二)


数据类型

数据类型为创建表时指定列的位置。在 bookstore 的 Tables 里随便找一张表,比如 book,点击鼠标右键,点击更改表。 Field Name 为列名,Dacacype 为列类型,每一列都得有自己的类型,打开箭头发现下栏里有很多类型。数据类型应用在哪儿?数据库里有很多表,每个表都有 n 多个列,每一列都有一个类型。

image.png

1.int:整型

2.double:浮点型

指定此类型时,需要给出{},{}中需要有两个整数,中间用逗号隔开,double{5,2}表示最多5位,其中包含2位小数,最大值为999.99。double{10,2}表示99999999.99将近一个亿。

decimal:浮点型,在钱方面比较好,因为它表示十进制,对十进制运算比较精确。可以用来求阶乘,比如50的阶乘,1000的阶乘。

3.char:固定长度字符串类型

char{255}表示字符串最长为255。固长是什么?往char{255}里存一个 A 字符,则一个 A 字符占1个字节,但还有254个字节没用,但是这是固长,无论存多少都会变成255个字节,不足255时会用空格补足255个字节,即数据的长度不足指定长度时会补足到指定长度。如果存500长,则会报错。即一旦超出长度便会报错。最大值为255,不能存超过这个数的。数据的长度不足指定长度,补足到指定长度。用户名用这种方式是不合适的,比如 zhangsan 和 lisi 打拼音的话长度不相同,此时便会出现空间上的浪费。若指定一个应用 ID,无论应用 ID 是什么值,长度都为32位,这32位便可以固长。再例如做身份证号码,每个人的身份证号码长度都相同,此时可以使用固长。用字串表示时间也可以用固长。比如:2014-07-07  11:29:32,时间长度都是相同的,因此可以用固长。

4.varchar:可变长度字符串类型

最大值为65535,varchar{65535},比如用户名、备注等用 varchar 比较合适。特点为当数据不足指定长度时,不补足,给多长就是多长。变长需至少用一个字节来记录长度,比如内存是连接的,取用户名从哪儿开始取,从这个位置开始取,取多长呢?这时便需要单独拿出一个字节来记录存了多长。但对于 char 来说便不需考虑了。varchar 中若字节长度大于一个字节后,便需两个字节来记录字节长度。固长时用固长,变长时用变长,固长要比变长节省一点,因为固长不需单独拿出空间来记录数据的长度。

以上几种类型是常用类型。

5.text(clob)是 mysql 独有的类型

标准里没有这种类型,标准里是 clob 类型,表示字符数据。用 text 类型可以存储超大的字符。比如有一本天龙八部需存在数据库里,一个汉字三个字节,那么 varchar 便存储不了,便需要用 text。text 分为 很小、小、中、大四种类型。tinytext 为255个字节,text 为65535个字节,mediumtext 为二的二十四次方减一个字节,longtext 最大,为二的三十二次方减一个字节即4G。二的十次方是1024,1024刚好是1KB,1024乘1024是1兆,3个1024就是二的十次方乘二的十次方乘二的十次方等于二的三十次方等于1k在乘1024,1兆在乘1024,1G 在乘4等于4G。

image.png

相关文章
|
6月前
|
SQL
十一、DDL
十一、DDL
78 0
|
5月前
|
SQL 关系型数据库 MySQL
MySQL基础(二)----DML学习
MySQL基础(二)----DML学习
46 3
|
SQL 关系型数据库 MySQL
DDL(一)|学习笔记
快速学习 DDL(一)
DDL(一)|学习笔记
|
自然语言处理 开发者 索引
高级查询(文本查询)| 学习笔记
快速学习高级查询(文本查询)。
高级查询(文本查询)| 学习笔记
|
SQL 关系型数据库 MySQL
MySQL基础教程5——DDL—表操作
使用create table 表名( 字段一 字段一类型 comment 字段一注释, 字段二 字段二类型 comment 字段二注释 ); comment 表注释 注意: 最后一个字段结尾不用加,,comment 注释可以不加。
|
SQL 关系型数据库 MySQL
【笔记】开发指南—DDL语句—分库分表语法—ALTER TABLE
您可以通过ALTER TABLE语法改变表的结构,如增加列、增加索引、修改数据定义等
|
SQL 关系型数据库 MySQL
【MySQL作业】DDL 和 DML——美和易思使用 DML 新增和更新表数据应用习题
【MySQL作业】DDL 和 DML——美和易思使用 DML 新增和更新表数据应用习题
186 0
【MySQL作业】DDL 和 DML——美和易思使用 DML 新增和更新表数据应用习题
|
SQL 关系型数据库 MySQL
【MySQL作业】DDL 和 DML——美和易思使用 DML 删除表数据应用习题
【MySQL作业】DDL 和 DML——美和易思使用 DML 删除表数据应用习题
120 0
【MySQL作业】DDL 和 DML——美和易思使用 DML 删除表数据应用习题