MySQL中常见的数据类型
varchar(255):可变长度的字符串,会根据实际的数据长度动态分配空间。varchar(10),传入的数据为'jack'时,它只会占用4个空间
优点:节省空间
缺点:需要动态分配空间,效率低,速度慢
char(255):定长字符串,无论是记得数据长度是多少,都分配固定的长度去存储数据。
优点:速度快
缺点:使用不当时可能会导致空间的浪费
varchar和char的选择使用:
类似于性别字段的定长的数据选择使用char类型
类似于姓名、年龄等不定长的数据选择使用varchar类型。总之就是根据实际情况去选择合适的数据类型。
int(11):数字中的整数型
bigint:数字中的长整型
float:单精度浮点型
double:双精度浮点型
date:短日期
datetime:长日期
clob:字符大对象。最多可以存储4G的字符串,如存储一篇文章,一个说明等
超过255个字符的数据都要采用clob字符大对象来存储,Character Large OBject:CLOB
blob:二进制大对象。Binary Large OBject:BLOB
专门用来存储图片、声音、视频等流媒体数据的
向BLOB类型的字段上插入数据时,如插入一张图片、一个视频,需要采用IO流
MySQL中表的创建
建表的语法格式:(建表属于DDL语句,DDL包括creater、drop、alter)
create table 表名(字段名1 数据类型 , 字段名2 数据类型 , 字段名3 数据类型 , ......);
结构清晰的写法:
create table 表名(
字段名1 数据类型,
字段名2 数据类型,
字段名3 数据类型,
......
);
表明:建议以 t_ 或 tbl_ 开始,可读性强,见名知意
字段名:见名知意
表明和字段名都属于标识符
例:创建一个学生表:学号,姓名,性别,年龄,邮箱地址
create table t_student(
no int,
name varchar(32),
sex char(1),
age int(3),
email varchar(255)
);
MySQL中表的删除
drop table 表名;
// 删除学生表
drop table t_student;
这种删除表的方法在表不存在时会报错,ERROR 1051 (42S02): Unknown table 'test.t_student'
若想删除一个不知道是否存在的表还使其不报错,可以使用 drop table if exists t_student;