mysql sql select_mysql SQL Select 语句 简单应用
一、SQL 简介
1. 什么是 SQL?
SQL 指结构化查询语言
SQL 使我们有能力访问数据库
SQL 是一种 ANSI 的标准计算机语言
2. SQL 能做什么?
SQL 面向数据库执行查询
SQL 可从数据库取回数据
SQL 可在数据库中插入新的记录
SQL 可更新数据库中的数据
SQL 可从数据库删除记录
SQL 可创建新数据库
SQL 可在数据库中创建新表
SQL 可在数据库中创建存储过程
SQL 可在数据库中创建视图
SQL 可以设置表、存储过程和视图的权限
3. 注意事项
SQL 对大小写不敏感!
每条 SQL 命令的末端使用分号[;]结束
4. 查询、更新和定义指令
SQL 查询和更新指令-----------------
SELECT - 从数据库表中获取数据 UPDATE - 更新数据库表中的数据 DELETE - 从数据库表中删除数据 INSERT INTO - 向数据库表中插入数据 SQL 的数据定义指令----------------- CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变)数据库表 DROP TABLE - 删除表 CREATE INDEX - 创建索引(搜索键) DROP INDEX - 删除索引
二、SQL Select 语句
SELECT 语句用于从表中选取数据。
结果被存储在一个结果表中(称为结果集)。
1. SELECT 简单语法
SELECT 列名称 FROM 表名称
以及:
SELECT * FROM 表名称
注:SQL 语句对大小写不敏感。SELECT 等效于 select。
SQL SELECT 实例
SELECT id,name,title FROM posts
或
SELECT * FROM posts
注:星号(*)是选取所有列的快捷方式。
2. SELECT DISTINCT 语句
DISTINCT 用于返回唯一不同的值(按某一列去重)。
语法:
SELECT DISTINCT 列名称 FROM 表名称
如:
SELECT DISTINCT title FROM posts
3. WHERE 子句
如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句。
语法:
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
下面的运算符可在 WHERE 子句中使用:
操作符
描述
=
等于
<>
不等于
>
大于
<
小于
>=
大于等于
<=
小于等于
BETWEEN
在某个范围内
LIKE
搜索某种模式
如下:
SELECT 语句添加 WHERE 子句:
SELECT * FROM posts WHERE title='test title'
注意,单引号的使用。
SQL 使用单引号来环绕文本值(大部分数据库系统也接受双引号)。如果是数值,请不要使用引号。
文本值:
这是正确的:
SELECT * FROM posts WHERE title='test title'
这是错误的:
SELECT * FROM posts WHERE title=test title
数值:
这是正确的:
SELECT * FROM posts WHERE Year>1965
这是错误的:
SELECT * FROM posts WHERE Year>'1965'
4. AND & OR 运算符
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤。
AND 运算符实例 如下:
SELECT * FROM posts WHERE title='test title' AND name='admin'
OR 运算符实例
SELECT * FROM posts WHERE title='test title' OR name='admin'
结合 AND 和 OR 运算符
SELECT * FROM posts WHERE (title='test title' OR FirstName='admin') AND status='publish'
5. ORDER BY 子句
ORDER BY 语句用于对结果集进行排序
ORDER BY 语句默认按照升序对记录进行排序(ASC)
如果希望按降序排序,可以使用 DESC 关键字
实例如下:
SELECT * FROM posts ORDER BY title
或
SELECT * FROM posts ORDER BY title DESC
多个排序条件如下:
SELECT title,name FROM posts ORDER BY title DESC, name ASC
注意:在以上的结果中第一列 title 有相等时。第二个排序条件才会起作用,并对相同的 title 再按 name 排序。
6. Limit 子句
Limit 子句是用于规定要返回的记录的数目
SELECT * FROM posts LIMIT 10
或
SELECT * FROM posts LIMIT 1,10
7. LIKE 通配符
通配符
描述
%
替代一个或多个字符
_
仅替代一个字符
[charlist]
字符列中的任何单一字符
[^charlist]或者[!charlist]
不在字符列中的任何单一字符
1. LIKE 操作符(替代一个或多个字符)
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
实例如下:
SELECT * FROM posts WHERE title LIKE 'test%'
提示:”%” 可用于定义通配符(模式中缺少的字母)。
或:
SELECT * FROM posts WHERE title LIKE '%test%'
NOT 关键字 (不包含 某些关键字)
如下:
SELECT * FROM posts WHERE title NOT LIKE '%test%'
2. _ 通配符(仅替代一个字符)
SELECT * FROM posts WHERE title LIKE '___t'
3. [charlist] 通配符(字符列中的任何单一字符)
SELECT * FROM posts WHERE title LIKE '[ALN]%'
不以 “A” 或 “L” 或 “N” 开头的 title
SELECT * FROM posts WHERE title LIKE '[!ALN]%'
8. IN 操作符
IN 操作符允许我们在 WHERE 子句中规定多个值。
实例:
SELECT * FROM posts WHERE name IN ('admin','john')
9. BETWEEN … AND … 操作符
操作符 BETWEEN … AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT * FROM posts WHERE name BETWEEN 'Adams' AND 'Carter'
范围之外的人,请使用 NOT 操作符
SELECT * FROM posts WHERE name NOT BETWEEN 'Adams' AND 'Carter'
10. AS (Alias 别名)
可以为列名称和表名称指定别名(Alias)。
SELECT name AS n, title AS t FROM posts
11. JOIN
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。
JOIN: 如果表中有至少一个匹配,则返回行
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
FULL JOIN: 只要其中一个表中存在匹配,就返回行
1. LEFT JOIN 关键字
LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。
SELECT id, brand, sa.state_name AS state FROM shopping AS shop LEFT JOIN state_alias AS sa ON (sa.state_abbr = shop.state)
12. SQL 函数
函数语法:
SELECT function(列) FROM 表
SQL 拥有很多可用于计数和计算的内建函数。
函数
描述
AVG(column)
返回某列的平均值
COUNT(column)
返回某列的行数(不包括NULL值)
FIRST(column)
返回在指定的列中第一个记录的值
LAST(column)
返回在指定的域中最后一个记录的值
MAX(column)
返回某列的最高值
MIN(column)
返回某列的最低值
SUM(column)
返回某列的总和
ROUND(column,decimals)
把数值字段舍入为指定的小数位数
NOW()
返回当前的日期和时间
FORMAT(Now(),’YYYY-MM-DD’)
用于对字段的显示进行格式化
13. GROUP BY 语句
合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。
GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
我们拥有下面这个 “Orders” 表:
O_Id
OrderDate
OrderPrice
Customer
1
2008/12/29
1000
Bush
2
2008/11/23
1600
Carter
3
2008/10/05
700
Bush
4
2008/09/28
300
Bush
5
2008/08/06
2000
Adams
6
2008/07/21
100
Carter
现在,我们希望查找每个客户的总金额(总订单)。
SELECT Customer,SUM(OrderPrice) FROM Orders GROUP BY Customer
结果集类似这样:
Customer
SUM(OrderPrice)
Bush
2000
Carter
1700
Adams
2000
让我们看一下如果省略 GROUP BY 会出现什么情况:
Customer
SUM(OrderPrice)
Bush
5700
Carter
5700
Bush
5700
Bush
5700
Adams
5700
Carter
5700
其它实例:
select state,count(state) from shopping GROUP BY state
END!
mysql sql select_mysql SQL Select 语句 简单应用相关推荐
- mysql 查询 select_mysql 查询select语句汇总
数据准备: 创建表: create table students( id int unsigned primary key auto_increment not null, name varchar( ...
- MySQL中SELECT语句简单使用
MySQL中SELECT语句简单使用 最近开始复习mysql,查漏补缺吧. 关于mysql 1.MySQL不区分大小写,但是在MySQL 4.1及之前的版本中,数据库名.表名.列名这些标识符默认是区分 ...
- MySQL中SELECT语句简单使用 1
最近开始复习mysql,查漏补缺吧. 关于mysql 1.MySQL不区分大小写,但是在MySQL 4.1及之前的版本中,数据库名.表名.列名这些标识符默认是区分大小写的:在之后的版本中默认不区分大小 ...
- 了解SQL INSERT INTO SELECT语句
In this article, we will be focusing on Working of SQL INSERT INTO SELECT statement altogether. 在本文中 ...
- SQL INSERT INTO SELECT 语句
SQL INSERT INTO SELECT 语句 通过SQL,可以从一个表复制信息到另一个表. INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中.目标表中 ...
- MySQL进阶查询(SELECT 语句高级用法)
文章目录 MySQL进阶查询 1.1按关键字排序 1.2对结果进行分组 1.3限制结果条目 1.4设置别名 1.5通配符 1.6子查询 1.7NULL值 1.8正则表达式 1.9运算符 1.10连接查 ...
- 零基础学习数据库SQL教程(一)(简单的SELECT语句 简单的INSERT语句 简单的UPDATE语句 简单的DELETE语句)
写在前面的话:本文章内容是自己在LintCode网站SQL教程学习过程中做的学习总结,以便自己复习和大家学习,如果去刷此网站的题,也可以把此文作为参考答案来使用.例题的答案是本人所写,并且已经运行成功 ...
- SQL笔记(一)SQL语法、SELECT语句、DISTINCT语句、LIMIT、LIMIT和OFFSET组合使用、WHERE 子句
文章目录 1SQL语法 1.1 SELECT 语句 1.1.1SQL SELECT 语句 1.1.2SQL SELECT 语法 1.2DISTINCT 语句 1.2.1 DISTINCT 的作用 1. ...
- mysql 取左_MySQL select语句从字符串左侧获取5个字符
要从字符串的左侧获取字符数,请在MySQL中使用LEFT方法.让我们首先创建一个表-mysql> create table DemoTable ( Name varchar(100) ); 使用 ...
最新文章
- python多线程执行类中的静态方法
- 23种设计模式C++源码与UML实现--单例模式中的饿汉模式和懒汉模式
- Java中最早期的集合Vector
- 计算机基础知识-操作系统
- python get post请求_使用python封装get+post请求
- 技术人如何提升自己的核心竞争力
- 判断form表单里面的元素属性是否有数据_html form标签的action属性是什么意思?又有哪些用法?(附实例)...
- unity3d在Android端读取修改Json数据
- 143.根据文件头判断类型
- 根据主题不同,引用不同的资源文件
- js 获取窗口高度 兼容 各种浏览器
- NLP学习03_停用词过滤、stemming、文本表示tf-idf、文本相似度
- 360众测靶场云文件服务器,360 政企安全官网_帮助应对高级威胁攻击
- 然之协同 PHP,然之协同办公系统5.2开源版官方下载
- 字节跳动,野心十足,十年有可能打败腾讯成为第二个互联网巨头吗?
- win11右击文件夹假死
- flutter 九宫格菜单_Flutter 仿微信/微博九宫格
- 上海58同城区域小区请清单(数据)
- Scard API 智能卡操作
- typescript77-在CRA创建支持ts的项目
热门文章
- 01_基于应用拆分的技术架构
- 4进程原语:fork()函数,getpid()函数和getppid()函数,getuid()函数,getgid()函数,vfork()
- Oracle创建用户,创建表空间,将空间分配给用户,给用户授权
- 检索数据_8_查询语句里执行条件判断
- linux自动挂起什么意思,Linux中进行挂起(待机)的命令说明
- S3C2440的LCD编程
- Vsftpd文件传输服务(本地用户访问)
- Mac搭建Lua运行环境
- 大型分布式网站架构设计与实践 第一章《面向服务的体系架构(SOA)》
- 从Exchange 通往Office 365系列(十六)添加域名到Office 365