mysql查的用法

select   [all | distinct]   字段或表达式列表 [from子句]    [where子句]    [group by子句]    [having子句]    [order by子句]    [limit子句];

解释说明:

  查的字段可以自定义一个名字,比如select sno as s,这个s就代表了查到的sno字段

  [all | distinct]

  用于设定所select出来的数据是否允许出现重复行(完全相同的数据行)

  all:允许出现——默认不写就是All(允许的)。

  distinct:不允许出现——就是所谓的“消除重复行”。

  from子句

  就是指定数据的来源,其实就是“表”,可以是一个表名,也可以是多个表——多表查询了

  

  where子句

  一个概念:where子句,相当于php或js中的if条件语句:其最终结果就是布尔值(true/false),

  也可以说是限制在具体那个值

  php:if($n  % 4 == 0 && $n % 100 != 0  || $n % 400 == 0 ){}

  则:

  where  true,  where  1;    where 1=1;  都表示true

  where  false,  where  0;    where 1<>1;  都表示false

  比较运算符: >   >=   <    <=   =(等于)   <>(不等于)

  逻辑运算符: and(与)  or(或)   not(非)

  in语法:XX in (1,2,3,4,5)        XX not in ()  // in 和 = 一样

  Xx = 1 or  xx = 2 or xx =3...

原文地址:https://www.cnblogs.com/xu1115/p/10916412.html

时间: 2024-11-08 20:49:10

mysql查的用法的相关文章

mysql group by 用法解析(详细)

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的.所以我花了很多时间来研究这个问题,网上也查不到解决方案 下面先来看看例子:

mysql常用命令用法

1.创建数据库:create database database_name; 2.选择数据库:use database_name; 3.创建表:create table tablename(column1 data_type1, column2 data_type2,...,columnn datatypen); 4.设置表主键:alter table tablename add primary key(column_name); 5:修改表的字段名:alter table tablename

mysql not in用法

select * from zan where uid not in(select uid from zan where zhongjiang !=0) group by uid order by rand() limit 40 不过这个执行效率比较低,正在找更好用的方法 我觉得还是不如两条语句分开来写,先查出所有的uid,然后再用not in  这样查询速度快很多 $sql="select uid from zan where zhongjiang !='0'";$res=$dbs-

mysql查select基本入门

查询要素: 查哪张表的数据? 查哪些列? select * from class    -----表示查询所有行和列的数据 *代表所有列,表名后不加where条件,则选所有行,因此取所有行和列 例: 实验一: 取部分列,所有行,取所有人的姓名和工资 mysql> select sname,salary from class; 查id>10的人的所有列 mysql> select * from class where id>10; 实验二: 取部分行部分列 取id<10的人,取

mysql 数据类型TIMESTAMP用法

在mysql数据库中,timestamp数据类型是一个比较特殊的数据类型,可以自动在不使用程序更新情况下只要更新了记录timestamp会自动更新时间. 通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项.MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值!这样一来,就不是创建日期了,当作更新日期来使用比较好!因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成!1: 如果

MYSQL中LIMIT用法

MYSQL中LIMIT用法 SELECT * FROM tableName LIMIT [offset,] rows; 1.select * from table limit m,n(显示条数) 其中m是指记录开始的索引index(索引是从0开始的表示第一条记录 ) n是指从第m+1条开始,取n条. 结果是检索记录第m+1行至(m+n)行记录,共取出n条记录 ex: SELECT * FROM 表名 limit 6,5; 结果:检索记录第7行至11行记录,共取出5条记录. 2.n可以被设置为-1

MySQL replace into 用法详细介绍

MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在: 2. 如果不存在,则插入:3.如果存在,则更新. 在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time

mysql数据类型和用法

``Accordian'' Patience  You are to simulate the playing of games of ``Accordian'' patience, the rules for which are as follows: Deal cards one by one in a row from left to right, not overlapping. Whenever the card matches its immediate neighbour on t

mysql的基本用法

创建数据库:create database [if not exist]name [character set 编码方式 collate 校对规则] 显示库的创建信息:show create database name 数据库的删除:drop database [if exist]name 备份数据库:mysqldump -u用户名 -p数据库名>(路径)文件名.sql(windows命令.脚本文件,要退出sql命令窗口quit) 数据库恢复(1):Source 文件名.sql(sql命令)