数据类型
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;