Mysql 练习 总结

一. 总结

首先回顾: 连接查询(几张表连在一起  组成一个大表 在进行查询 ---易忘) 子查询   联合查询    详见  基础篇

建表顺序:首先  建主表  再建从表   填写内容也一样  先填写主表 在填写 从表

小括号:

1. 小括号 可以表示   独立运算的部分

2.带小括号的是方法  ()  比如  count();  where  寻找指定行:

#---查询95033班和95031班全体学生的记录。

select * from  Student ,Course, Score where Student.Sno=Score.Sno and 

Course.Cno=Score.Cno and ( class=‘95033‘or class=‘95031‘)

关键词 :

逗号   很重要;   所有语句  几乎都可以嵌套使用

select.. from   ; where   ; group by    having  ;   order by

distanct    ; or    ;in  ;   and   ;  not

1.not  :  not in (看前面 mysqle 基础)  和 not like

#- 查询Student表中不姓“王”的同学记录。 select * from Student where Sname not like‘王%‘

2. group by  和  where  , count(*)连用的时候 注意  [带小括号的表示方法}

首先定义:聚集函数:一种函数,它对一组行中的某个列执行计算,并返回单个值。

1.where 和 having
简单的讲,where的条件是字段;而having 的条件可以是字段,也可以是聚集函数;
重要的是,where是筛选源数据,having多与group by 一起使用,并且条件常常是聚集函数;当有group by 时,having在group  by 条件的后面,而where 在group by的前面。
聚集函数:sum,count,avg ...等等;

2.count和sum
count 是‘累计’;  sum是‘累加’;
还是上面的表a_info中;
查询每个年级中分数大于60的有多少人以及他们的平均分,总分是多少:

    3.sql语句的执行顺序:
(1)from    选取数据源;
(2)where  筛选数据源;
(3)  group  by 将筛选的数据源分组;
(4)使用聚集函数计算;
(5)having 筛选分组的数据;
(6)计算表达式;
(7)order by 排序;

group where count(*)同时使用讲解

#----查询至少有2名男生的班号。

select class from Student  where Ssex=‘男‘ group by class having count(*)>=2

3.distanct: 使用方法 见  基础部分  不做赘述

4.获取时间 年月日 详见 下一篇  博客   以下简略 

获取的 为整数 可以进行大小比较:

获取年  year(时间所在列名)----列名不加引号

获取 当前时间  date(now())

获取 天        date(时间所在的列)

#----查询Student表中每个学生的姓名和年龄。
select Sname,year(now())-year(Sbrithday ) from Student

#---查询Student表中最大和最小的Sbirthday日期值。

select Sname, max(date(sbrithday)) from Student
union

select Sname, min(date(sbrithday)) from Student

#---以班号和年龄从大到小的顺序查询Student表中的全部记录。
select * from Student order by class,year(Sbrithday);
 
时间: 2024-08-15 03:02:53

Mysql 练习 总结的相关文章

记一次MySQL找回用户数据

事情经过 有天,我们公司外区的一个销售C说他8月3号以前的工作流记录找不到了.问清缘由,原来是更新了微信号(我们公司的工作流是基于企业微信开发的).经过分析,微信号和流程数据并没什么关系,所以初步得出结论:本来只需要更新微信号的,结果我们公司的流程系统管理员把用户先删除,再创建了新的用户. 解决过程 1.首先想到的是直接从定时备份数据里面找回原来的用户ID,结果发现系统只备份了十天的记录,而工作流系统上显示销售C只有8月3号以后的流程记录,距今已经40多天,从自动备份的数据里已经无法恢复. 2.

centos7下使用yum安装mysql

CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 2. 安装mysql-community-release-el7-5.noarch.rpm包 $ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm 安装这个

EF+mvc+mysql

这个真是一个大坑啊.TM折腾了一下午终于弄好了.赶紧记录下来分享给大家,免得有和我一样一直配置不成功的又折腾半天-.1.安装MySQL for Visual Studio这个直接在mysql官网下载并安装就好了.不过这个必须是vs2013 professional版本以上才可以!!2.安装MySQL Connector/Net这个可以可以通过NuGet工具获得,比较轻松愉快,当然你也可以自己下载,自己引用.3.配置web.config.首先是connectionStrings节点 1 <conn

Linux环境下MySQL数据库用SQL语句插入中文显示 “问号或者乱码 ” 问题解决!

问题: 在普通用户权限下执行 mysql -u root -p进入mysql数据库,中间步骤省略,插入数据:insert into 库名(属性)values('汉字'); 会出现如下提示:  Query OK, 1 row affected, 1 warning (0.00 sec)    表明出现错误,没有插入成功,然后执行select * from 表名   就会出现如下的问题:显示的表中出现乱码或者问号. 如图: 解决方案: 首先重新打开一个终端窗口(方便操作),进入root用户模式 执行

Centos6.5 zabbix3.2.6监控mysql

  一.     操作环境 我使用的linux系统是centos6.5,数据库是mysql5.6,apache2.4,php5,6 安装目录: /usr/local/apache /usr/local/php /usr/local/mysql /usr/local/zabbix Zabbix服务器插件安装 Zabbix3.2.6自带监控mysql模板监控项不全面,所以重新下载导入到zabbix里面 下载网址:. https://www.percona.com/downloads/percona-

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

MariaDB(MySQL)创建、删除、选择及数据类型使用详解

一.MariaDB简介(MySQL简介略过) MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品.在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB. MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL A

Mac配置Mysql遇到的 --secure-file-priv问题

1.安装mysql 在官网上安装,一步步无障碍安装(但根据后来文件入法导入/导出的经验,最好在安装前设置secure-file-priv为empty,5.7.6之后似乎就默认为NULL,而secure-file-prive为NULL的话,就不支持文件导入/出) 2.安装navicat premimum 在网上找到一个破解版,按照破解步骤来安装,很好用 3.遇到的问题:在将选择的记录导出到.csv文件时,出现提示"The MySQL server is running with the --sec

MySQL(九)之数据表的查询详解(SELECT语法)二

上一篇讲了比较简单的单表查询以及MySQL的组函数,这一篇给大家分享一点比较难得知识了,关于多表查询,子查询,左连接,外连接等等.希望大家能都得到帮助! 在开始之前因为要多表查询,所以搭建好环境: 1)创建数据表suppliers 前面已经有一张表是book表,我们在建立一张suppliers(供应商)表和前面的book表对应. 也就是说 让book中s_id字段值指向suppliers的主键值,创建一个外键约束关系. 其实这里并没有达到真正的外键约束关系,只是模拟,让fruits中的s_id中

MySQL 警告WARN: Establishing SSL connection without server&#39;s identity verification is not recommended.解决办法

Success loading Mysql Driver!Mon Apr 04 15:43:00 CST 2016 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by d