(坑Open Office,这排版。。。)

1、distinct列出不同值,过滤掉相同的值

例:company中有两个相同的值比如(apple和apple)时,则只取出一个值
SELECT DISTINCT Company FROM Orders
只会列出一个apple2、通配符

通配符

描述

%

替代一个或多个字符

_

仅替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符

3、BETWEEN 操作符

操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
例:SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter'

注:mysql会将adams与carter都放入结果集。

如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:

SELECT * FROM Persons
WHERE LastName
NOT BETWEEN 'Adams' AND 'Carter'
4、表连接

(1)LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

例:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName
说明:LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。 左表会全部列出,右表有则列出,没有则空。

(2)RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

例:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons RIGHT JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName

说明:RIGHT JOIN 关键字会从右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中没有匹配的行。

(3)FULL JOIN: 只要其中一个表中存在匹配,就返回行

例:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons FULL JOIN Orders ON Persons.Id_P=Orders.Id_P ORDER BY Persons.LastName

说明:FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。

(4)JOIN 、 INNER JOIN:内连接,在表中存在至少一个匹配时,INNER JOIN 关键字返回行

例:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons INNER JOIN Orders ON Persons.Id_P = Orders.Id_P ORDER BY Persons.LastName

说明:INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 "Persons" 中的行在 "Orders" 中没有匹配,就不会列出这些行。

5union

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。(w3c上:列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 但是依据实际操作如下图好像不需要数据类型相同,待深究!)

union会过滤掉重复值,union all不会

例:SELECT E_Name FROM Employees_China UNION SELECT E_Name FROM Employees_USA
SELECT E_Name FROM Employees_China UNION ALL SELECT E_Name FROM Employees_USA
当两张表结果集对应的列名不同时,结果集中列名为第一张表列名

6、SELECT INTO

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

SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

Select into 可以加where条件

例1、(1)SELECT * INTO Persons_backup FROM Persons备份整张表

2SELECT * INTO Persons IN 'Backup.mdb' FROM Persons 向另外一个数据库中copy表

例2、SELECT LastName,FirstName INTO Persons_backup FROM Persons只拷贝某些列

例3、SELECT Persons.LastName,Orders.OrderNo INTO Persons_Order_Backup FROM Persons INNER JOIN Orders ON Persons.Id_P=Orders.Id_P 利用表连接copy表。

7、表约束(Constraints)

(1)not null

(2)PRIMARY KEY 拥有自动定义的 UNIQUE 约束

例:CREATE TABLE Persons(

Id_P int NOT NULL,

LastName varchar(255) NOT NULL,

FirstName varchar(255),

Address varchar(255),

City varchar(255),

UNIQUE (Id_P)

)

如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

CREATE TABLE Persons(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)
当表已被创建时,如需在 "Id_P" 列创建 UNIQUE 约束,请使用下列 SQL:
ALTER TABLE Persons ADD UNIQUE (Id_P)
如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:
ALTER TABLE Persons ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
如需撤销 UNIQUE 约束,请使用下面的 SQL: ALTER TABLE Persons DROP INDEX uc_PersonID
(3)SQL PRIMARY KEY 约束(主键)
CREATE TABLE Persons(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
PRIMARY KEY (Id_P)
)
如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:
CREATE TABLE Persons(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
)
如果在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束,请使用下面的 SQL:
ALTER TABLE Persons ADD PRIMARY KEY (Id_P)如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:
ALTER TABLE Persons ADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
如果使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。如需撤销 PRIMARY KEY 约束,请使用下面的 SQLALTER TABLE Persons DROP PRIMARY KEY
(4)SQL FOREIGN KEY 约束(外键)
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY
例:
CREATE TABLE Orders(
Id_O int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (Id_O),
FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)
)
(5)SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

例:
CREATE TABLE Persons(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CHECK (Id_P>0)
)8create index(创建索引)
CREATE INDEX index_name ON table_name (column_name)
创建唯一索引:CREATE UNIQUE INDEX index_name ON table_name (column_name)
创建一个名为PersonIndex的索引 CREATE INDEX PersonIndex ON Person (LastName)
如果希望以降序索引某个列中的值,您可以在列名称之后添加保留字 DESC: CREATE INDEX PersonIndex ON Person (LastName DESC)
希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开: CREATE INDEX PersonIndex ON Person (LastName, FirstName)
删除索引:ALTER TABLE table_name DROP INDEX index_name
9、ALTER语句

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

添加列:ALTER TABLE table_name ADD column_name datatype

