基础语法-查

  • 一、查询数据SELECT
  • 1.单列查询
  • 2.多列查询
  • 3.查所有列
  • 4.去重查询:多用于查看种类-DISTINCT关键词
  • 5.限制返回行数-LIMIT关键词
  • 6.排序
  • (1)单列排序
  • (2)多列排序
  • (3) 升序-ASC关键词
  • (4) 降序-DESC关键词
  • 二、过滤数据WHERE
  • 1.单条件过滤
  • 2.多条件过滤
  • 3.范围值过滤
  • 4.筛选部分数据
  • 三、模糊查找-通配符
  • 1. %通配符可以代表一个或多个字符
  • 2. _通配符只能代表一个字符



查询数据是SQL语言中最常用,也最重要的部分。

一、查询数据SELECT

语法:select column_name from table_name

使用 select 选取列数据,返回的结果是无序的。

1.单列查询

SELECT column FORM table;

2.多列查询

SELECT column1, column2 FORM table;

3.查所有列

SELECT * FROM table;

4.去重查询:多用于查看种类-DISTINCT关键词

SELECT DISTINCT column1, column2 FORM table;

5.限制返回行数-LIMIT关键词

返回两行

SELECT * FROM student limit 2;

6.排序

(1)单列排序

SELECT column FORM table ORDER BY column1;

(2)多列排序

SELECT column FORM table ORDER BY column1, column2;

有先后顺序,先排 列1,再将列1中数值相同、并列在一起的数值按 列2 排序;

(3) 升序-ASC关键词

不写关键词默认是升序;

SELECT column FORM table ORDER BY column1 ASC;

(4) 降序-DESC关键词

SELECT column FORM table ORDER BY column1 DESC;

二、过滤数据WHERE

语法:

SELECT column1, column2, ...
FROM table
WHERE condition;
WHERE condition1 AND condition2 AND condition3 ...;
WHERE condition1 OR condition2 OR condition3 ...;
WHERE NOT condition;

1.单条件过滤

SELECT * FROM table WHERE SName = 'Tom';

(注:非数值型数据要加引号)

2.多条件过滤

SELECT * FROM table WHERE condition1 AND condition2
SELECT * FROM table WHERE condition1 OR condition2

3.范围值过滤

查找价格在50~100(包括两端)之间的两种写法:

SELECT * FROM table WHERE Price<=100 AND Price>=50;
SELECT * FROM table WHERE Price Between 50 AND 100;

4.筛选部分数据

SELECT column (s)
FROM table 
WHERE column IN (value1, value2, ...);

SELECT column (s)
FROM table 
WHERE column IN (SELECT STATEMENT);

或NOT IN 筛选除()之外的数据

三、模糊查找-通配符

模糊查找:有一部数据不知道。比如查一个人名字,只知道他姓李。那就查找所有姓李的人。其中,通配符用于代替不确定的那部分数据。

语法:

SELECT * FROM table WHERE name LIKE '' /NOT LIKE ''

注:模糊查找是LIKE,不是等号=
!!!!!!!!很容易写错

1. %通配符可以代表一个或多个字符

“abc%” 以abc开头,任意字符结尾的数据
‘%abc’ 以abc结尾,任意字符开头的数据
‘%abc%’ 任意字符开头和结尾,中间包含abc

查找姓李的人,名字不一定是几个字:

SELECT * FROM table WHERE name LIKE '李%'

李x,李xx, 李xxx…都会被筛选出来

注:
‘%雷‘是查找到雷就结束了,如果名字是xx雷空格空格,就无法查到,解决办法是改为’%雷%‘,结尾多加一个%来获取可能存在的空格。

2. _通配符只能代表一个字符

找韩梅梅
'韩_ _'√
‘韩 _’ ×
'韩%'√

mysql sql 语法 检查 sql语法检测_数据库


注:通配符虽然方便,但运行速度比过滤慢,非必要尽量不用。