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","北京")
更新数据