PHP之MySQL语法

作者: cws | 来源:发表于2016-07-12 23:20 被阅读107次

Select语句的一般语法

1.SELECT [ALL|DISTINCT] <目标列表达式> [,<目标列表达式> ]...
2.FROM <表名或视图名> [,<表名或视图名> ]...
3.[ WHERE <行条件表达式> ]
4.[ GROUP BY <列名1> ,[列名2][,...][HAVING组条件表达式] ]
5.[ ORDER BY <列名1> ,[ASC|DESC][,...] ];

上面5个句子书写时按顺序,尽量一个句子一行,但在机器内部执行时的顺序是2-3-4-1-5,
即先确定从哪个数据源查找,
然后确定过滤条件,
若有分组则对过滤后的记录进行分组,若分组有限制条件则对分组进一布限制,
然后将符合条件的列查询出来,
最后对结果进行排序。

select name as '名字',password as '密码' form user;
select * from message where id between 2 and 6;
select * from message where title like '%留言_';  //%匹配任意个字符,_匹配一个字符
select * from message where uid in (2,3,4); //删除2、3、4共3条数据

连接查询

[<表名1>.][<列名1>] <比较运算符> [<表名2>.][<列名2>]
[<表名1>.][<列名1>] BETWEEN [<表名2>.][<列名2>] AND [<表名2>.][<列名3>]

select * from user,msg where user.id=msg.uid;
select m.id,m.title '标题',m.ip,u.username '名字' from message as m,user as u where m.uid=u.id;

子查询

一个SELECT-FROM-WHERE语句成为一个查询块。
将一个查询块嵌套到另外一个查询块的WHERE子句或HAVING短句条件中的查询成为子查询或嵌套查询,它允许我们根据另一个查询的结果检索数据。
子查询的方法是由里向外处理,即每个子查询在其上一级查询之前查询,子查询的结果用于建立其副查询的查询条件。

select *
from message
where id in (
    select id
        from users
        where username='admin'
    );

集合查询

集合的并操作:使用UNION运算符经多个SELECT查询结果合并起来,形成一个完整的查询结果,系统合并时会自动去掉重复的元组。
注意:前后SELECT语句查询的列数要相同。

数据更新

  1. 插入数据
    • 插入单个元组:
      INSERT INTO <表名> [(<属性列1>[,<属性列2>...])]
      VALUES (<常量1>[,<常量2>]...);
    • 通过子查询向表中插入多条数据
      INSERT INTO <表名> [(<属性列1>[,<属性列2>...])]
      SELECT [(<属性列1>[,<属性列2>...])]
      FROM <表名>
      [WHERE 子句]
      [GROUP BY 子句]
      [ORDER BY 子句];
    • 通过SELECT INTO语句创建新表并插入多条数据
      SELECT <列名1>,<列名2>,...<表达式1> as <别名1>,...INTO <表名>
      FROM <表名1>,<表名2>,...
      [WHERE 条件表达式]
      [GROUP BY 子句]
      [ORDER BY 子句];
  2. 修改数据
    UPDATE <表名>
    SET <列名1> = <表达式1> [,<列名2> = <表达式2>]...
    [WHERE <条件>];
  3. 删除数据
    DELETE
    FROM <表名>
    [WHERE <条件>]

SQL的数据控制功能

授权语句

GRENT <权限1>,[,<权限2>]...  
[ON <对象名>]  
TO <用户1>[,<用户2>],  
[WITH GRANT OPTION];

创建用户blog,设密码为666666,并将数据库db_blog的所有权限赋给他
grant all privileges on db_blog.* to blog@localhost identified by '666666';

order by和limit

select * from message order by uid desc;
select * from message order by uid desc limit 5; //默认从0开始,查询5条数据
select * from message order by uid desc limit 2,4;  //从第2条开始查询4条数据

统计函数

count()
sum()
avg()
max()
min()

相关文章

  • MySQL教程

    MySQL 入门教程 MySQL 安装 MySQL 管理 MySQL PHP 语法 MySQL 连接 MySQL ...

  • PHP之MySQL语法

    Select语句的一般语法 上面5个句子书写时按顺序,尽量一个句子一行,但在机器内部执行时的顺序是2-3-4-1-...

  • MySQL教程

    MySQL 入门教程MySQL 安装MySQL 管理MySQL PHP 语法MySQL 连接MySQL 创建数据库...

  • 在PHP中 mysql 如何修改数据

    php mysql修改数据的方法:首先打开相应的PHP文件;然后使用UPDATE命令修改MySQL数据表数据,语法...

  • 一. PHP入门篇和PHP进阶篇

    PHP基础语法 PHP数组 PHP函数 PHP之类和对象 PHP字符串 PHP之正则表达式 PHP之cookie ...

  • 20170812PHP学习(一)基础语法

    PHP(一)基础语法 本来就是学习笔记,就不说废话了 参考 PHP 手册陈惠贞 , 陈俊荣.PHP 7&MySQL...

  • PHP连接、操作数据库

    一、PHP连接mysql服务器 1、mysqli_connect() ①描述:连接到 MySQL服务器②语法:my...

  • MySQL学习笔记一之MySQL语法

    title: MySQL学习笔记一之MySQL语法tags: MySQL 数据库categories: MySQL...

  • 攻玉之石之MySql 基础操作(PHP操作)

    PHP 连接MySql使用mysql_connect函数来连接,语法如下: 该函数用来打开或重复使用一个到mysq...

  • php面试题

    1、谈谈你对php、mysql、apache的认识 (评分标准:4-3-3) PHP:是一种通用开源脚本语言。语法...

网友评论

    本文标题:PHP之MySQL语法

    本文链接:https://www.haomeiwen.com/subject/fcesjttx.html