MySQL 之 扩展例子
扩展例子
插入一条记录
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 之 扩展例子的更多相关文章
- PHP安装mysql.so扩展
在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...
- mysql定时任务简单例子
mysql定时任务简单例子 ? 1 2 3 4 5 6 7 8 9 如果要每30秒执行以下语句: [sql] update userinfo set endtime = now() WHE ...
- mysql触发器的例子--插入前更新数据
本文介绍下,一个mysql触发器的例子,在数据插入前更新相关内容,有需要的朋友参考下. mysql触发器的例子,如下: view source print? 001 mysql> CREATE ...
- mysql空间扩展 VS PostGIS
http://www.cnblogs.com/LBSer/p/3629149.html 功能 Mysql spatial extension PostGIS 空间索引 仅MyISAM支持R树索引,I ...
- php添加mysql.so扩展
1.软件包安装 yum install php-mysql 安装的是mariadb的扩展 yum install php-mysqlnd 安装的是mysql的扩展
- PHP安装mysql.so扩展及相关PHP.ini 配置参数说明
在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...
- Java中连接MySql数据库的例子
Java中连接MySql数据库的例子: package com.joinmysql.demo; import java.sql.DriverManager; import java.sql.Resul ...
- MySQL索引扩展(Index Extensions)学习总结
MySQL InnoDB的二级索引(Secondary Index)会自动补齐主键,将主键列追加到二级索引列后面.详细一点来说,InnoDB的二级索引(Secondary Index)除了存储索引列k ...
- 【译】Spring 4 + Hibernate 4 + Mysql + Maven集成例子(注解 + XML)
前言 译文链接:http://websystique.com/spring/spring4-hibernate4-mysql-maven-integration-example-using-annot ...
随机推荐
- 详解Vue 实例中的生命周期钩子
Vue 框架的入口就是 Vue 实例,其实就是框架中的 view model ,它包含页面中的业务处理逻辑.数据模型等,它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻 ...
- android 服务与多线程
android服务是执行在UI主线程的.一下是代码demo: package com.example.testservice; import android.os.Bundle; import and ...
- 通过主机名来获取一个ip对象
//通过名称(ip字符串or主机名)来获取一个ip对象. InetAddress ip = InetAddress.getByName("www.baidu.com");//jav ...
- 阿里云ecs docker使用(2)
1. 退出docker容器 命令 exit 2.sudo docker ps -l 3. sudo docker images 4. sudo docker commit ba300f05c1a3 c ...
- PYTHON加密解密字符串
依赖包安装部分 安装依赖包: pip install pycryptodome 在你的python环境中的下图红框路径中找到 crypto 将其改成 Crypto 代码部分 #!/usr/bin/en ...
- php 生成bing词典能导入的xml(有道词典->bing词典)
编程以来一直用网易有道词典查单词.翻译:最近一直在看英文方面的资料,于是越来越对有道词典(划词.广告,本来想转灵格斯的,但灵格斯没有android版)不满意,一番试用后决定转bing词典,于是想把有道 ...
- 剑指Offer:二叉搜索树的后序遍历序列【33】
剑指Offer:二叉搜索树的后序遍历序列[33] 题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. ...
- 解析器组件和序列化组件(GET / POST 接口设计)
前言 我们知道,Django无法处理 application/json 协议请求的数据,即,如果用户通application/json协议发送请求数据到达Django服务器,我们通过request.P ...
- 深入浅出理解linux inode结构【转】
本文转载自:https://blog.csdn.net/fantasyhujian/article/details/9151615 一.inode是什么? 参考文档:http://tech.diann ...
- zabbix使用mysql模板监控mysql
出现监控项访问拒绝的信息 解决方法是: 在 mysql的 my.cnf 配置中增加 [mysql] user=zabbix password=zabbix [mysqladmin] user=zabb ...