一、常见的数据类型有:
varchar(最长255):【每个长度可以保存一个英文字符或一个汉字】
可变长度字符串 比较智能 节省空间 会根据实际的数据长度动态分配空间
优点:节省空间 缺点:需要动态分配空间,速度慢
char(最长255):【每个长度可以保存一个英文字符或一个汉字】
定长字符串 不管实际长度是多少,分配固定长度的空间去存储数据 使用不恰当会导致空间的浪费
优点:不需要动态分配空间,速度快。 缺点:使用不当可能会导致空间浪费
如何选择使用varchar和char? 性别字段长度固定应该选择使用char
姓名字段长度不固定应该选择使用varchar
int(最长11位):数字中的整数型,等同于java中的int
bigint:数字中的长整型,等同于java中的long
float:单精度浮点型数据
double:双精度浮点型数据
date:短日期类型 默认格式:%Y-%m-%d
datetime:长日期类型 默认格式:%Y-%m-%d %h-%i-%s
clob:字符大对象 最多可存储4G的字符串 比如存储一篇文章,一个简介或说明等超过255个字符的都需要采用clob字符大对象来存储。 Character Large OBject 简称 CLOB
blob:二进制大对象 Binary Large OBject 简称 BLOB 专门用来存储图片、声音、视频等流媒体数据向blob类型的字段上插入数据的时候,需要使用IO流才行。
二、与数据类型相关的几个命令:
format:数字格式化 用来格式化数字的 使用:format(数字,'$999,999')
举例:在员工表中查询员工姓名及薪资,薪资显示加上千分位,并起别名为sal。
select ename,format(sal,'$999,999') as sal from emp; str_to_date:将字符串varchar类型转换成date类型。
语法格式:
str_to_date('字符串日期','日期格式')
mysql中的日期格式:
%Y 年
%m 月
%d 日
%h 时
%i 分
%s 秒
举例:将字符串日期'01-10-1999'转换成date类型:('日期格式'必须和前面的'字符串日期'格式一致.)
str_to_date('01-10-1999','%d-%m-%Y')
【好消息:如果把'字符串日期'写成这样的格式 %Y-%m-%d
就不需要str_to_date函数来转换了,可以省略。实现自动类型转换。多数情况这样做】
date_format:将date类型转换成具有一定格式的字符串varchar类型。(通常用在select查询时)
语法格式:date_format(日期类型数据,'需要的日期格式')
//查询时日期显示格式为月/日/年
select id,name,date_format(birth,'%m/%d/%Y') as birth from t_user;
如果不使用date_format函数,sql语句就会采用默认格式输出,其格式为'%Y-%m-%d'。
注意:
数据库中有一条命名规范:所有的标识符全部小写,单词和单词之间使用下划线进行衔接。
data与datatime
date:短日期 默认格式:%Y-%m-%d
datetime:长日期 默认格式:%Y-%m-%d %h-%i-%s
创建表t_user:
drop table if exists t_user; #如果表t_user存在,就删除
create table t_user( #创建表t_user
id int, #id字段是int类型
name varchar(32), #name字段varchar类型
birth date, #birth字段data类型
create_time datetime #create_time字段datatime类型
);
【在mysql中如何获取系统当前时间:使用now()函数即可】
例如: 在下一行命令中now()代表系统当前时间。
insert into t_user(id,name,birth,create_time) values(1,'lisi','1998-09-06',now());