SELECT:用于从表中选取数据

SELECT 列名称 FROM 表名称

DISTINCT:用于返回唯一不同的值

SELECT DISTINCT 列名称 FROM 表名称

WHERE:有条件地从表中选取数据

SELECT 列名称 FROM 表名称 WHERE 列 运算符 值

AND & OR:在 WHERE 子语句中把两个或多个条件结合起来

ORDER BY:用于对结果集进行排序

SELECT 列名称 FROM 表名称 ORDER BY 列名称

INSERT INTO:用于向表格中插入新的行

INSERT INTO 表名称 VALUES (值1, 值2,….))
INSERT INTO table_name (列1, 列2,…) VALUES (值1, 值2,….))

UPDATE:用于修改表中的数据

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

DELETE:用于删除表中的行

DELETE FROM 表名称 WHERE 列名称 = 值

TOP:用于规定要返回的记录的数目

SQL Server :
SELECT TOP number|percent 列名称 FROM 表名称
MySQL :
SELECT 列名称 FROM 表名称 LIMIT number
Oracle :
SELECT 列名称 FROM 表名称 WHERE ROWNUM <= number

LIKE:用于在 WHERE 子句中搜索列中的指定模式

SELECT 列名称 FROM 表名称 WHERE 列名称 LIKE pattern

通配符:用于在 WHERE 子句中搜索列中的指定模式

IN:在 WHERE 子句中规定多个值

SELECT 列名称 FROM 表名称 WHERE 列名称 IN (value1,value2,…)

BETWEEN :用于选取介于两个值之间的数据范围

SELECT 列名称 FROM 表名称
WHERE 列名称 BETWEEN value1 AND value2

Alias:用于为列名称和表名称指定别名(Alias)

表:SELECT 列名称 FROM 表名称 AS alias_name
列:SELECT 列名称 AS alias_name FROM 表名称

JOIN:用于根据两个或多个表中的列之间的关系,从这些表中查询数据

SELECT 列名称 FROM 左表名称
INNER JOIN 右表名称
ON 左表名称.列名称=右表名称.列名称

INNER JOIN:
在表中存在至少一个匹配时,INNER JOIN 关键字返回行

LEFT JOIN:从左表那里返回所有的行,即使在右表中没有匹配的行

RIGHT JOIN:从右表 那里返回所有的行,即使在左表中没有匹配的行

FULL JOIN:只要其中某个表存在匹配,FULL JOIN 关键字就会返回行

UNION 和 UNION ALL:用于合并两个或多个 SELECT 语句的结果集(应有相同数量同类型的列)

内容不重复:
SELECT 列名称 FROM 左表名称
UNION
SELECT 列名称 FROM 右表名称

内容重复:
SELECT 列名称 FROM 左表名称
UNION ALL
SELECT 列名称 FROM 右表名称

SELECT INTO:从一个表中选取数据,然后把数据插入另一个表中

SELECT *
INTO 新表名[IN externaldatabase]
FROM 旧表名

CREATE DATABASE:用于创建数据库

CREATE DATABASE 数据库名称

CREATE TABLE:用于创建数据库中的表

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
….
)

约束:用于限制加入表的数据的类型

NOT NULL:强制列不接受 NULL 值

CREATE TABLE Persons(Id_P int NOT NULL)

UNIQUE :唯一标识数据库表中的每条记录

MYSQL:
CREATE TABLE Persons
(
Id int NOT NULL,
UNIQUE (Id)
)

SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
Id int NOT NULL UNIQUE
)

添加约束
ALTER TABLE Persons
ADD UNIQUE (Id)

PRIMARY KEY:
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键

MYSQL:
CREATE TABLE Persons
(
Id int NOT NULL,
PRIMARY KEY (Id)
)

FOREIGN KEY:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY

MYSQL:
CREATE TABLE Persons
(
Id int NOT NULL,
FOREIGN KEY (Id) REFERENCES Persons(Id)
)

CHECK :用于限制列中的值的范围

My SQL:
CREATE TABLE Persons
(
Id int NOT NULL,
CHECK (Id>0)
)

DEFAULT:用于向列中插入默认值

My SQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons
(
City varchar(255) DEFAULT ‘Sandnes’
)

CREATE INDEX:用于在表中创建索引

CREATE INDEX 索引名
ON 表名称(列名称)

创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值
CREATE UNIQUE INDEX 索引名
ON 表名称(列名称)

撤销索引、表以及数据库:通过使用 DROP 语句,可以轻松地删除索引、表和数据库。
1. 使用 DROP INDEX 命令删除表格中的索引
2. DROP TABLE 语句用于删除表(表的结构、属性以及索引也会被删除)
3. DROP DATABASE 语句用于删除数据库:
4. TRUNCATE TABLE 命令(仅仅删除表格中的数据):

Microsoft SQLJet (以及 Microsoft Access):
DROP INDEX 索引名 ON 表名称
MS SQL Server:
DROP INDEX 表名称.索引名
IBM DB2 和 Oracle:
DROP INDEX 索引名
MySQL:
ALTER TABLE 表名称 DROP INDEX 索引名

ALTER TABLE:用于在已有的表中添加、修改或删除列

添加列
ALTER TABLE table_name
ADD column_name datatype

