MySQL——基本查询语句

    SELECT  语句是最常用的查询语句,使用方式有些复杂,但功能相当强大。

    SELECT  语句的基本语法如下: 

select  select_list                                                                 //要查询的内容,选择哪些列
from   数据表名                                                                   //指定数据表
where  primary_constraint                                                   //查询时需要满足的条件,行必须满足的条件
group  by   grouping_columns                                             //如何对结果进行分组
order  by    sorting_columns                                                //如何对结果进行排序
having  secondary_constraint                                              //查询时满足的第二条件
limit  count                                                                            //限定输出的查询结果

1.  select_list

    设置查询内容,如果要查询表中所有列,可以将其设置为“*”;如果要查询表中某一列或多列,则直接输入列名,并以“,”为分隔符。

例如:,查询  tb_mrbook  数据库中所有列,和查询  user 和  pass  列的代码如下:

select *  from  tb_mrbook;
select user ,pass  from   tb_mrbook;

2.  table_list( 数据表名)

    指定查询的数据表。即可以从一个数据表中查询,也可以从多个数据表中进行查询,多个数据表之间用”,”进行分隔,并且通过 where 子句使用连接运算来确定表之间的联系。

例如,从tb_mrbook 和 tb_bookinfo 数据表中查询bookname= 'MySOL 快速入门'  的作者和价格,其代码如下:

select  tb_mrbook.id, tb_mrbook.bookname,
    -> author,price from tb_mrbook ,tb_bookinfo
    ->where tb_mrbook.bookname=tb_bookinfo.bookmame and
    ->tb_bookinfo.bookname='MySQL快速入门';
    在上面的SQL 语句中,因为两个表都有 id 字段和 bookname 字段,为了告诉服务器要显示的是哪个表中的字段信息,要加上前缀。语法如下:
    表名.字段名
    tb_mrbook.bookname= tb_bookinfo.bookname 将表 tb_mrbook 和 tb_bookinfo 连接起来,叫做等同连接: 如果不使用tb_mrbook.bookname= tb_bookinfo.bookname,那么产生的结果将是两个表的笛卡尔积,叫做全连接。

3.  where  条件语句

    在使用查询语句时,如要从很多的记录中查询出想要的记录,就需要一个查询的条件。只有设定了查询的条件,查询才有实际的意义。设定查询条件应用的是where 子句。

在使用where 子句时,需要使用一些比较运算符,常用比较运算符如下表:

运算符 名称 示例 运算符 名称 示例
= 等于 id=5 Is not null   Id is not null
> 大于 id>5 Between   Id between 1 and 15
< 小于 id>5 in   Id in (3,4,5)
>= 大于等于 id>=5 Not in   Name not in (shi,li)
<= 小于等于 id<=5 Like 模式匹配 Name like (" shi%")
!=或<> 不等于 id!=5 not like  模式匹配 Name like (" shi%")
Is null   id is null Regexp 常规表达式 Name 正则表达式


猜你喜欢

转载自blog.csdn.net/qq_41573234/article/details/80163377