sql-表增删查改

查询

单表查询

SELECT column1, column2, ...FROM table_name;
与SELECT * FROM table_name;
**参数说明:**- **column1, column2, ...**:要选择的字段名称,可以为多个字段。如果不指定字段名称,则会选择所有字段。- **table_name**:要查询的表名称。-- 参数说明DISTINCTSELECT DISTINCT column1, column2, ...FROM table_name;

where 子句

WHERESELECT column1, column2, ...FROM table_nameWHERE condition;

运算符

描述

=

等于

<>

不等于。注释:在 SQL 的一些版本中,该操作符可被写成 !=

>

大于

<

小于

>=

大于等于

<=

小于等于

BETWEEN and

在某个范围内

LIKE

搜索某种模式

IN

指定针对某个列的多个可能值

and

or 不用多说

order by字句

SELECT column1, column2, ...FROM table_nameORDER BY column1, column2, ... ASC|DESC;

实力

select  DISTINCT SNO FROM SPJ ;

连接查询

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 操作符时,确保两个查询选择的列的数据类型兼容,并且两个查询的列数相同

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

交集查询

`intersect

差集查询

`EXCEPT

嵌套查询

知道一些运算符号就可以

IN

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

SELECT QTY FROM spj WHERE QTY IN (SELECT QTY FROM SPJ WHERE QTY > 300);-- IN之后需要包在括号里面

一对多

all 和any 两个关键字

= > < <= !=

多对多

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

增加数据

INSERT INTO table_nameVALUES (value1,value2,value3,...);
第二种形式需要指定列名及被插入的值:INSERT INTO table_name (column1,column2,column3,...)VALUES (value1,value2,value3,...);

看看实力

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

更新数据