扩展例子

插入一条记录

INSERT INTO 表名 [(字段1,…,字段n)] VALUES (值1,…,值n)

插入查询的结果

INSERT INTO 表名 (字段1,…,字段n) VALUES 子查询

例如:INSERT  INTO  Scores  VALUES ("990301", "大学计算机基础", 98)

DELETE FROM 表 [WHERE 条件]

注意: WHERE子句缺省,则删除表中所有的记录(表还在)

例如::DELETE FROM Scores WHERE 成绩<70

UPDATE 表 SET 字段1=表达式1, … ,字段n=表达式n [WHERE 条件]

注意: WHERE子句缺省,则修改表中所有的记录

例 将表Students中学生王涛的姓名改为王宝球

UPDATE  Students  SET  姓名=“王宝球”  WHERE  姓名="王涛"

例 将表Students中助学金低于200的学生加30元

UPDATE  Students  SET  助学金=助学金+30  WHERE  助学金<200

UPDATE语句一次只能对一个表进行修改

选择字段:

例7.10  查询所有的专业,查询结果中不出现重复的记录

SELECT DISTINCT 专业 FROM Students;

例7.11  使用合计函数,查询学生人数、最低助学金、最高助学金和平均助学金

SELECT    Count(*) AS 人数,        Min(助学金) AS 最低助学金,    Max(助学金) AS 最高助学金,   Avg(助学金) AS 平均助学金

FROM Students

例7.12 查询学生的姓名和年龄

SELECT 姓名, Year(Date())-Year(出生年月) AS 年龄 FROM Students

选择记录:

例7.13  显示所有非计算机专业学生的学号、姓名和年龄

SELECT 学号, 姓名, Year(Date())-Year(出生年月)  AS 年龄 FROM Students WHERE 专业<>"计算机"

例7.14 查询1981年(包括1981年)以前出生的女生姓名和出生年月。

SELECT 姓名,出生年月 FROM Students  WHERE 出生年月 < #1/1/1982#  AND 性别="女"

排序:

例7.15 查询所有党员学生的学号和姓名,并按助学金从小到大排序。

SELECT 学号, 姓名  FROM  Students  WHERE 党员=True  ORDER BY 助学金

可用多个关键字排序。例如,ORDER BY 专业 ASC, 助学金  DESC

ASC:表示升序,DESC:表示降序。

分组查询:

例7.16 查询每个专业学生人数。(简单分组)

SELECT 专业, count(*) AS 人数  FROM students  GROUP BY 专业;

例7.17 查询各专业男女生的平均助学金(复杂分组)

SELECT 专业,性别, Avg(助学金) AS 平均助学金  FROM Students  GROUP BY 专业, 性别

将专业和性别都相同的记录分在一组。

例7.18 对Scores表查询有2门课程成绩在75以上的学生的学号和课程数。分组后过滤

SELECT 学号, Count(*)  AS 课程数 FROM Scores  WHERE 成绩>=75 GROUP BY 学号

HAVING Count(*)>=2

连接查询:

例7.19 查询所有学生的学号、姓名、课程和成绩

SELECT  Students.学号,Students.姓名,Scores.课程, Scores.成绩  FROM  Students, Scores

WHERE  Students.学号 = Scores.学号

自动生成语句:

SELECT Students.学号, Students.姓名, Scores.课程, Scores.成绩 FROM Students INNER JOIN Scores  ON  Students.学号 = Scores.学号

例7.20 查询选修了“高等数学”课程的学生的学号、姓名和成绩。

SELECT  Students.学号, Students.姓名, Scores.成绩  FROM  Students, Scores

WHERE  Students.学号=Scores.学号 AND Scores.课程="高等数学"

上述语句可以改写为:

SELECT  Students.学号, Students.姓名, Scores.成绩 FROM  Students INNER JOIN  Scores

ON Students.学号 = Scores.学号 WHERE Scores.课程="高等数学"

嵌套查询:在SQL中,将一个SELECT语句查询块嵌套在另一个SELECT语句的WHERE子句或HAVING子句中称为嵌套查询

例7.21 查询没有学过大学计算机基础的学生的学号、姓名和专业

SELECT Students.学号, Students.姓名, Students.专业 FROM Students

WHERE Students.学号 Not in

(SELECT Scores.学号 FROM Scores  WHERE Scores.课程="大学计算机基础")

例7.22 查询与“邓倩梅”在同一个专业的学生的学号和姓名

