一、列类型
一、数值类型的基本使用:
1.整型
- 在能够满足需求的情况下,尽量选择占用空间小的类型:
- 以创建t3的tinyint列表为例:
CREATE TABLE t3(
id TINYINT);
INSERT INTO t3 VALUES(-128);
- 效果如下:
报错效果:
2. 如何定义一个无符号整数
create table t10 (id tinyint);//默认有符号
create table t11 (id tinytint unsigned);//无符号
- 报错效果:
2. bit类型
- 基本使用:
- bit字段显示时,按照位的方式显示,查询的时候仍然可以用使用添加的数值如果一个值只有0, 1可以考虑使用bit(1) ,可以节约空间位类型。
- 举例说明:
CREATE TABLE t9 (num bit(8));
INSERT INTO t9 VALUES(255);
SELECT * FROM t9;
- 运行效果:
二、小数类型
- DECIMAL[M,D] [UNSIGNED]
可以支持更加精确的小数位。M是小数位数(精度)的总数, D是小数点(标度)后面的位数。
如果D是0,则值没有小数点或分数部分。M最大65。D最大是30。如果D被省略,默认是0。如果M被省略,默认是10。
通常DECIMAL只在精度特别大的时候使用,一般都是用double
- 举例:
#创建表
CREATE TABLE t6(
num1 FLOAT,
num2 DOUBLE,
num3 DECIMAL(30,20));
#添加数据
INSERT INTO t6 VALUES(88.12345656775432,88.12345656775432,88.12345656775432);
SELECT * FROM t6;
- 运行结果:
三、字符串的基本使用
- char(4)中的4是字符数(最大255),不管中文还是英文都是按字符大小存放
- 举例:
#创建表
CREATE TABLE t0(
`name` CHAR(4));//字符数不区分是汉字还是字母
#添加数据
INSERT INTO t0 VALUES(abcde);
SELECT * FROM t0;
- char(4)是定长(固定大小),即使插入’aa’,也会占用分配的4个字符空间
- 如果使用数据是定长,则使用char,如:md5密码、邮编;如果不确定,使用varchar,如:留言、文章
查询速度:char > varchar - 在存放文本时,也可以使用Text数据类型.可以将TEXT列视为VARCHAR列,注意Text不能有默认值.大小0-2^16字节
如果希望存放更多字符,可以选择MEDIUMTEXT 0-2^24 或者LONGTEXT 0~2^32
四、日期类型的基本使用
五、练习:
- 创建一个员工表emp
创建代码如下:
CREATE TABLE `emp`(
id int,
`name` varchar(32),
sex varchar(1),
birthday DATE,
entry_date DATE,
job VARCHAR(32),
Salary DOUBLE,
`resume` TEXT)CHARSET utf8 COLLATE utf8_bin ENGINE INNODB;
效果如下: