手动创两张表,对两张表进行查询

-- 检测数据库
DROP DATABASE IF EXISTS AddressList;
-- 创建数据库
CREATE DATABASE AddressList;
-- 使用数据库
USE AddressList;
-- 检测表
DROP TABLE IF EXISTS LinkmanType;
-- 创建表
CREATE TABLE LinkmanType(
TypeId INT PRIMARY KEY AUTO_INCREMENT,
TypeName VARCHAR(20) NOT NULL UNIQUE
)ENGINE=INNODB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=101;
-- 检测表
DROP TABLE IF EXISTS LinkmanInfo;
-- 创建表
CREATE TABLE LinkmanInfo(
ID INT PRIMARY KEY AUTO_INCREMENT,
TypeId INT NOT NULL,
Age INT NOT NULL,
L_Name VARCHAR(20) NOT NULL,
Adress VARCHAR(100),
Phone VARCHAR(50),
Email VARCHAR(20),
CONSTRAINT typ_ky FOREIGN KEY(TypeId) REFERENCES LinkmanType(TypeId)
)ENGINE=INNODB DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1;
-- 初始化数据
INSERT INTO LinkmanType VALUES (DEFAULT,'陌生人');
INSERT INTO LinkmanType VALUES(DEFAULT,'好朋友');
INSERT INTO LinkmanType VALUES(DEFAULT,'老师');
INSERT INTO LinkmanType VALUES(DEFAULT,'家人');
INSERT INTO LinkmanType VALUES(DEFAULT,'同学');
-- 初始化数据
INSERT INTO LinkmanInfo VALUES(DEFAULT,101,15,'张三','湖北','11111111111','qq');
INSERT INTO LinkmanInfo VALUES(DEFAULT,102,16,'李四','湖南','22222222222','xinlang');
INSERT INTO LinkmanInfo VALUES(DEFAULT,103,20,'王五','长沙','33333333333','weibo');
INSERT INTO LinkmanInfo VALUES(DEFAULT,103,15,'赵六','北京','44444444444','qq');
INSERT INTO LinkmanInfo VALUES(DEFAULT,101,18,'田七','天津','55555555555','weibo');
-- 查讯
SELECT * FROM LinkmanType;
SELECT * FROM LinkmanInfo;

以上面的例子举例:

1. 设置字段的别名(as)(as可以省略)

-- 1.设置字段名
SELECT Adress AS 地址 FROM LinkmanInfo;

2. 字段的连接(concat(字段1,字段2))

-- 2. 字段连接
SELECT  CONCAT(TypeId,Adress) AS id和地起 FROM LinkmanInfo;

注:mysql 只能用concat 进行连接,而sqlservice 和oracle 还可以用+连接

3. ALL关键字(用在字段前面,不能单独写)

-- 3.all关键字
SELECT ALL TypeId FROM LinkmanInfo;
-- 查讯所有
SELECT * FROM LinkmanType;

注:不加ALL一般是省略的,加了all必须后面根字段名,显示所有也可以用*表示;

4. limit 关键字

-- 4. limit关键字
SELECT * FROM LinkmanInfo LIMIT 0,4;

注:表示查询所有中,从0个开始显示前面4个,mysql中不能用top关键字,sqlservice中一般用top 4,来取前4个

5. distinct 过滤重复记录(用在字段前面)

-- 5.distinct关键字
SELECT DISTINCT TypeId FROM LinkmanInfo;

注:表示,有多个重复类别id时,用来查询有哪些类别

6. where关键字(也就是条件查询)

-- 6.where 关键字
SELECT * FROM LinkmanInfo WHERE TypeId>102;

7. between...and... (从两者之间)

-- 7. between  and
SELECT * FROM LinkmanInfo WHERE TypeId BETWEEN 101 AND 102;

注: 表示查询LinkmanInfo表中TypeId是101和102之间的所有的信息

