数据类型
int类型修饰(在字段类型后边添加)
unsigned 无符号整数,修饰符;规定字段只能保存正得数据;
zerofill 修饰符,规定用0填补2输出的值,也可以防止负数
浮点型数据类型(类型后加小括号(m,n)m有效字段的值n是小数点后面的值):
float数值类型用于表示单精度浮点数值,而double数值类型用于表示双精度浮点数值
float和double都是浮点型而decimal是定点型;
MySQL浮点型和定点型可以用类型名称后加(M,D)来表示,M表示该值的总共长度,D表示小数点后面的长度,M和D又称为精度和标度,如float(7,4)表示总长度是7位,小数点后面的长度是4,可显示为999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001。
float:单精度浮点型,占字节数为4,用32位二进制描述,有符号是7个有效位,无符号8个有效位;
double:双精度浮点型,占字节数为8,用64位二进制描述,有符号是15个有效位,无符号是16个有效位
decimal:数字型,用128位二进制描述,不存在精度损失,常用于银行帐目计算。(28个有效位)
(精度是指计算机表达小数近似值的一种方式,单精度32位二进制,4个字节;双精度64位二进制,8个字节)
字符串类型:
char和varchar
char :后面括号中必须有数值,来确认字符串的范围。 大小范围 :0-255.
char(10) ; 指定了一个长度为10的字符值。
binary 修饰符 区分字符大小写(在定义类型后边添加);
varchar字符串可变长:
varchar数据类型的长度支持到了65535,也就是说可以存放65532个字节的数据,起始位和结束位占去了3个字节。
char比varchar效率高 varchar比char省空间;
日期和时间类型:
data日期:(输入串数字自动用-分隔成日期)
time 时间:(输入串数字自动用:分隔成时间)
year 00-69自动转为: 2000-2069 , 70-99自动转为1970-1999
datatime或timestamp
datetime类型能保存的最大范围的值为1001年到9999年,精度为秒,它把日期和时间封装到格式为YYYY-MM-DD HH:MM:SS的整数中,与时区无关,使用8个字节的存储空间。
timestamp类型保存了从1970年1月1日(格林尼治时间)以来的秒数,它和linux的时间戳相同,只是用了4个字节的存储空间,因此它的范围比datetime的范围小了很多,只能表示从1970年到2038年,我们可以使用它提高空间利用率
复合类型:
它们字段的值,必须从预先定义好的字符串集合中选取。
enum(枚举):只能取一个,用于互斥。男人,女人。
set : 能取多个。
修改数据表:
alter table 表名 add 字段名 列类型 [not null|null][primary key][unique][auto_increment][default value]
default默认值:mysql默认值约束用来指定某列的默认值。如果某列设置了default默认值约束,用户在插入数据时如果没有指定值,则用默认值填充。
unique:唯一性约束,如果某列设置了unique唯一性约束,则该列的值是不能重复的。
auto_increment:设置数值型的列自动增长
primary key:主键(PRIMARY KEY)”的完整称呼是“主键约束”。MySQL 主键约束是一个列或者列的组合,其值能唯一地标识表中的每一行