SELECT Students.学号, Students.姓名 FROM Students  WHERE 专业 in

(SELECT Students.专业  FROM Students  WHERE  Students.姓名="邓倩梅")

MySQL 之 扩展例子的更多相关文章

  1. PHP安装mysql.so扩展

    在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...

  2. mysql定时任务简单例子

    mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9     如果要每30秒执行以下语句:   [sql] update userinfo set endtime = now() WHE ...

  3. mysql触发器的例子--插入前更新数据

    本文介绍下,一个mysql触发器的例子,在数据插入前更新相关内容,有需要的朋友参考下. mysql触发器的例子,如下: view source print? 001 mysql> CREATE  ...

  4. mysql空间扩展 VS PostGIS

    http://www.cnblogs.com/LBSer/p/3629149.html 功能 Mysql spatial extension  PostGIS 空间索引 仅MyISAM支持R树索引,I ...

  5. php添加mysql.so扩展

    1.软件包安装 yum install php-mysql 安装的是mariadb的扩展 yum install php-mysqlnd 安装的是mysql的扩展

  6. PHP安装mysql.so扩展及相关PHP.ini 配置参数说明

    在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...

  7. Java中连接MySql数据库的例子

    Java中连接MySql数据库的例子: package com.joinmysql.demo; import java.sql.DriverManager; import java.sql.Resul ...

  8. MySQL索引扩展(Index Extensions)学习总结

    MySQL InnoDB的二级索引(Secondary Index)会自动补齐主键,将主键列追加到二级索引列后面.详细一点来说,InnoDB的二级索引(Secondary Index)除了存储索引列k ...

  9. 【译】Spring 4 + Hibernate 4 + Mysql + Maven集成例子(注解 + XML)

    前言 译文链接:http://websystique.com/spring/spring4-hibernate4-mysql-maven-integration-example-using-annot ...

随机推荐

  1. python 基础 1.5 python数据类型(二)--列表常用方法示例

    #/usr/bin/python #coding=utf-8 #@Time   :2017/10/12 23:30 #@Auther :liuzhenchuan #@File   :列表.py lis ...

  2. Java 学习 day02

    1. 标识符 2. 常量 3. 进制的特点 4. 进制转换(十进制和二进制) 5. 进制转换(八进制和十六进制) 6. 进制转换(负数二进制) 7. 变量 8. 类型转换 9. 算术运算符 10. 转 ...

  3. mysql系列之8.mysql高可用 (keepalived)

    环境: centos6.5_x64 准备: 两台mysql机器 主1 master:  192.168.32.130 主2 backup:  192.168.32.131 VIP: 192.168.3 ...

  4. JSP&Servlet(转)

    第一篇:Web应用基础1.概念:  1.1应用程序分类     a.桌面应用程序:一般是指采用client/server即客户机/服务器结构的应用程序.     b.web应用程序:一般是指采用Bro ...

  5. 在JavaScript中闭包的作用和简单的用法

    在JavaScript中闭包的作用和简单的用法 一.闭包的简介 作用域链:在js中只有函数有作用域的概念,由于函数内能访问函数外部的数据,而函数外部不能访问函数内部的数据,由上述形成一种作用域访问的链 ...

  6. mini2440 最小根文件系统制作和nfs启动

    mini2440 内核启动后,可以用busybox制作一个简单的根文件系统并用nfs来启动该文件系统 启动mini2440, 按任意键进入uboot,按q键进入uboot命令行: 执行以下命令: se ...

  7. python中的编码转换

    今天遇到了一个问题,将字符串“\uxxxx\uxxxx”转换成汉字.网上查了很多资料都不行. 后来看到,发现一个函数就OK了. str = str.decode('unicode_escape') 等 ...

  8. javscript 一些常用的工具方法

    一些工作中经常会用到的js代码,可以封装成一个工具库. 积少成多,从现在开始吧! -------------- 1 . 判断一段文字的长度.要求中文相当于2个字符,非中文的相当于1个字符 String ...

  9. PHP中调用接口

    引用:http://zhidao.baidu.com/question/454935450.html&__bd_tkn__=67bd5d3a742a8b244e09a86fb8b824aa95 ...

  10. hdu5776sum

    题目连接  抽屉原理:如果现在有3个苹果,放进2个抽屉,那么至少有一个抽屉里面会有两个苹果 抽屉原理的运用 现在假设有一个正整数序列a1,a2,a3,a4.....an,试证明我们一定能够找到一段连续 ...