数据类型
是对数据存储空间的约束,作用是规范数据的范围,方便存储
·作用:对数据进行分类,对相同类型的数据给予相同大小的存储空间。
整数、浮点数、字符串、时间日期
1、整数类型
类型 |
字节 |
范围(有符号) |
范围(无符号) |
tinyint |
1 |
(-128,127) |
(0,255) |
smallint |
2 |
(-32768,32767) |
(0,65535) |
mediumint |
3 |
(-8388608,8388607) |
(0,16777215) |
int |
4 |
(-2147483 648,2147483647) |
(0,4294967295) |
bigint |
8 |
(-9223372036854775808,9223372036854775807) |
(0,18446744073709551615) |
2、浮点数和定点数
类型 |
大小 |
float |
4字节:小数位过多会自动四舍五入 |
double |
8字节:相对float精确一些 |
decimal |
decimal(M总长度,D小数位长度)M>D decimal(6,2)代表总共六位数其中后两位是小数,如1000.00 decimal是以字符串方式存储的数字 |
3、日期时间
类型 |
字节 |
范围 |
格式 |
用途 |
DATE |
3 |
1000-01-01/9999-12-31 |
YYYY-MM-DD |
日期 |
time |
3 |
'-838:59:59'/'838:59:59' |
HH:MM:SS |
时间 |
year |
1 |
1901/2155 |
YYYY |
年份 |
datetime |
8 |
1000-01-01 00:00:00/9999-12-31 23:59:59 |
YYYY-MM-DD HH:MM:SS |
年月日时分秒 |
timestamp |
4 |
1970-01-01 00:00:00/2038 结束时间是第 2147483647秒 北京时间2038-1-19 11:14:07, 格林尼治时间2038年1月19日 凌晨 03:14:07 |
YYYYMMDD HHMMSS |
1970~2038,范围太小 |
4、字符串类型
类型 |
大小 |
用途 |
char(100) |
0-255字节 |
定长字符串,适合手机号、身份证号,有可能会浪费存储空间,但查询效率高 |
varchar(100) |
0-65535 字节 |
变长字符串,姓名、密码、地址、简介、标题、短文节约空间,性能不如CHAR |
tinyblob |
0-255字节 |
不超过 255 个字符的二进制字符串 |
tinytext |
0-255字节 |
短文本字符串 |
blob |
0-65 535字节 |
二进制形式的长文本数据,二进制字符 |
text |
0-65 535字节 |
长文本数据,普通文本,评论,简介,短文 |
mediumblob |
0-16 777 215字节 |
二进制形式的中等长度文本数据 |
mediumtext |
0-16 777 215字节 |
中等长度文本数据 |
longblob |
0-4 294 967 295字节 |
二进制形式的极大文本数据 |
longtext |
0-4 294 967 295字节 |
极大文本数据,超长的文本,例如:一本书 |
DML:数据操纵语言
mysql>use test;
mysql>show tables;
mysql>desc user_info;
# 添加数据
格式:insert into 表名(字段1,字段2,....) values(值1,值2...);
eg:insert into user_info(username,password,birthday,gender,phone,address,email)
values('张三','123456','2000-1-1','男','12345678','河北','zhangsan@qq.com');
# 查询所有列的所有数据
select * from user_info;
# 查询某几列的数据
select username,phone,gender from user_info;
或者打开Navicat数据库,点查询,新建查询,输入select * from user_info;
·update:修改更新表中已有的数据
update 表名 set 字段名='新值' where 条件;
update user_info set password='zhang123' where id=1;
update user_info set address=”太原” where username=”李四”;
## 注意:修改语句必须要加where条件,如果忘记加条件,则会修改所有行中的数据。
------------------------------------------------
·delete:根据条件删除表中的数据
delete from 表名 where 条件;
delete from user_info where id=1;
## 删除数据必须要加where条件,否则会删除所有行的数据。