数据类型

Mysql数据类型

数值类型:身高,体重,成绩工资,年龄unsigned

整数数值类型:微小整型,小整型,中整型,大整型,极大整型

浮点类型:单精度,双精度

字符类型:姓名家庭住址籍贯公司部门名称

固定长度,变长,大文本类型

日期时间类型:入职时间注册时间上课时间

年日期时间日期时间

枚举类型:兴趣爱好性别专业

单选多选

整数型

-使用UNSIGNEN修饰,对应的字段只保存正数

createtabledb.t4(payfloat(7.2),agetinyintunsigned);

字符类型:姓名家庭住址籍贯公司部门名称

固长char(255)//不指定为1

变长varchar(65532)//必须指定宽度

大文本类型blobtext//宽度无限制

char与varchar类型的区别

固值

数值类型宽度与字符类型宽度的区别

数值类型的显示宽度,不能控制给字段赋值的大小,大小由类型决定。

Createtabledb.t1(namechar(3),payint(3));

Zerofill//默认0补位

默认显示宽度11位

createtabledb.t1(namechar(10),emailvarchar(30),payfloat(7,2),agetinyintunsigned);

insertintodb.t1values('xiaoren','[email protected]',50000.23,20);

日期时间类型:入职时间注册时间上课时间

年:yearYYYY2018

日期:dateYYYYMMDD20180117

时间:timeHHMMSS172358

日期时间:datetime/timestamp

createtabledb.t1(

namechar(10),

Youstaryear,

Upclasstime,

Birthdaydate,

Partydatetime

);

使用时间函数获取的时间给字段赋值

selectnow();//查看当前系统年份日期时间

selectdate(now());//查看当前系统日期

selectyear(now());//查看当前系统年份

selecttime(now());//查看当前系统时间

使用2位数给year类型的字段赋值,遵循如下规律:01~69:20开头70~99:19开头

DATETIME与TIMESTAMP的区别:

DATETIME不赋值则为空

TIMESTAMP不赋值会自动获取系统时间

枚举类型

字段的只能在指定的范围内选择

字段名enmu(值1,值2,值N)单选//可用数字表示

字段名set(值1,值2,值N)多选

createtableqw.q1(namechar(10),sexenum('boy','girl'),likesset('music','game','file','book'));

insertintoqw.q1values('tom',2,’book’);

字段约束条件

作用:限制任何给字段赋值

包括:是否允许为空(null)键值(key)默认值(default)额外设置(Extra)

空值:NULL或null

修改表结构

altertable库.表执行动作:

添加新字段:

add字段名类型(宽度)约束条件

add字段名类型(宽度)约束条件first;//添加到表记录前面

add字段名类型(宽度)约束条件after字段名;//放在指定字段后

add字段名类型(宽度),add字段名类型(宽度)

删除表字段:

drop字段名;

drop字段名,drop字段名;

>altertable表名drop字段名;

修改字段类型(修改的类型与字段储存的数据冲突,)

modify字段名类型(宽度)约束条件;

altertablestudb.studentmodifynamevarchar(10)notnull;

修改字段名

change原字段名新字段名

修改表名

altertable原表名rename新表名

altertablestudentmodifyclasschar(7)aftername;

altertablestudentaddlikesset('book','film','game','music')notnulldefault'game,film';

altertablestudentmodifylikesset('book','film','game','music')afterage;