sql基础操作

本文详细介绍了SQL的基本操作,包括如何插入数据到表格、执行查询、更新现有记录、删除数据,以及使用LIKE、IN、BETWEEN等进行模糊查询和范围筛选。此外,还讲解了如何使用JOIN进行多表关联操作,以及聚合函数如COUNT、AVG、MAX、MIN和SUM的应用。了解这些技巧将帮助你更高效地管理数据库。
摘要由CSDN通过智能技术生成

1.插入操作  插入新的行 第二个是在列中插入新的数据

INSERT INTO 表名称 VALUES (值1, 值2,....);
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....);
在指定列中插入数据  persons表名 括号里字段名 下插入字段
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees');

2.查询 

SELECT 列名称 FROM 表名称;
SELECT LastName,FirstName FROM Persons;

2.1去重操作

SELECT DISTINCT 列名称 FROM 表名称;
SELECT DISTINCT LASTNAME FROM Persons;
从last列中选不重复值

2.2 order by

SELECT * FROM Persons ORDER BY LASTNAME;
以字母顺序排序 abcd
SELECT * FROM Persons ORDER BY ID_P DESC;
以id降序查找

3.更新

1.

UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值;
UPDATE Persons SET FirstName = 'Fred' WHERE LastName = 'Wilson';
更新若干列
UPDATE Persons SET ID_P = 6,city= 'London' WHERE LastName = 'Wilson';

4.删除

1.

DELETE FROM 表名称 WHERE 列名称 = 值;
DELETE FROM Persons WHERE LastName = 'Wilson';

DELETE FROM table_name;
删除所有行 列名还在


DROP TABLE 表名称;
drop table persons;

5.模糊查询 like

SELECT * FROM Persons WHERE City LIKE 'N%';
我们希望从上面的 “Persons” 表中选取居住在以 “N” 开头的城市里的人:

SELECT * FROM Persons WHERE City LIKE '%g';
从 “Persons” 表中选取居住在以 “g” 结尾的城市里的人: 百分号代表不知道几个可以是多个

SELECT * FROM Persons WHERE City LIKE '%on%';

SELECT * FROM Persons WHERE City NOT LIKE '%on%';

6. IN – 锁定多个值

SELECT * FROM Persons WHERE LastName IN ('Adams','Carter');
从 Persons 表中选取姓氏为 Adams 和 Carter 的人:

7.BETWEEN – 选取区间数据

SELECT * FROM Persons WHERE LastName BETWEEN 'Adams' AND 'Carter';
、查询以字母顺序显示介于 “Adams”(包括)和 “Carter”(不包括)之间的人:  在这两个之间的数据

8.as别名

SELECT LastName "Family", FirstName "Name" FROM Persons;
as省略了列名加上""  将lastname列改成叫 family

9.多表关联(重点)

select 列名
from 表A
INNER|LEFT|RIGHT|FULL JOIN 表B  (内连接 左右链接 自链接)
ON 表A主键列 = 表B外键列;  

SELECT p.LastName, p.FirstName, o.OrderNo
FROM Persons p
INNER JOIN Orders o
ON p.Id_P = o.Id_P
ORDER BY p.LastName DESC;
内连接 包含的行两者都有的查询出来

a表中字段是b主键 这个字段是a的外键

select * from persons p,orders o where p.id_p=o.id_p;
通过pid链接 o和p表
  • JOIN: 如果表中有至少一个匹配,则返回行
  • INNER JOIN: 内部连接,返回两表中匹配的行 两表都有的
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行 
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

10.NOT NULL – 非空

select * from persons where FirstName is not null;

11.常用函数avg平均值

select * from orders where orderno < (select avg(orderno) from orders);
搜订单小于平均值的

12.汇总行数 COUNT

  • COUNT(*) :返回表中的记录数。
  • COUNT(DISTINCT 列名) :返回指定列的不同值的数目。
  • COUNT(列名) :返回指定列的值的数目(NULL 不计入)。
SELECT COUNT(*) FROM 表名;
SELECT COUNT(DISTINCT 列名) FROM 表名;
SELECT COUNT(列名) FROM 表名;

13 MAX – 最大值 MIN – 最小值

select max(orderno) from orders;
MIN 和 MAX 也可用于文本列,以获得按字母顺序排列的最高或最低值。

14.SUM – 求和

select sum(orderno) from orders;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值