数据库与SQL基础

来自小能手俱乐部
Liul讨论 | 贡献2021年8月27日 (五) 03:31的版本
跳到导航 跳到搜索

SQL 是用于访问和处理数据库的标准的计算机语言。

虽然 SQL 是一门 ANSI(American National Standards Institute 美国国家标准化组织)标准的计算机语言,但是仍然存在着多种不同版本的 SQL 语言。

然而,为了与 ANSI 标准相兼容,它们必须以相似的方式共同地来支持一些主要的命令(比如 SELECT、UPDATE、DELETE、INSERT、WHERE 等等)。

基础内容

SELECT 使用

SELECT 语句用于从数据库中选取数据。

结果被存储在一个结果表中,称为结果集。

SELECT column_name,column_name FROM table_name;

SELECT * FROM table_name;

SELECT DISTINCT 使用

SELECT DISTINCT 语句用于返回唯一不同的值。

SELECT DISTINCT column_name FROM table_name;

SELECT DISTINCT column_name1,column_name2 FROM table_name; -- 多个字段效果等同于下面的语句
SELECT column_name1,column_name2 FROM TABLE_NAME GROUP BY column_name1,column_name2

WHERE 使用

WHERE 子句用于提取那些满足指定条件的记录。

SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;

WHERE 子句中的运算符:

in 中间包含的数值数量不应超过1000

= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值

AND & OR 运算符

AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

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

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

ORDER BY

ORDER BY 关键字用于对结果集进行排序。

ORDER BY 关键字用于对结果集按照一个列或者多个列进行排序。

ORDER BY 关键字默认按照升序对记录进行排序。如果需要按照降序对记录进行排序,您可以使用 DESC 关键字。

ORDER BY 字段 ASC

默认是 升序排列,可以不加asc

ORDER BY 字段 DESC

字段降序排列

ORDER BY 多个字段

多个字段排序使用逗号分割

SELECT * FROM Websites ORDER BY country,alexa;

INSERT INTO 使用

INSERT INTO 语句用于向表中插入新记录。

INSERT INTO 语句可以有2种编写形式。

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:

INSERT INTO table_name VALUES (value1,value2,value3,...);

第二种形式需要指定列名及被插入的值:

INSERT INTO table_name (column1,column2,column3,...) VALUES (value1,value2,value3,...);

还有一种情况insert的数值来源于另外一个查询的结果集,这时候需要结果数据集的列数与所插入的表要对应。

INSERT INTO table_name (column1,column2,column3,...) select value1,value2,value3,... from table2 ;

DELETE 使用

DELETE 语句用于删除表中的记录。

DELETE FROM table_name
WHERE some_column=some_value;


删除该表所有数据(风险操作)

DELETE FROM table_name;
DELETE * FROM table_name;

TRUNCATE TABLE tablename-- 清除后的数据无法恢复

delete删除大量数据时可能会导致数据库undo表空间撑满,而引发回滚。

truncate不占用undo表空间,但是无法恢复删除数据。

可采用分批delete数据,或者在表设计时合理划分表空间,采用truncate表空间方式清理数据。

UPDATE 使用

Update 语句用于修改表中的数据。

UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;

请注意 SQL UPDATE 语句中的 WHERE 子句!

WHERE 子句规定哪条记录或者哪些记录需要更新。如果您省略了 WHERE 子句,所有的记录都将被更新!

MERGE 使用

full join/left join/right join /inner join 使用

函数使用

常用函数

更多数据库函数参考数据库SQL函数

存储过程使用

更多数据库函数参考数据库存储过程



DDL语句

其他学习资源

阿里的sql训练营:https://tianchi.aliyun.com/course/309/3584

菜鸟教程的sql:https://www.runoob.com/sql/sql-tutorial.html

w3c school 的sql教程:https://www.w3school.com.cn/sql/index.asp