sql-表增删查改


查询

单表查询

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
SELECT column1, column2, ...
FROM table_name;



SELECT * FROM table_name;

**参数说明:**

- **column1, column2, ...**:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。
- **table_name**:要查询的表名称。


-- 参数说明
DISTINCT

SELECT DISTINCT column1, column2, ...
FROM table_name;

where 子句

1
2
3
4
5
WHERE

SELECT column1, column2, ...
FROM table_name
WHERE condition;
运算符 描述
= 等于
<> 不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=
> 大于
< 小于
>= 大于等于
<= 小于等于
BETWEEN and 在某个范围内
LIKE 搜索某种模式
IN 指定针对某个列的多个可能值
and or 不用多说

order by字句

1
2
3
SELECT column1, column2, ...
FROM table_name
ORDER BY column1, column2, ... ASC|DESC;

实力

1
select  DISTINCT SNO FROM SPJ ;

连接查询

1
2
3
4
select CITY,JNO FROM S,SPJ WHERE spj.SNO=S.SNO;
分为 自身 和自然 外连接
select CITY,SPJ.SNO,S.SNO FROM S,SPJ WHERE spj.SNO=S.SNO ;
select SPJ.CITY FROM S,SPJ WHERE spj.SNO=S.SNO ;

联合查询(集合查询)

当您使用 UNION 操作符时,确保两个查询选择的列的数据类型兼容,并且两个查询的列数相同

1
2
3
-- 看看实力
select qty from spj union select sNO FROM S;

交集查询

`intersect

差集查询

`EXCEPT

嵌套查询

知道一些运算符号就可以

IN

在where 子句中找到 IN 后接 select 查询 找到的列 在

1
2
3
SELECT QTY FROM spj WHERE QTY IN (SELECT QTY FROM SPJ WHERE QTY > 300);

-- IN之后需要包在括号里面

一对多

all 和any 两个关键字

= > < <= !=

多对多

使用EXISTS 关键字
where 后使用EXISTS 查询结果 感觉类似于连接查询

增加数据

1
2
3
4
5
6
7
INSERT INTO table_name
VALUES (value1,value2,value3,...);

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

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

看看实力

1
insert into s values("S7","中国","50","北京")

更新数据

1


文章作者: K1T0
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 K1T0 !
  目录