`

MySQL基础语句

阅读更多
排序检索数据
----------------------------------------------
--按价格升序(1 2 3)
select name , price from Products order by price;

--按价格降序(3 2 1)
select name , price from Products order by price desc;

--使用 order by和limit的组合,找出[一个]列中最高值
select price from Products order by price desc limit 1;


使用where子句
位置: 表名的后面,order by子句前面,limit在order by的后面
----------------------------------------------
--where子句操作符
<> 不等于, between 在指定的两个值之间。

--使用between 操作符
--它检索价格在5块钱到100块钱之间的所有产品(包括指定的开始值和结束值)
select name, price from Products where price between 5 and 100;

--空值检查
select id from customers where email is null;

--and操作符(&&)
--查询供应商id等于2并且价格小于1000的CPU,按升序输出3行
--limit要在order by后面
select id, vendors, name, price from Products where vendors= 2 and price <1000 order by price limit 3;

--or操作符(||)
--注意:混合使用or 和 and 操作符的时候要加括号(and 操作符优先级高)
select id, vendors, name, price from Products where (vendors = 2 or vendors=1) and price <200000 order by price;

--in操作符
--下面的SQl语句完成与上面同样的功能
--in最大的优点是可以包含其它的select语句
select id, vendors, name, price from Products where vendors in(1,2) and price <200000 order by price; 

--not操作符
--列出除供应商id 1以外的产品
select id, vendors, name, price from Products where vendors not in(1) and price <200000 order by price;

--like操作符
--百分号(%)通配符
--%告诉MySQL接受AMD之后的任意字符,不管它有多少字符
select *from Products where name like 'AMD%';
--'%MD%'表示匹配任何位置包含文本MD的值,不管它之前或之后出现什么字符
select *from Products where name like '%MD%';
--匹配任何东西,不过不会匹配 null
select *from Products where name like '%';


创建拼接字段
----------------------------------------------
--多数数据库用'+'号来实现拼接,MySQL用concat()
select concat(trim(name), ' (', trim(price), ')') as 报价 from Products order by price;
--下面的SQL语句检索订单号2的汇总信息
select product, quantity, price, (quantity*price) as TotalPrice from orderItems where ordernum=2;
--返回当前日期和时间
select now();


使用数据处理函数
----------------------------------------------
文本处理函数
--将串转换为小写
select lower(name) from Vendors;

日期处理函数
--Date()返回日期时间的日期部分
select num, customer, orderdate from orders where Date(orderdate) = '2008-09-01';

--Year()返回日期时间的年份部分
--检索顾客id为1, 2009年的订单
select num, customer, orderdate from orders where customer = 1 and Year(orderdate) = 2009;

--Month()返回日期时间的月份部分
--检索顾客id为1, 2009年2月份的订单
select num, customer, orderdate
  from orders
  where customer = 1 and Year(orderdate) = 2009 and Month(orderdate) = 2;


使用avg()、count()、max()、min()、sum()函数
----------------------------------------------
--avg()返回某列的平均值
--下面的例子返回特定供应商所提供产品的平均价格
select avg (price) AS IntelAveragePrice from products where vendors=1;

--count()返回某列的行数
--下面的例子返回Customers表的客户总数(COUNT(*)包含null值哦!)
select COUNT(*) AS num_cus from Customers;
--统计有电子邮件的客户总数(COUNT(email)忽略null值哦!)
select COUNT(email) AS num_cus from Customers;

--max()返回某列的最大值
select Max(price) AS MaxPrice from Products;

--min()返回某列的最小值
select Min(price) AS MinPrice from Products;

--sum()返回某列值之和
--返回 2号订单物品数量之和
select sum(quantity) AS Items from orderItems where ordernum=2
--返回 2号订单总价
select sum(quantity*price) AS TotalPrice from orderItems where ordernum=2


分组数据
----------------------------------------------
--group by
位置:where后, order by 前
select vendors, Max(price) AS max_price from Products group by vendors;
--统计所有顾客的订单数目
select customer, count(*) as OrderNum from orders group by customer;
--下面的例子检索订单号和总计订单价格,按“订单号”分组排序输出
select ordernum, sum(quantity*price) AS TotalPrice from OrderItems group by ordernum order by TotalPrice;

--过滤分组
--找到顾客订单数目大于 2的分组
select customer, count(*) as OrderNum from orders group by customer having count(*) >=2;


使用子查询
----------------------------------------------
--检索订购物品id=4的所有顾客
select ordernum from orderitems where product=4;  --结果:2, 7
select customer from orders where num in(2, 7);  --结果:1
select name, email from customers where id in(1);  --结果:apq | apq@163.com
--合起来写就是这个样子
select name, email
  from customers where id in (select customer
  from orders where num in (select ordernum
  from orderitems where product=4));

--作为计算字段使用子查询
select count(*) as totalorders from orders where cust_id=1; --结果:5
--显示customers表每个客户的订单总数
select cust_name,
        (select count(*)
          from orders
          where orders.cust_id = customers.cust_id) AS totalorders from customers;


联结表
----------------------------------------------
select vend_name, prod_name, prod_price
  from vendors, products
  where vendors.vend_id = products.vend_id
  order by vend_name, prod_name;
--上面的语句也可以这么写
select vend_name, prod_name, prod_price
  from vendors inner join products
  on vendors.vend_id = products.vend_id;


分享到:
评论

相关推荐

    10个mysql基础语句解析及基础用法介绍.zip

    本资料"10个mysql基础语句解析及基础用法介绍.zip"着重介绍了MySQL的基础操作,以下是这10个基础语句的详细解读: 1. **创建数据库**: 使用`CREATE DATABASE`语句创建新的数据库,如`CREATE DATABASE mydb;`,...

    mysql基础语句大全及用法讲解.zip

    这份"mysql基础语句大全及用法讲解"的压缩包文件,显然是为了帮助初学者或进阶用户掌握MySQL的基本操作和语句用法。下面,我们将详细探讨MySQL中的关键知识点。 1. **数据类型**: MySQL支持多种数据类型,如整数...

    mysql基础语句,包括增删改查

    mysql基础语句,包括增删改查

    MySQL基础语句思路复习.xmind

    MySQL基础复习资料超级详细.xmind

    MySQL SQL基础语句最佳实践

    总的来说,掌握MySQL基础语句的最佳实践对于数据库开发者来说至关重要。通过对这些基础知识的学习和理解,开发者可以编写出高效、安全、可维护的数据库应用代码。而随着数据库技术的不断演进和优化,开发者也需要...

    mysql基本语句大全

    MySQL基本语句大全 MySQL是最流行的开源关系数据库管理系统,下面是MySQL基本语句的大全。 一、创建数据库 创建数据库的基本语句为:CREATE DATABASE database-name 例如:CREATE DATABASE mydb 二、删除数据库 ...

    mysql基础语句.txt

    自己在学mysql的时候做的一些简单的语句归纳,希望对初学的人有一点帮助,愿大家在学习的道路上越来越努力

    基础常用SQL语句.pdf

    本文档总结了基础常用的SQL语句,涵盖了MYSQL基础语句、数据库创建、数据表创建、数据插入、查询、更新、删除、子句、连接、NULL值处理、正则表达式、ALTER命令、服务器元数据、MYSQL及SQL注入、MYSQL导出数据等多个...

    MySQL控制台各种基础语句总结

    MySQL 控制台各种基础语句总结 MySQL 是一种关系型数据库管理系统,广泛应用于各种 web 应用程序中。掌握 MySQL 控制台的基础语句是开发人员的必备技能。本文总结了 MySQL 控制台的各种基础语句,从连接、启动、...

    MySQL SQL语句练习题及答案

    MySQL SQL语句练习题及答案 本资源提供了 MySQL SQL 语句的练习题及答案,涵盖了创建表、插入数据、删除数据、更新数据、查询数据等多方面的知识点。 一、创建表 在 MySQL 中,创建表使用 CREATE TABLE 语句。...

    MySQL语法语句大全

    ### MySQL 基础概念 #### SQL 语言简介 SQL(Structured Query Language)是一种用于管理关系数据库的标准语言。它被用来处理存储在关系数据库中的数据,支持创建、查询、更新和删除数据等操作。 ### 数据表操作 ...

    mysql使用技巧了解mysql常用语句浅显易懂

    MySQL是一种广泛使用的开源关系型数据库管理系统,其命令行界面提供了丰富的功能,对于初学者来说,掌握一些基本的...这些基础操作和技巧是理解和使用MySQL的基础,熟练掌握它们能够让你更高效地管理和操作数据库。

    Mysql常用语句.doc

    本文将详细介绍如何连接MySQL,修改密码,以及增加新用户等基础操作。 首先,连接MySQL是使用MySQL的第一步。通常,我们使用`mysql`命令来完成。例如,连接到本机的MySQL服务器,只需在命令行输入`mysql -u 用户名 ...

    mysql增删改查基本语句(精).docx

    MySQL基础语句详解 MySQL是一种关系型数据库管理系统,常用于存储和管理数据。在本文中,我们将详细介绍MySQL的增删改查基本语句。 连接数据库 在使用MySQL之前,首先需要连接到数据库。连接数据库的基本语句如下...

    Mysql基础,最基本的mysql操作语句

    Mysql 基础知识点总结 Mysql 是一种关系型数据库管理系统,主要用于存储和管理数据。下面是 Mysql 的基础知识点...以上是 Mysql 的基础知识点总结,包括 DDL 语句、DML 语句、DQL 语句、多表查询、函数、约束等操作。

    mysql常用语句

    总之,MySQL的基础操作涵盖了数据库的创建、显示、删除,表的建立、查询、更新和删除,以及数据的导入导出。这些基本操作构成了日常数据库管理的核心,对初学者来说是学习数据库管理的基础。熟悉并掌握这些命令将极...

    MySQL常用sql语句生成器

    下面将详细介绍MySQL中的SQL语句及其生成器的相关知识。 1. SQL基础概念 SQL,全称为结构化查询语言,是用于创建、查询、更新和删除数据库中数据的标准语言。它分为DQL(查询语言)、DML(数据操纵语言)、DDL...

    Python 自动生成 MySQL 语句

    本话题主要探讨如何使用Python来自动扫描文件系统,并根据文件结构生成MySQL数据库和表的创建及导入语句。这个过程可以极大地简化数据库的初始化工作,特别是当处理大量结构化的文本数据时。 首先,我们需要了解...

    经典mysql语句大全

    4. 其他基础语句: - CREATE TABLE用于创建新表,例如`CREATE TABLE table (column1 datatype, column2 datatype);` - ALTER TABLE允许修改表结构,如添加、删除或修改列。 - CREATE INDEX用于创建索引,提高查询...

    oracle 到mysql转换工具

    MySQL以其优秀的性能、稳定性及易于管理的特性,赢得了广泛的用户基础。 在数据库迁移过程中,"ora2mysqcn.exe"这个程序起到了关键作用。它是一个图形化的用户界面(GUI)工具,通过向导式操作,引导用户逐步完成...

Global site tag (gtag.js) - Google Analytics