char(n):字符串,最大存储255个字符;n表示字符长度
varcher(n):最大存储65535个字符
enum:在指定的数据中选择一个数据(单选)
set:在指定的数据中选择一个或多个数据(多选)
int(n):存储整数,范围在±21以内,创建数据表的时候,不管int后面指定多长,做大只能存放11个数字
float(m,d):单精度浮点型,留存小数点后6-7位小数(m表示数据的总长度,d表示小数位数)
double(m,d):双精度浮点类型,留存小数点后15位小数(m表示数据的总长度,d表示小数位数)
注:浮点数数据保存会存在精度丢失问题
year:年
date:年月日(“年-月-日”)
time:时分秒(“时:分:秒”)
datetime:年月日时分秒(“年-月-日 时:分:秒)
注:写入时间类型时,必须使用引号包括
/*创建表
create table 表名(
字段名 数据类型,
字段名 数据类型
);
*/
create table test(
name char(5),
garden enum('男' , '女'),
age int(3),
height float(3 , 2),
birthday datetime
)charset=utf8;
/*注:因为我创建库的时候报错1291,所以在最后加上utf8编码(无报错可不加)*/
可以一次添加多条数据或单条数据,同样也可以指定添加单条或多条
insert into test values
('汪鑫' , '男' , 24 , 1.7 , '1999-9-9 5:20:25');
('轻岚' , '男' , 25 , 1.75 , '1998-9-9 5:20:25');
('曹洪清' , '男' , 26 , 1.77 , '1997-9-9 5:20:25');
('圈圈' , '女' , 18 , 1.77 , '2006-9-9 5:20:25');
('圈圈' , '女' , 18 , 1.77 , '2006-9-9 5:20:25');
/*注:报错1055,需要执行sql代码select@@sql_mode;查看一下,然后找到ONLY_FULL_GROUP_BY,在配置文件my.ini中删除掉。重新启动服务就行了
虽然报错,但是对操作毫无影响*/
/*添加name列和age列*/
insert into test(name,age)VALUES
('爆排气孔' , 18),
('小豆腐' , 66),
('小黑子' , 51);
查看表中的字段类型,长度和约束
desc test;
默认在表末尾增加
alter table test add scr double(4,1)
添加字段到最前面
alter table test add id int first;
添加到某一个字段之后
alter table test add weight double(4,2) after age;
修改长度 不能小于原有的长度 ,否则原有的数据就会被破坏,不可修复
alter table test modify column weight double(5,2);
alter table test modify column scr int(5);
desc test;
alter table test change id num int;
alter table test drop column scr;
delete from test;
alter table test rename test1;
drop table test;
查询表中的所有字段的所有数据
select * from test;
查询指定字段的所有数据
select id…… from test;
数据查询
select * from test;
select name , age ,birthday from test;
select name from test;
比较符号
=
!=
>
<
>=
<=
逻辑运算
and
or
not
(数字要从小到大)
between 在两个值之间
not between
in 在指定集合中
not in
查询表中的所有字段的所有数据
select * from test where age>15;
查询指定字段的所有数据
select age from test where age<50;
select name from test where age in(15,18,24,25);
select name from test where age not in(15,18,24,25);
聚合函数不可以出现在where子句中having
– 求平均值
avg(字段名)
– 求最大值
max(字段名)
– 求最小值
min(字段名)
– 求和
sum(字段名)
– 统计一个字段的数据条数
count(字段名)
select avg(age) from test;
select count(name) from test;
select max(height) from test;