一 , 数值类型
TINYINT : 微整数 一个字节 取值范围: -128~127(常用)
SMALLINT : 小整数 两个字节 取值范围:-32768~32767(常用)
INT : 整数 四个字节 取值范围 : 负21个多亿~21多个亿(常用)
BIGINT : 大整数 八个字节 取值范围 : 可以达到19位数;(了解)
FLOAT (M,D) : 单精度浮点小数 四个字节 取值范围 :3.4e38
DOUBLE(M,D) : 双精度浮点小数 八个字节 取值范围 :1.79e308
DECIMAL(M,D) : 定点小数 不会四舍五入 (常用)
二 , 字符串类型
CHAR(M) : 定长字符串 最大255
VARCHAR(M) : 边长字符串 最大65535
TEXT(M) : 大型变长字符串 最大2G
三 , 日期类型
DATE : 日期
TIME : 时间
DATETIME : 日期时间
补充 : 列约束
UNIQUE : 唯一性 声明列中不能出现重复值
NOT NULL : 非空值 声明列中不能出现空值
PRIMARY KEY: 主键约束 声明该列为主键(唯一且非空) (主键列的值会按照升序排列) 重点 常用
FOREIGN KEY(被设为外键的列名) REFERENCES 参考表表名(参考表主键列名); 外键约束 声明一个外键,外键的值要参考被参考表的主键值 (重点,常用)
AUTO_INCREMENT; 递增约束(必须与主键一起使用) 插入时只要赋值为null ,从列中出现的第一个赋值开始+1,若全为null则从1开始+1
DEFAULT; 默认值约束; 给列中的值设定默认值
/* 默认值约束的用法 :
CREATE TABLE emp(
sex CHAR(1) DEFAULT '男'
);
INSERT INTO emp VALUES(DEFAULT);
*/
SET NAMES UTF8;
DROP DATABASE IF EXISTS lx;
CREATE DATABASE lx CHARSET=UTF8;
USE lx;
CREATE TABLE xx_lx(
id TINYINT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(5) UNIQUE,
score SMALLINT DEFAULT '60'
);
INSERT INTO xx_lx VALUES(120,'张三',DEFAULT);
INSERT INTO xx_lx VALUES('','李四','80');
INSERT INTO xx_lx VALUES(NULL,'李六',DEFAULT);