ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

sql

2021-08-09 18:00:06  阅读:182  来源: 互联网

标签:Beijing Thomas Carter W3School sql Company SELECT


查询和更新指令构成了 SQL 的 DML 部分:

  • SELECT - 从数据库表中获取数据
  • UPDATE - 更新数据库表中的数据
  • DELETE - 从数据库表中删除数据
  • INSERT INTO - 向数据库表中插入数据

SQL 的数据定义语言 (DDL) 部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的链接,以及施加表间的约束。

SQL 中最重要的 DDL 语句:

  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

SELECT 列名称 FROM 表名称
SELECT LastName,FirstName FROM Persons

"Persons" 表:

IdLastNameFirstNameAddressCity
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing

结果:

LastNameFirstName
Adams John
Bush George
Carter Thomas
 

SELECT * FROM Persons

提示:星号(*)是选取所有列的快捷方式。


结果:


IdLastNameFirstNameAddressCity
1 Adams John Oxford Street London
2 Bush George Fifth Avenue New York
3 Carter Thomas Changan Street Beijing
 DISTINCT 用于返回唯一不同的值。
SELECT DISTINCT 列名称 FROM 表名称

SELECT Company FROM Orders

"Orders"表:


CompanyOrderNumber
IBM 3532
W3School 2356
Apple 4698
W3School 6953

结果:


Company
IBM
W3School
Apple
W3School

SELECT DISTINCT Company FROM Orders 

结果:


Company
IBM
W3School
Apple
WHERE 子句用于规定选择的标准。
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

操作符描述
= 等于
<> 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
如果只希望选取居住在城市 "Beijing" 中的人,我们需要向 SELECT 语句添加 WHERE 子句
ELECT * FROM Persons WHERE City='Beijing'

"Persons" 表


LastNameFirstNameAddressCityYear
Adams John Oxford Street London 1970
Bush George Fifth Avenue New York 1975
Carter Thomas Changan Street Beijing 1980
Gates Bill Xuanwumen 10 Beijing 1985

结果:


LastNameFirstNameAddressCityYear
Carter Thomas Changan Street Beijing 1980
Gates Bill Xuanwumen 10 Beijing 1985

AND 和 OR 运算符


AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来。


如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。


如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。

原始的表 (用在例子中的):

LastNameFirstNameAddressCity
Adams John Oxford Street London
Bush George Fifth Avenue New York
Carter Thomas Changan Street Beijing
Carter William Xuanwumen 10 Beijing

AND 运算符实例


使用 AND 来显示所有姓为 "Carter" 并且名为 "Thomas" 的人:


SELECT * FROM Persons WHERE FirstName='Thomas' AND LastName='Carter'

结果:


LastNameFirstNameAddressCity
Carter Thomas Changan Street Beijing

OR 运算符实例


使用 OR 来显示所有姓为 "Carter" 或者名为 "Thomas" 的人:


SELECT * FROM Persons WHERE firstname='Thomas' OR lastname='Carter'

结果:


LastNameFirstNameAddressCity
Carter Thomas Changan Street Beijing
Carter William Xuanwumen 10 Beijing

结合 AND 和 OR 运算符


我们也可以把 AND 和 OR 结合起来(使用圆括号来组成复杂的表达式):


SELECT * FROM Persons WHERE (FirstName='Thomas' OR FirstName='William')
AND LastName='Carter'

结果:


LastNameFirstNameAddressCity
Carter Thomas Changan Street Beijing
Carter William Xuanwumen 10 Beijing
 

ORDER BY 语句


ORDER BY 语句用于根据指定的列对结果集进行排序。


ORDER BY 语句默认按照升序对记录进行排序。


如果您希望按照降序对记录进行排序,可以使用 DESC 关键字

原始的表 (用在例子中的):

Orders 表:

CompanyOrderNumber
IBM 3532
W3School 2356
Apple 4698
W3School 6953

以字母顺序显示公司名称:


SELECT Company, OrderNumber FROM Orders ORDER BY Company

结果:


CompanyOrderNumber
Apple 4698
IBM 3532
W3School 6953
W3School 2356


实例 2

以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):

SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber

结果:

CompanyOrderNumber
Apple 4698
IBM 3532
W3School 2356
W3School 6953


实例 3

以逆字母顺序显示公司名称:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC

结果:

CompanyOrderNumber
W3School 6953
W3School 2356
IBM 3532
Apple 4698


实例 4

以逆字母顺序显示公司名称,并以数字顺序显示顺序号:

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

结果:

CompanyOrderNumber
W3School 2356
W3School 6953
IBM 3532
Apple 4698

注意:在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。

INSERT INTO 语句用于向表格中插入新的行。
INSERT INTO 表名称 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
Update 语句用于修改表中的数据。
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

DELETE 语句


DELETE 语句用于删除表中的行。


语法


DELETE FROM 表名称 WHERE 列名称 = 值

 
 


标签:Beijing,Thomas,Carter,W3School,sql,Company,SELECT
来源: https://www.cnblogs.com/liquanwei/p/15119828.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有