8. in/not in(in 在....里面,也就是包含的意思;not in 没有在...里面,不包含的意思)

-- 8.in /not in
SELECT * FROM LinkmanInfo WHERE TypeId IN(101,103);
SELECT * FROM LinkmanInfo WHERE TypeId NOT IN(101,103);

9. 逻辑运算(and  or  not

-- 9.逻辑运算符
SELECT * FROM LinkmanInfo WHERE TypeId=101 AND TypeId=102;
SELECT * FROM LinkmanInfo WHERE TypeId=101 OR TypeId=102;

10. Like 关键字(模糊查询)(用得比较多)

-- 10. 关键字Like
SELECT * FROM LinkmanInfo WHERE Adress LIKE '湖%';
SELECT * FROM LinkmanInfo WHERE Adress LIKE '_京';

注: 一个"_"代表一个字,"%"表示0个或多个字,一般的话查询里面包含这个字的话,前后都要加%;

11. order by 排序(desc 降序, asc 升序)

-- 11. 排序 order by desc/asc
SELECT * FROM LinkmanInfo ORDER  BY TypeId DESC;

注: 对于字符串的数字也是可以排序的,须确保位数一样,从左到右一位一位进行相比的;

12. 查询结果计算(sum,avg,max,min)

-- 12.查询结果计算
SELECT AVG(age) AS 平均年龄,MAX(age) AS 最大年龄,MIN(age) AS 最小年龄,SUM(age) AS 年龄之和  FROM LinkmanInfo;

13. 统计行数(count(*))(用得比较多)

-- 13.统计个数
SELECT COUNT(*) AS 总人数 FROM LinkmanInfo; 

14. 连接查询之内部连接查询(inner join...on...

-- 14.内部连接查询
-- 第一种
SELECT * FROM LinkmanType INNER JOIN LinkmanInfo ON LinkmanType.TypeId=LinkmanInfo.TypeId;
-- 第二种
SELECT * FROM LinkmanType t INNER JOIN LinkmanInfo  i ON t.TypeId=i.TypeId;
-- 第三种
SELECT *FROM LinkmanType,LinkmanInfo WHERE LinkmanType.TypeId=LinkmanInfo.TypeId;

15. 连接查询之外部连接查询(left join...on...  /    right join...on...

-- 15.外部连接查询
-- 以左边为主表
SELECT * FROM LinkmanType t LEFT JOIN LinkmanInfo i ON t.TypeId=i.TypeId;
-- 以右边为主表
SELECT * FROM LinkmanType t RIGHT JOIN LinkmanInfo i ON t.TypeId=i.TypeId;

16. 分组并统计(group by

-- 16.分组(group by)
SELECT typeid ,COUNT(*) 该总类人数 FROM LinkmanInfo
GROUP BY typeid;

MySQL(查询语句,关键字)相关推荐

  1. MySQL查询语句关键字执行的优先级问题

    系列文章目录 第一章 MySQL概述 第二章 MySQL的常用命令 第三章 MySQL中的常用数据类型 第四章 MySQL单行处理函数 第五章 MySQL多行处理函数 前言 前五章我们学习了查询语句的 ...

  2. php面试专题---MYSQL查询语句优化

    php面试专题---MYSQL查询语句优化 一.总结 一句话总结: mysql的性能优化包罗甚广: 索引优化,查询优化,查询缓存,服务器设置优化,操作系统和硬件优化,应用层面优化(web服务器,缓存) ...

  3. mysql查询语句详解_基于mysql查询语句的使用详解

    1> 查询数据表除了前三条以外的数据. 起初我想到的是这条语句 SELECT * FROM admin WHERE userid NOT IN (SELECT userid FROM admin ...

  4. 两小时学会MySQL查询语句(下篇)

    学生表 #创建表 CREATE TABLE LX_student( studentId INT(8) PRIMARY KEY NOT NULL, studentName VARCHAR(8) NOT ...

  5. 两小时学会MySQL查询语句(上篇)

    在实际开发中,对数据的查询占sql操作的90%以上,可见SQL查询是很重要的 首先我们创建三张学习表 创建表 学生表 #创建表 CREATE TABLE LX_student( studentId I ...

  6. 一条mysql查询语句的执行过程

    当我们执行一条MySQL查询语句时,对于客户端而言是一个很简单的过程,但对于服务端来说其内部却会涉及到一些复杂的组件和处理逻辑.了解MySQL语句的内部执行原理,有助于我们更好地去处理一些复杂的SQL ...

  7. 网上搜集的MySQL查询语句大全集锦(经典珍藏)

    原文地址为: 网上搜集的MySQL查询语句大全集锦(经典珍藏) SQL查询语句大全集锦 MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW ...

  8. mysql查询语句 变量_mysql查询语句中用户变量的使用

    先上代码吧 SELECT `notice`.`id` , `notice`.`fid` , `notice`.`has_read` , `notice`.`notice_time` , `notice ...

  9. mysql 查询语句执行顺序_MySQL 查询语句执行过程

    MySQL 查询语句执行过程 Mysql分为server层和存储引擎两部分,或许可以再加一层连接层 连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注的是, ...

  10. mysql 查询语句_MySQL相关(一)- 一条查询语句是如何执行的

    前言 学习一个新知识最好的方式就是上官网,所以我先把官网贴出来 MySQL官网 (点击查阅),如果大家有想了解我没有说到的东西可以直接上官网看哈~目前 MySQL 最新大版本为8.0,但是鉴于目前应用 ...

最新文章

  1. 面试官:说说Kafka处理请求的全流程
  2. js php 实现日历签到_Js 实现每日签到打卡轨迹功能。
  3. MySQL SELECT..INTO OUTFILE语句只能导出1000行的故障
  4. 对C++中new的认识
  5. [温故知新] 编程原则和模式
  6. Android App图片轮播效果的组件化
  7. 5000字干货原创 | APP版本迭代如何避免踩坑?
  8. hibernate4中使用Session doWork()方法进行jdbc操作(代码)
  9. 利用Python获取数组或列表中最大的N个数及其索引
  10. 《计算机操作系统》第四版(汤小丹考研版) 全书知识梳理
  11. 利用matlab信号带宽,测量均值频率、功率、带宽
  12. 为什么我要建立自己的公众号?
  13. android休闲游戏,休闲放松是王道 六款安卓休闲游戏推荐
  14. 离线地图数据tpk的制作
  15. 厚积薄发-Aspects
  16. Excel插件快捷键弹窗事件(VSTO+键盘钩子实现)
  17. 用户 '****' 登录失败
  18. My unqualified host name () unknown; sleeping for XX
  19. 李刚疯狂java讲义第3_【Java】-NO.16.EBook.4.Java.1.009-【疯狂Java讲义第3版 李刚】- 泛型...
  20. 响应式编程(反应式编程)的来龙去脉(同步编程、多线程编程、异步编程再到响应式编程)

热门文章

  1. mfrc522 c语言程序,用mxgxw/MFRC522python库和MFRC522读卡器在raspi2上编写ntag213(Mifare ultralightc)...
  2. 1046 mysql_MYSQL 1046 错误求助:
  3. ntoskrnl.exe文件丢失或损坏的问题解决方法
  4. Linux命令详解(4)-vim命令(一)vim命令选项
  5. html使用手机修改密码,moshujiacn手机设置修改密码步骤
  6. 基于LBS任务式旅游APP
  7. 利用Python在互动吧网站自动抢票实战分析!你学废了吗
  8. Python合并PDF
  9. C++:有限差分法求解随时间变化 平流方程 ut = - c * ux 在一个空间维度上,与 恒定速度,使用Lax方法作为时间导数(附完整源码)
  10. python的全局静态变量