一、MySQL查询语句
1、select:表示查什么,如我要从一个student表中查询所有的学生的学号,select stuNu from student;
2、from:表示从哪里查
3、where:表示条件判断,只有满足特定的条件才能被查询出来
4、group by:分组,根据某种特征将数据分成不同的组,如性别有男女 ,我们就可以通过性别来分成两组
5、having:表示条件查询,一般来收having跟在group by语句的后面
6、order by:表示排序,asc升序,desc降序,默认的情况下是按照升序的排序方式
7、limit:表示限制,当我们要查询的数据太大时,就需要使用limit,其作用就是将查询的内容进行分页显示,limit [offset] N,其中offset表示偏移量,N表示取出的条目。
二、无条件查询
#创建一张student表
creat table student(
stuNum int not null primary key auto_increment,
sname varchar(20) not null,
gender varchar(6) not null,
tel varchar(11) not null,
address varchar(50) not null
);
#向student表中插入数据
insert into student values(null,"葛小伦","男","001","德玛西亚");
insert into student values(null,"蔷薇","女","002","德莱厄斯");
insert into student values(null,"凯南","女","003","艾欧尼亚");
1、使用MySQL语句时,在每个语句的结尾为避免不必要的麻烦,要加上“;”符号。
2、当使用auto_increment后,数值会自动增加,默认从1开始。
3、当我们使用char 或者 varchar时,要加上长度。
4、使用插入语句insert into时,还可以写成,insert into 表名(列1,列2,...,列n) values(值1,值2,...,值n),其中列跟值的关系是一一对应的。
使用无条件查询数据时,我们一般使用select xxx from xxx语句,如我们要从创建好的student表中查看出所有的信息,使用select * from student语句,则可查询到以下结果:
查询student表中的所有人的姓名和电话
select sname,tel from student,当我们要查询的字段有多个时,需要将在字段之间加上一个逗号。
注意:当我们使用不熟悉的数据库时,如果数据库的容量非常的大,使用select * from 表名这条语句会占用相当长的时间,我们可以使用select count(*) from 表名,这条语句可以检测到数据库的大小。
三、条件查询where
3.1、where查询的常用运算符
比较运算符:>,<,>=,<=,!=(<>),=
逻辑运算符:and,or,not
表示范围:betwee v1 and v2 在[v1,v2]之间
in(v1,v2,v3),在v1,v2,v3值中查找
3.2、模糊查询like的四种用法
1,%:表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
2,_: 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
3,[ ]:表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
3.3、where查询
例:从student表中查找性别为女的人的姓名
select sname from student where gender="女";
where语句后面跟的是条件判断,可以是一个条件也可以是多个条件
例:从student表中查找性别为女并且地址在艾欧尼亚的姓名
select sname from student where gender="女" and address="艾欧尼亚";