前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql学习笔记

mysql学习笔记

作者头像
宸寰客
发布2020-07-21 10:13:22
7830
发布2020-07-21 10:13:22
举报
文章被收录于专栏:yuancao博客yuancao博客

基本结果有 SELECT 子句,FROM 子句,WHERE 子句组成的查询块 SELECT <字段名> /ntl&FROM <表或视图名> WHERE <查询条件>

SELECT

命令语法:
代码语言:javascript
复制
SELECT  [ALL| DISTINCT]
                 {*|table.*|[table.] field1 [as alias1] [,[table.] field2 [as alias2]][...]}
FROM    表名 [] ,表2
命令含义:

从数据库表里查询数据 结果被存在一个结果集中,称为结果集

(1)从“t_persons”表中选取所有的列 SELECT * FROM t_persons;

在这里插入图片描述
在这里插入图片描述

(2)查询字段名为“last_name”和“first_name”的列内容(从名为“t_persons”的数据库表) SELECT last_name,first_name FROM t_persons;

在这里插入图片描述
在这里插入图片描述

distinct(去重)

命令语法:

select distinct 列名称 from 表名称;

命令含义:

去掉查询列名称中的重复数据

例如: select DISTINCT city from t_persons; 从 t_persons 表里面查询所有不相同的城市名 关键字 DISTINCT 用于返回唯一不同的值

在这里插入图片描述
在这里插入图片描述

select city from t_persons;

在这里插入图片描述
在这里插入图片描述

alias(别名)

通过使用 SQL ,可以为列名称和表名称指定别名(Alias)

表语法:

SELECT 列名称 FROM 表名称 AS 别名;

表“t_persons”,我们指定别名“p”

代码语言:javascript
复制
SELECT p.last_name FROM t_persons AS p WHERE p.last_name='Adams' OR p.first_name='Carter';
在这里插入图片描述
在这里插入图片描述
列语法:

SELECT 列名称 AS 别名 FROM 表名称;

表“t_persons”中列“last_name”和“first_name”,分别指定别名“Family”和“Name”

代码语言:javascript
复制
SELECT last_name AS Family, first_name AS Name FROM t_persons;
在这里插入图片描述
在这里插入图片描述

LIMIT

命令语法:

SELECT 列名称 FROM 表名称 LIMIT 偏移量;

命令含义:

查询返回指定的数目 例如:

代码语言:javascript
复制
SELECT * FROM t_persons LIMIT 3; //返回前3条
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
SELECT * FROM t_persons LIMIT 3,1;//返回3条后的一条数据——即第四条数据
在这里插入图片描述
在这里插入图片描述

WHERE

命令语法:
代码语言:javascript
复制
 SELECT  [ALL| DISTINCT]
              {*|table.*|[table.] field1 [as alias1] [,[table.] field2 [as alias2]][...]}
  FROM    表名 [] ,表2
  [WHERE ...]
命令含义:

根据条件从表中查询数据,如果有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句

IN

IN 操作符可以在 WHERE 子句中规定多个值

命令语法:

SELECT 列名称 FROM 表名称 WHERE 列名称 IN (值1, 值2,…);

命令实例:

1、从表“t_persons”中选取姓氏为“Adams”和“Carter”的人

代码语言:javascript
复制
select last_name from t_persons where last_name in('Adams','Carter');

select * from t_persons where last_name in('Adams','Carter');
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

in 后面不仅仅可以是字符串,还可以是记录集 select * from t_persons where last_name in(select last_name from t_persons);

在这里插入图片描述
在这里插入图片描述

运算符

在这里插入图片描述
在这里插入图片描述

注:在一些版本的SQL中,操作符 <> 可以写为 !=

代码语言:javascript
复制
SELECT * FROM t_persons WHERE year>1975;
在这里插入图片描述
在这里插入图片描述

LIKE

LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式

在这里插入图片描述
在这里插入图片描述

SQL 通配符必须与 LIKE 运算符一起使用

命令语法:

SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE 表达式

命令实例:

1、从“t_persons”表中选取居住在以“g”结尾的城市里的人:

代码语言:javascript
复制
select * from  t_persons where  city like "%g";     //错

select * from  t_persons where  city like "%g";      //对

如果报ERROR 1267 (HY000): Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation 'like'的错,可能是有什么符号的编码问题。比如我上面第一个就是%的问题。因此如果复制的时候出错了,可能自己手敲一遍就好了

在这里插入图片描述
在这里插入图片描述

2、从“t_persons”表中选取居住不包含“eij”的城市里的人:

代码语言:javascript
复制
select * from t_persons where city not like '%eij%';
select * from t_persons where first_name like '_eij%';
在这里插入图片描述
在这里插入图片描述

between

between 操作符在 where 子句中使用,作用是选取介于两个值之间的数据范围 操作符between … and 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期 命令语法: SELECT 列名称 FROM 表名称 WHERE 列名称 BETWEEN 值1 AND 值2;

查询表中列值在值1与值2之间的数据

代码语言:javascript
复制
select * from t_persons where year between 1975 and '1985';

数字可加引号可不加

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
select * from t_persons where last_name between 'b' and 'g';

字符必须加引号 b < bush < g < gates 所以产生这种“包前不包后”的现象

在这里插入图片描述
在这里插入图片描述

不包含:select * from t_persons where last_name not between 'b' and 'g';

在这里插入图片描述
在这里插入图片描述

and & or

and 两个条件都要成立 or 只要有一个条件成立就行

order by(排序)

默认按照升序对记录进行排序 asc 如果想要降序排序,使用 DESC 关键字 select * from t_persons order by city desc; 按照城市首字母,逆序输出

在这里插入图片描述
在这里插入图片描述

join

JOIN 用于根据两个或多个表中的列之间的关系,从这些表中查询数据

连接分为: INNER JOIN(JOIN 内连接): 如果表中有至少一个匹配,则返回行 SELECT 列名 FROM 表1 INNER JOIN 表2 ON 表1.列名=表2.列名

LEFT JOIN(左连接): 即使右表中没有匹配,也从左表返回所有的行 SELECT 列名 FROM 表1 LEFT JOIN 表2 ON 表1.列名=表2.列名

RIGHT JOIN(右连接): 即使左表中没有匹配,也从右表返回所有的行 SELECT 列名 FROM 表1 RIGHT JOIN 表2 ON 表1.列名=表2.列名

FULL JOIN(全连接): 只要其中一个表中存在匹配,就返回行 SELECT 列名 FROM 表1 FULL JOIN 表2 ON 表1.列名=表2.列名

union

用于合并两个或多个 SELECT 语句的结果集

union 语法:

SELECT 列名 FROM 表1 UNION SELECT 列名 FROM 表2

代码语言:javascript
复制
select last_name from t_persons  union select city from t_persons;
在这里插入图片描述
在这里插入图片描述

如果要允许重复的值,得使用 union all。

代码语言:javascript
复制
select last_name from t_persons  union all select city from t_persons;
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SELECT
    • 命令语法:
      • 命令含义:
        • distinct(去重)
          • 命令语法:
          • 命令含义:
        • alias(别名)
          • 表语法:
          • 列语法:
        • LIMIT
          • 命令语法:
          • 命令含义:
          • 命令语法:
          • 命令含义:
      • WHERE
        • IN
          • 命令语法:
          • 命令实例:
        • 运算符
          • LIKE
            • 命令语法:
            • 命令实例:
          • between
            • and & or
              • order by(排序)
                • join
                  • union
                    • union 语法:
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档