SQL入门(二)
数据的查询更新与删除
SELECT语句
- 快捷输出整表
SELECT * FROM tablename;
例如:
SELECT * FROM Person;
- 查询固定列
SELECT columnname FROM tablename;
例如:
SELECT FirstName,City FROM Person;
- 去除重复值
SELECT DISTINCT columnname FROM tablename;
例如:
SELECT DISTINCT LastName FROM Person;
这样如果某一列中存在相同数据,只会出现一次
- 条件过滤WHERE
SELECT columnname FROM tablename WHERE column = value;
常见操作运算符:
操作符 | 描述 |
---|---|
= | 等于 |
<>(!=) | 不等于 |
> | 大于 |
< | 小雨 |
>= | 不小于 |
<= | 不大于 |
BETWEEN | 在某范围内 |
LIKE | 以某种模式 |
AND | 交集 |
OR | 并集 |
示例:
SELECT * FROM Person WHERE City=‘NANYANG’;
SELECT FirstName FROM Person WHERE LastName=‘WUHAN’ AND ID_P=250;
复杂的筛选条件可能会用到AND和OR的组合,此时将使用括号组合
SELECT * FROM Person WHERE (City=‘NANYANG’ AND Address=‘TANGHE’) OR ID_P=212506;
“*”的话就是显示匹配到的那一行 如果是具体的列名了就只显示对比上的那一列的那一个数据元素
UPDATE数据更新
UPDATE tablename SET columnname = new_value WHERE columnname=value;
UPDATE Person SET FirstName=‘TAO’ WHERE LastName=‘DINGHAO’;
//将表Person中LastName为DINGHAO的那一行的FirstName更改为TAO
UPDATE Person SET FirstName=‘TAO’,City=‘ZHANGYE’ WHERE LastName=‘DINGHAO’;
//单次更新某一行的若干列
DELETE删除数据
DELETE语句用于直接删除表中的某一整行
DELETE FROM tablename WHERE columnname=value;
DELETE FROM Person WHERE LastName=‘DINGHAO’;
//删除LastName值为DINGHAO的一整行
DELETE FROM Person;
//不删除表头(索引)情况下删除所有行
TRUNCATE TABLE清除表数据
仅除去表内的数据,而不删除表本身
TRUNCATE TABLE tablename;
TRUNCATE TABLE Person;
//清除表名为Person的所有数据
DROP TABLE删除表
删除整个表,包含所有的结构属性以及索引
DROP TABLE tablename
DELETE
/TRUNCATE TABLE
/DROP TABLE
的区别:
DELETE
:
● 删除表中的数据。
● 可以指定删除的条件。
● 可以在事务中进行回滚操作。
● 保留表结构和相关约束。
TRUNCATE TABLE
:
● 快速删除表中的所有数据。
● 重置表的高水位标记。
● 释放表所占用的空间。
● 不记录每行删除的详细信息。
● 自动重置索引。
DROP TABLE
:
● 完全删除表,包括表结构、约束和数据。
● 不可恢复。
● 释放表所占用的所有空间。
总结:
● 如果只需要删除表中的数据,且希望保留表结构和相关约束,可以使用 DELETE。
● 如果需要快速删除所有数据并重置表状态,可以使用 TRUNCATE TABLE。
● 如果需要完全删除表,包括表结构和数据,可以使用 DROP TABLE。