“数据库与SQL使用Demo”的版本间的差异
第1行: | 第1行: | ||
= 连接数据库 = | = 连接数据库 = | ||
== | == PLSQL连接数据库 == | ||
= workbench连接数据库 = | = workbench连接数据库 = |
2021年10月7日 (四) 16:32的版本
连接数据库
PLSQL连接数据库
workbench连接数据库
DataGrip连接数据库
数据查询
新建查询窗口
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 子句,所有的记录都将被更新!