删除列:ALTER TABLE table_name DROP COLUMN column_name

要改变表中列的数据类型,请使用下列语法: ALTER TABLE table_name ALTER COLUMN column_name datatype

转载于:https://www.cnblogs.com/orlion/p/4810249.html

sql基础语句大杂烩相关推荐

  1. SQL基础语句(详解版)

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database 数据库名 3.说明:备份sql server - 创建 备 ...

  2. SQL——基础语句练习

    主要是针对,一些经常遇到的SQL语句,进行了初步的总结.可以检验对sql的学习程度,对SQL语句进行进一步巩固以及加强. 准备工作 首先需要创建四个表,分别是:student(学生表),teacher ...

  3. 关系型数据库及其SQL基础语句

    文章目录 什么是数据库 常用SQL语句 1.简单的SQL语句 2.限定条件的WHERE子句 3.DISTINCT关键字 4.ORDER BY排序 5.LIMIT限制输出 6.COUNT(*)统计返回结 ...

  4. 两个sql交集_简单明了的sql基础语句

    一,数据库及表的增删改查 查看所有数据库:show databases; 切换到xxx库:use xxx; 查看库中所有的表:show tables; 查看表结构:desc 表名; 数据库创建:cre ...

  5. sql数据库三个重点复习的基础语句(游标,索引,视图)

    (l)SQL基础语句 1.创建数据库 CREATE DATABASE database-name 2.删除数据库 drop database dbname 4.创建新表 create table ta ...

  6. SQL语句学习之SQL基础的表创建以及添加数据

    SQL语句学习之SQL基础的表创建以及添加数据 学习目标1: 一周内掌握SQL基础语句 tip:主要是在牛客网(牛客网)上进行练习,里面有在线编程,可以直接运行,而且有解题的思路,比较清晰,而且容易了 ...

  7. Oracle学习(一)SQL基础

    一.认识SQL SQL是什么? SQL,结构化查询语言,全称是 Structured Query Language. SQL 是一门 ANSI(American National Standards ...

  8. MySQL里SQL基本语句的使用

    前言 学后端的朋友们都知道,客户端和服务端之间的数据是记录在数据库里面的,所以我们显然是需要学会操作数据库!今天给大家分享一下基于mysql里的一些基本SQL语句用法,希望能帮助到大家对数据库基本知识 ...

  9. SQL基础使用入门(二): DML语句和DCL语句

    SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...

最新文章

  1. LINUNX下PHP下载中文文件名代码
  2. FastDFS 集群 安装 配置
  3. ZeroClipboard的时代或许已经过去了
  4. 【ZOJ - 4032】Magic Points (思维,几何,构造)
  5. php处理结果集,php中mysqli 处理查询结果集的几个方法
  6. WPF and Silverlight 学习笔记(十四):键盘输入、鼠标输入、焦点处理[转]
  7. 缓存失效和命名是计算机科学两大难题,命名也是一种艺术
  8. 《Ray Tracing in One Weekend》——Chapter 9: Dielectrics
  9. pyqt5写一个抽奖程序(再次美化)
  10. 软件测试中的接口分析,软件测试接口测试之管理类—叩丁狼分享
  11. 记录switch sxos TF卡游戏损坏(纯粹记录,很潦草,多多包涵)
  12. R语言:判断身份证号码真伪的函数编写
  13. mysql 全文索引 使用_MySql全文索引
  14. python处理can协议文件_用Python处理CAN数据库
  15. 微信二维码来源统计自动生成二维码统计?
  16. 计算n个整数中有多少个正整数、多少个负整数,并计算这些整数的总和和平均值
  17. matlab 动态识别,基于matlab脸部动态特征的人脸表情识别程序
  18. 云计算、社交网络和移动互联网
  19. chcp Command的妙用
  20. 高数-不定积分--凑积分(第一类换元法)

热门文章

  1. angular 如何在index html 页面包含子页面_Webpack4.0各个击破(1)html篇
  2. 铅笔线的阻抗有多大?
  3. MindMotion ISP 协议 PDF版本
  4. 第十六届全国大学生智能车提问与回复 |7月10日
  5. 机械爪的带有压力反馈的控制实验
  6. 串口ISPHUB制作
  7. 小型直流电机内部结构
  8. IDEA插件-生成对象所有set方法--->GenerateAllSetter
  9. 南方h5手簿使用说明书_雄脱使用非那雄胺米诺地尔效果
  10. mongodb索引生成HTML页面,MongoDB高级索引