删除列
ALTER TABLE table_name
DROP COLUMN column_name

AUTO INCREMENT:在新记录插入表中时生成一个唯一的数字

MySQL
CREATE TABLE Persons
(
Id int NOT NULL AUTO_INCREMENT
)

SQL Server
CREATE TABLE Persons
(
Id int PRIMARY KEY IDENTITY
)

Access
CREATE TABLE Persons
(
Id int PRIMARY KEY AUTOINCREMENT,
)

Oracle
先创建序列
CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10
在插入时使用序列
INSERT INTO Persons (Id)
VALUES (seq_person.nextval)

VIEW:视图是可视化的表。

Date:日期处理

NULL :NULL 值是遗漏的未知数据。通过IS NULL 和 IS NOT NULL进行选取

NULL 函数:SQL ISNULL()、NVL()、IFNULL() 和 COALESCE() 函数

SQL Server / MS Access
ISNULL(列名称,0)–如果值为NULL则返回0
Oracle
NVL(列名称,0)–如果值为NULL则返回0
MySQL
IFNULL(列名称,0)–如果值为NULL则返回0

数据类型:数据类型和范围

w3school SQL教程整理相关推荐

  1. W3school~SQL教程

    教程地址:           https://www.w3school.com.cn/sql/index.asp 转载于:https://www.cnblogs.com/www-qcdwx-com/ ...

  2. W3School 教程整理

    离线版大部分整理自 w3cschool ,少部分整理自w3school ,由本人整理. 感谢 w3cschool 站长的无私奉献. 由于本人精力有限,此处的列表不一定能够及时更新,最新版本请到本人博客 ...

  3. W3School教程整理

    W3School 教程整理 前端教程合集 在线浏览 AngularJS教程 Bootstrap教程 CSS参考手册 Foundation 教程 Highcharts 教程 HTML教程 CSS教程 F ...

  4. SQL学习整理(一)

    SQL学习整理(一)之了解SQL 在做数据挖掘比赛,或者参与其他一些项目的时候越来越感觉数据库知识的重要性,所以想抽出时间学习一下数据库.数据库知识繁杂,好多概念混淆(我还没弄明白好多知识),所以我只 ...

  5. w3school在线教程学习Web开发

    领先的 Web 技术教程 – 全部免费 在w3school,你可以找到你所需要的所有的网站建设教程. 从基础的HTML到XHTML,乃至进阶的XML.SQL.数据库.多媒体和WAP. 从左侧的菜单选择 ...

  6. 一个项目涉及到的50个Sql语句(整理版)

    /* 标题:一个项目涉及到的50个Sql语句(整理版) 作者:爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 时间:2010-05-10 地点:重庆航天职业学院 说明:以下五十个语句都按照测试数据进行 ...

  7. 真·干货!这套深度学习教程整理走红,从理论到实践的带你系统学习 | 资源...

    铜灵 发自 凹非寺 量子位 出品 | 公众号 QbitAI 寒假/春节小长假给自己充电的真·干货来了. 如果你想要的是一份从理论到实践的深度学习教程清单,如果你想系统了解各类框架.基础网络与各种使用场 ...

  8. sql 教程_SQL

    sql 教程 SQL stands for Structured Query Language. SQL is a domain specific language used to manage da ...

  9. 关系代数与sql语句整理

    关系代数与sql语句整理 关系代数 π\piπ:投影 πeeid,eename(examiee)\pi_{eeid,eename}(examiee)πeeid,eename​(examiee) σ\s ...

最新文章

  1. jS字符串大小写转换实现方式
  2. muduo之Connector
  3. linux下netty接收不到服务,Netty 发送消息失败或者接收消息失败的可能原因
  4. 数据挖掘应用现状与产品分析
  5. 机器学习之无监督学习——聚类
  6. Java中的基本数据类型转换(自动、强制、提升)
  7. 常见的运行时异常 java 1615309080
  8. Unity中国张俊波:Unity的国际化、本土化、全球化 | 2019WISE超级进化者大会
  9. 两篇transfomer 论文解读
  10. 新闻网页制作源代码_Python爬虫百度新闻标题,并且做简单的数据分析!挺简单的
  11. 【K-DB干货】浅谈KRAC内存融合技术
  12. 人物-周鸿祎:周鸿祎
  13. 普中51控制火焰传感器_火焰传感器的应用
  14. form表单提交后,2次刷新问题记录
  15. 手指头肌腱损伤鸿蒙训练,手指肌腱损伤恢复方法有哪些
  16. 苹果手机的html 手势,点击事件
  17. 从“真快乐”APP看国美的野心,不止娱乐零售
  18. 【转】好资料,非常棒!!!
  19. 怎样选择步进电机和驱动器,计算方式
  20. Day27_GUI编程

热门文章

  1. (c语言)还有多少天过年
  2. arduino 警灯DIY教程
  3. PMP认证需要多少钱?
  4. Android开发教程--自定义接听/挂断电话功能
  5. R语言基础 chapter2
  6. 区间之和 (sdut oj)
  7. 浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎
  8. C++数据结构实验---线性表的基本操作
  9. 电子辅料检测,辅料质量检验设备的特点及工作原理介绍
  10. VS2005的数据断点功能