当前位置: 首页 > article >正文

江苏计算机专转本 技能Mysql知识点总结(二)

三、SQL数据操纵语言(增删改查)

        1.insert 语句(增)

INSERT INTO 表名 (列1, 列2, 列3)  
VALUES (值1, 值2, 值3);

        2.Delete 语句(删)

//1.
DELETE FROM 表名  
WHERE 条件;

//2.
truncate table 表名;     //更快,一次性删除整个表中的所有记录,无法选择性删除。不使用 WHERE

        3.update 语句(改)

UPDATE 表名  
SET 列1 = 新值1, 列2 = 新值2  
WHERE 条件;

        4.Select 语句(查)

SELECT 列1, 列2  
FROM 表名  
WHERE 条件;
//去重
select distinct 列名 from 表名;
//取别名
SELECT 原名 as 别名,[原名1 as 别名1] FROM 表名;  

SELECT COUNT(*) AS total_users FROM users;

        Ⅰ. 在where子句中经常使用到的运算符

比较运算符 >  <  <=  >=  = <>大于、小于、小于等于、大于等于、等于、不等于
between...and在某一区间的值
IN()显示在In列中的值,例:in(100,200)
Like模糊查询
is NULL判断是否为空
逻辑运算符and多个条件同时成立
or任一条件成立
not不成立,例:where not(num>100)
         模糊查找

通常使用 LIKE 关键字,并结合通配符。常用的通配符有:

  • %:表示0个或多个字符。
  • _:表示单个字符。
// 查找姓李的员工
SELECT *   
FROM Employees  
WHERE Name LIKE 'J%';

// 查找名字含有ohn员工
SELECT *   
FROM Employees  
WHERE Name LIKE '_ohn';

        Ⅱ.对查询结果进行计算、分组、排序

        1.计算
//1.count
select count(*) from 表名;
select count(列名) from 表名 where 表达式;

//2.sum
select sum(列名) from 表名 [where 表达式];

//3.avg
select avg(列名) from 表名 [where 表达式];


//4.min、max
select min(列名) from 表名 [where 表达式];
select max(列名) from 表名 [where 表达式];
        2.分组
//根据 age 列对 users 表中的记录按降序排列

SELECT age  
FROM users  
ORDER BY age DESC;
        3.排序
//按 department 列分组,并计算每个部门的员工数量

SELECT department, COUNT(*)  
FROM employees  
GROUP BY department;

         having:where都可以实现过滤,但是having可以使用合计函数,通常跟在group by后面

//将返回员工数量超过 10 的部门,并按员工数降序排列

SELECT department, COUNT(*) AS number_of_employees  
FROM employees  
GROUP BY department  
HAVING COUNT(*) > 10  
ORDER BY number_of_employees DESC;

        Ⅲ.单表查询

//1. 基本的 SELECT 查询
    SELECT * FROM 表名;

//2. 选择特定列
    SELECT first_name, last_name FROM 表名;

//3. 使用 WHERE 子句进行条件过滤
    SELECT * FROM 表名 WHERE 条件语句;

//4. 使用 ORDER BY 排序结果
    SELECT * FROM 表名 ORDER BY 列名 DESC;

//5. 使用 LIMIT 控制返回结果的行数 (返回前10行)
    SELECT * FROM 表名 LIMIT 10;

//6. 使用 LIKE 进行模糊查询
    SELECT * FROM 表名 WHERE first_name LIKE 'A%';

//7. 使用 DISTINCT 去重
    SELECT DISTINCT 列名 FROM 表名;

        Ⅳ.连接查询

//1. 内连接(INNER JOIN)

假设有两个表:users 和 orders。users 表包含用户信息,orders 表包含用户的订单信息
SELECT u.first_name, u.last_name, o.order_id  
FROM users u  
INNER JOIN orders o ON u.user_id = o.user_id;



//2. 连接多个表

SELECT u.first_name, u.last_name, o.order_id, p.product_name  
FROM users u  
INNER JOIN orders o ON u.user_id = o.user_id  
INNER JOIN products p ON o.product_id = p.product_id;


http://www.kler.cn/a/447595.html

相关文章:

  • 深度学习的DataLoader是什么数据类型,为什么不可用来索引
  • 如何调大unity软件的字体
  • Linux之磁盘管理相关命令
  • 日本充电桩标准--CHAdeMO介绍
  • OpenSSL 心脏滴血漏洞(CVE-2014-0160)
  • 南城云趣:智能云平台,杜绝电动车充电安全隐患
  • C05S07-Tomcat服务架设
  • 15款行业大数据报告下载网站
  • H5 ios软键盘弹起遮挡输入框
  • #渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
  • macOS 配置 vscode 命令行启动
  • pat乙级1072 开学寄语
  • WebRTC服务质量(07)- 重传机制(04) 接收NACK消息
  • 基于微信小程序的消防隐患在线举报系统
  • Tensor
  • sh cmake-linux.sh -- --skip-license --prefix = $MY_INSTALL_DIR
  • Javascript元编程
  • 2024年CCF 非专业级软件能力认证CSP-J/S 第二轮( 提高组) 染色(color)
  • HDR视频技术之八:色域映射
  • Kafka学习篇
  • 如何使用Python编写有效的网页抓取脚本以获取和处理数据?
  • blender生成城市白膜数据
  • 云技术基础
  • cisp-pte培训需要多久
  • JAVA开发Erp时日志报错:SQL 当 IDENTITY_INSERT 设置为 OFF 时,不能为表 ‘***‘ 中的标识列插入显式值
  • 【5G】5G 无线协议 Radio Protocols(一)