(6) SQL 语句 - 字段类型
来源:互联网 发布:免费网络云盘哪个好用 编辑:程序博客网 时间:2024/06/05 02:18
整形
tinyInt:1 字节
有符号:-128~127
无符号:0~255
samllInt:2 字节
mediumInt:3 字节
int:4 字节
bigInt:8 字节
使用 unsigned 声明没有符号:
有些数据不需要负值,Mysql 默认的是带符号的,将数据类型声明为无符号,就多了一个 bit ,可以表示更多的数据。
create table stu( name varchar(10), age int unsigned);
显示宽度:
通过数据的显示宽度,可以达到显示长度统一的效果。
格式:类型(M) zerofill
M 代表显示的最小宽度,利用关键字 zerofill 填充 0
create table test02 ( num int(3) zerofill);insert into test02 values(1);insert into test02 values(12);insert into test02 values(123);insert into test02 values(1234);select * from test02;
↑ 可以看到 ,显示宽度与插入数据的大小无关,只是在显示时,把小于长度的填充 0 而已。
布尔类型:
在 MySQL 中是没有布尔类型的,可以使用 tinyInt 来代表。
1 True
0 False
小数类型
小数在计算机中的存储:
分别存储的是 精度 和 次幂,例如:
123.456 转换后 0.123456 * 10^3 实际存储的是 123456 和 3
存储的值不一定精确,取决于当前的操作系统和 CPU
浮点数类型:不能保证数据的准确性
① 单精度:float 4 个字节
② 双精度:double 8 个字节
定义方式:
type (m,n) m 代表的是总位数,n 代表的是 小数位。
create table if not exists test01 ( num float(10,5) zerofill);
定点数 decimal:不会出现精度丢失
decimal (m,n) m 代表总位数,n 代表小数位
create table test02 ( num decimal(10,5) zerofill);insert into test02 values(123.123);
insert into test02 values(1234567890.123); 提示错误,超出范围insert into test02 values(123.1234567); 小数超出范围会四舍五入insert into test02 values(123456.123); 整数超出范围会报错insert into test02 values(0.123123E3); 支持科学计数法
时间类型
日期类型:dateTime
格式:
dateTime YYYY-MM-DD HH:MM:SS
create table test01 ( my_time datetime);insert into test01 values(now()); 当前时间insert into test01 values('2015-06-06 12:12:12'); 分隔符可以任意指定insert into test01 values('2015:06:06 12:12:12'); 分隔符可以任意指定
时间戳类型:timestamp
使用方法和 datetime 大致相同
create table test02 ( my_time timestamp);insert into test02 values(now()); 当前时间insert into test02 values('2015-06-06 12:12:12'); 分隔符可以任意指定insert into test02 values('2015:06:06 12:12:12'); 分隔符可以任意指定
时间戳类型 timestamp 和日期类型 datetime 的区别?
① 时间戳(4 字节) 表示的时间范围比 日期类型(8 字节)的要小。
② 时间戳 可以根据时区的改变而变化,而 日期类型不会变化。
date 类型:
格式: YYYY-MM-DD
create table test03 (testTime date);insert into test03 values('2015-1-1');
time 类型:
格式:HH:MM:SS
① 可以代表一天中的时间
create table test04 ( my_time time);insert into test04 values('11:22:46'); insert into test04 values('66:16:16'); 正确,代表时间间隔。H 可以超出 24,但是 M S 不可以超出 60insert into test04 values('3 11:22:46'); 正确,3 代表天数。转化为了小时,3*24
year 类型:
代表年: 1901~2155
字符类型
- (6) SQL 语句 - 字段类型
- sql语句中的字段的类型问题
- SQL语句查看字段类型及精度
- Access中修改字段类型SQL语句
- SQL语句增加字段、修改字段、修改类型、修改默认值
- 读取sql server表的字段名,字段类型,字段长度,字段属性的sql语句
- 读取sql server表的字段名,字段类型,字段长度,字段属性的sql语句
- Sql语句更改字段类型及主键等实用整理
- oracle中使用SQL语句修改字段类型
- alter 增加、删除、修改字段类型-sql数据库语句实例
- db2使用sql语句查询表的字段类型
- Sql语句更改字段类型及主键等实用整理
- Oracle中使用SQL语句修改字段类型总结
- Access sql语句创建表及字段类型
- Access sql语句创建表及字段类型
- Oracle中使用SQL语句修改字段类型
- Access sql语句创建表及字段类型
- Access sql语句创建表及字段类型
- service XXX does not support chkconfig
- Quick-Cocos2d-x初学者游戏教程(四)
- cocos2d-x移植安卓时解决引用sqlite3库问题
- 【asp】 SQLServer OLEDB 连接数据库 代码
- Java格式化详解
- (6) SQL 语句 - 字段类型
- String类和StringBuffer类的区别
- Spring AOP示例(注解方式)
- Java File类学习笔记2:File类对象及常用操作方法
- nodemailer的使用
- 判断语句的嵌套处理优化
- mysql分组后取前几条数据
- pandas RESHAPING AND PIVOT TABLES
- 检索 COM 类工厂中 CLSID 为 {E5FF9F62-0E7C-4372-8AD5-DA7D2418070C} 的组件时失败,原因是出现以下错误: 80040154。