mysql 常用操作之单表查询
mysql查询
单表查询:
-------------------创建dog表:字段——id、name、brand、sex、age
-> create table dog(
-> id int primary key auto_increment,
-> name varchar(10) not null unique,
-> brand varchar(10),
-> sex enum('公','母') default '公',
-> age int
-> );
注:此处sex字段用了一个枚举类型制定为公母,且默认为公
name字段添加了非空和唯一约束
(唯一约束的值可为null,mysql的null可以代表任何类型,但又不是任何类型,null与null之间不可以比较,即每一个null都是不同的,所以即使添加了unique约束,它的值也可以为null,因为每一个null都是不同且唯一的)
----------------插入信息:
-> insert into dog(name,brand,sex,age) values('小白','狼狗','母',round(rand()*(10-1)+1)),
-> ('来福','土狗','母',round(rand()*(10-1)+1)),
-> ('乐乐','吉娃娃','母',round(rand()*(10-1)+1)),
-> ('旺旺','哈士奇','母',round(rand()*(10-1)+1));
这里可以直接插入多条语句,id自增,年龄直接调用有一个随机的函数生成1-10的整数;
-------------------基本的查询
select * from dog where id>3 and age<5; //where...and...
select * from dog where id between 3 and 6; //where ...between...and
select brand 品种,count(*) 数量 from dog group by brand; //group by... 别名
select brand 品种,count(*) 数量 from dog group by brand having brand='土狗' or brand='哈士奇'; //group by...having...or...
select * from dog order by age; //order by...
select * from dog limit 2,5;
注:limit后的第一个为索引,类似于下标,第二个为要显示的记录条数。该命令的意思是从下标为2(即第三条记录)开始,一共显示5条记录,limit一般用于分页。
一些基本的聚合函数:sum()、avg()、count()、max()、min()
now()、rand() //now()获取当前时间 //rand()会生成一个随机数