sql基础语句大杂烩
(坑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"
中没有匹配,就不会列出这些行。
5
、
union
UNION
操作符用于合并两个或多个
SELECT
语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。(w3c上:列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。 但是依据实际操作如下图好像不需要数据类型相同,待深究!)
union会过滤掉重复值,union all不会
例:SELECT E_Name FROM Employees_ChinaUNION
SELECT E_Name FROM Employees_USA SELECT E_Name FROM Employees_ChinaUNION 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备份整张表
(
2
)
SELECT
* 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 PersonsADD UNIQUE (Id_P)
如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法: ALTER TABLE PersonsADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
如需撤销 UNIQUE 约束,请使用下面的 SQL: ALTER TABLE PersonsDROP 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 PersonsADD PRIMARY KEY (Id_P)
如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法: ALTER TABLE PersonsADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
如果使用
ALTER TABLE
语句添加主键,必须把主键列声明为不包含
NULL
值(在表首次创建时)。
如需撤销
PRIMARY KEY
约束,请使用下面的
SQL
:
ALTER 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)
)8
、
create 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基础语句大杂烩相关推荐
- SQL基础语句(详解版)
一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database 数据库名 3.说明:备份sql server - 创建 备 ...
- SQL——基础语句练习
主要是针对,一些经常遇到的SQL语句,进行了初步的总结.可以检验对sql的学习程度,对SQL语句进行进一步巩固以及加强. 准备工作 首先需要创建四个表,分别是:student(学生表),teacher ...
- 关系型数据库及其SQL基础语句
文章目录 什么是数据库 常用SQL语句 1.简单的SQL语句 2.限定条件的WHERE子句 3.DISTINCT关键字 4.ORDER BY排序 5.LIMIT限制输出 6.COUNT(*)统计返回结 ...
- 两个sql交集_简单明了的sql基础语句
一,数据库及表的增删改查 查看所有数据库:show databases; 切换到xxx库:use xxx; 查看库中所有的表:show tables; 查看表结构:desc 表名; 数据库创建:cre ...
- sql数据库三个重点复习的基础语句(游标,索引,视图)
(l)SQL基础语句 1.创建数据库 CREATE DATABASE database-name 2.删除数据库 drop database dbname 4.创建新表 create table ta ...
- SQL语句学习之SQL基础的表创建以及添加数据
SQL语句学习之SQL基础的表创建以及添加数据 学习目标1: 一周内掌握SQL基础语句 tip:主要是在牛客网(牛客网)上进行练习,里面有在线编程,可以直接运行,而且有解题的思路,比较清晰,而且容易了 ...
- Oracle学习(一)SQL基础
一.认识SQL SQL是什么? SQL,结构化查询语言,全称是 Structured Query Language. SQL 是一门 ANSI(American National Standards ...
- MySQL里SQL基本语句的使用
前言 学后端的朋友们都知道,客户端和服务端之间的数据是记录在数据库里面的,所以我们显然是需要学会操作数据库!今天给大家分享一下基于mysql里的一些基本SQL语句用法,希望能帮助到大家对数据库基本知识 ...
- SQL基础使用入门(二): DML语句和DCL语句
SQL语句第二个类别--DML 语句 DML是数据操作语言的缩写,主要用来对数据表中数据记录实例对象进行操作,包括插入.删除.查找以及修改四大操作,这也是开发人员使用中最为频繁的操作. 1.插入记录 ...
最新文章
- LINUNX下PHP下载中文文件名代码
- FastDFS 集群 安装 配置
- ZeroClipboard的时代或许已经过去了
- 【ZOJ - 4032】Magic Points (思维,几何,构造)
- php处理结果集,php中mysqli 处理查询结果集的几个方法
- WPF and Silverlight 学习笔记(十四):键盘输入、鼠标输入、焦点处理[转]
- 缓存失效和命名是计算机科学两大难题,命名也是一种艺术
- 《Ray Tracing in One Weekend》——Chapter 9: Dielectrics
- pyqt5写一个抽奖程序(再次美化)
- 软件测试中的接口分析,软件测试接口测试之管理类—叩丁狼分享
- 记录switch sxos TF卡游戏损坏(纯粹记录,很潦草,多多包涵)
- R语言:判断身份证号码真伪的函数编写
- mysql 全文索引 使用_MySql全文索引
- python处理can协议文件_用Python处理CAN数据库
- 微信二维码来源统计自动生成二维码统计?
- 计算n个整数中有多少个正整数、多少个负整数,并计算这些整数的总和和平均值
- matlab 动态识别,基于matlab脸部动态特征的人脸表情识别程序
- 云计算、社交网络和移动互联网
- chcp Command的妙用
- 高数-不定积分--凑积分(第一类换元法)