SQL的自定义库
功能目录:
1.提取 2.唯一化 3.查找4.条件语句 5.排序6.插入7.修改 8.删除 9.返回数量10.特定模式 11.多个目标 12.介于之间 13.别名 14.两表取交 15.合并 16.备份存档 17.创建数据库18.创建新表
基础语句
1.SELECT(提取)
SELECT 列名称 FROM 表名称
2.DISTINCT(唯一化)
SELECT DISTINCT 列名称 FROM 表名称
3.WHERE(查找)
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
4.AND&OR(条件语句)
SELECT * FROM 列名称 WHERE 表AND条件
例(FirstName=‘Thomas’ AND LastName=‘Carter’
SELECT * FROM 列名称 WHERE 表OR条件
例(firstname=‘Thomas’ OR lastname=‘Carter’
SELECT * FROM 列名称 WHERE 混合条件
例((FirstName=‘Thomas’ OR FirstName=‘William’) AND LastName=‘Carter’
5.ORDER BY(排序)
SELECT 列名称 FROM Orders ORDER BY 表1名称 DESC逆序, 表2名称 ASC顺序
6.INSECT(插入)
插入新行:INSERT INTO 表名称 VALUES (值1, 值2,....)
插入新列:INSERT INTO 表名称 (列名称) VALUES (插入的值)
7.UPDATE(修改)
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
8.DELECT(删除)
DELETE FROM 表名称 WHERE 列名称 = 值
进阶语句
9.TOP(返回的数量)
SQL Server 的语法:
SELECT TOP number|percent 列名称
FROM 表名称
MySQL 语法:
SELECT column_name(s)
FROM table_name
LIMIT number
Oracle 语法:
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number
10.LIKE(特定模式)
SELECT column_name(s)
FROM table_name
WHERE column_name LIKE pattern
pattern:(‘%l’、‘%lon%’、‘n%’)
通配符:%零或多个,_一个,[字符]多个字符判断,[!字符]多个字符不判断
11.IN(多个目标)
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)
12.BETWEEN(介于之间)
SELECT column_name(s)
FROM table_name
WHERE column_name
(NOT) BETWEEN value1 AND value2
p.s.具体检查是否包含两端
13.Aliases(别名)
行别名:
SELECT column_name(s)
FROM table_name
AS alias_name
列别名:
SELECT column_name AS alias_name
FROM table_name
14.JOIN(结合两个表取交)
SELECT column_name(s)
FROM table_name1
INNER JOIN table_name2
ON table_name1.column_name=table_name2.column_name
- INNER JOIN: 在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
- JOIN: 如果表中有至少一个匹配,则返回行,与INNER JOIN同
- LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
- RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
- FULL JOIN: 只要其中一个表中存在匹配,就返回行(可以用于融合两个表)
15.UNION(合并)
SELECT column_name(s) FROM table_name1
UNION (ALL)
SELECT column_name(s) FROM table_name2
16.SELECT INTO(备份、存档)
下面的例子会制作 “Persons” 表的备份复件:
SELECT *
INTO Persons_backup
FROM Persons
IN 子句可用于向另一个数据库中拷贝表:
SELECT *
INTO Persons IN 'Backup.mdb'
FROM Persons
如果我们希望拷贝某些域,可以在 SELECT 语句后列出这些域:
SELECT LastName,FirstName
INTO Persons_backup
FROM Persons
17.CREATE DB(创建数据库)
CREATE DATABASE database_name
18.CREATE TABLE(创建表)
CREATE TABLE 表名称
(列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
…)
数据类型列举:
数据类型 | 描述 |
---|---|
integer(size) | 仅容纳整数。在括号内规定数字的最大位数。 |
int(size) | 仅容纳整数。在括号内规定数字的最大位数。 |
smallint(size) | 仅容纳整数。在括号内规定数字的最大位数。 |
tinyint(size) | 仅容纳整数。在括号内规定数字的最大位数。 |
decimal(size,d) | 容纳带有小数的数字。 |
numeric(size,d) | 容纳带有小数的数字。 |
char(size) | 容纳固定长度的字符串(可容纳字母、数字以及特殊字符)。 |
varchar(size) | 容纳可变长度的字符串(可容纳字母、数字以及特殊的字符)。 |
date(yyyymmdd) | 容纳日期。 |
p.s.其中"size" 规定数字的最大位数。" | d" 规定小数点右侧的最大位数。 |
举例说明:
CREATE TABLE Persons
(Id_P int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255))
这样就建了一个名为persons的空表
CONSTRAINTS(约束)
约束加入表的数据类型(在创建表CREATE TABLE或者修改表ALTERTABLE时约束)
NOT NULL
UNIQUE
PRIMARY KEY
FOREIGN KEY
自定义语句
拓展语句
本文是对SQL学习网站的一个笔记总结,会持续更新,有什么改进建议也可以告诉我。(网站如下)
https://www.w3school.com.cn/sql/index.asp
更新至24.7.23