Python学习打卡:day16

day16

笔记来源于:黑马程序员python教程,8天python从入门到精通,学python看这套就够了

目录

  • day16
    • 116、SQL 基础和 DDL
      • SQL的概述
      • SQL语言的分类
      • SQL的语法特征
      • DDL — 库管理
      • DDL — 表管理
    • 117、SQL — DML
      • DML概述
      • 数据插入 INSERT
      • 数据删除 DELETE
      • 数据更新 UPDATE
    • 118、SQL — DQL — 基础查询
    • 119、SQL — DQL — 分组聚合
    • 120、SQL — DQL — 排序分页

116、SQL 基础和 DDL

SQL的概述

SQL全称: Structured Query Language,结构化查询语言,用于访问和处理数据库的标准的计算机语言

简单来说,SQL语言就是操作数据库的专用工具

SQL语言的分类

由于数据库管理系统(数据库软件)功能非常多,不仅仅是存储数据,还要包含:数据的管理、表的管理、库的管理、账户管理、权限管理等等。

所以,操作数据库的SQL语言,也基于功能,可以划分为4类:

  • 数据定义:DDL(Data Definition Language)

    • 库的创建删除、表的创建删除等
  • 数据操纵:DML(Data Manipulation Language)

    • 新增数据、删除数据、修改数据等
  • 数据控制:DCL(Data Control Language)

    • 新增用户、删除用户、密码修改、权限管理等
  • 数据查询:DQL(Data Query Language)

    • 基于需求查询和计算数据

SQL的语法特征

  • SQL语言,大小写不敏感

  • SQL可以单行或多行书写,最后以;号结束

  • SQL支持注释:

    • 单行注释: -- 注释内容(--后面一定要有一个空格)

    • 单行注释:# 注释内容(# 后面可以不加空格,推荐加上)

    • 多行注释:/* 注释内容 */

DDL — 库管理

  1. 查看数据库:

    show databases;
    
  2. 使用数据库:

    use 数据库名称;
    
  3. 创建数据库:

    create database 数据库名称 [CHARSET UTF8];
    
  4. 删除数据库:

    drop database 数据库名称; 
    
  5. 查看当前使用的数据库:

    select database();
    

DDL — 表管理

  1. 查看哪些表

    show tables;
    
  2. 删除表

    drop table 表名称; 
    drop table if exists 表名称;
    
  3. 创建表

    create table 表名称(列名称 列类型,列名称 列类型,......
    );
    

117、SQL — DML

DML概述

DML是指数据操作语言,英文全称是Data Manipulation Language,用来对数据库中表的数据记录进行更新。

关键字:

  1. 插入 INSERT
  2. 删除 DELETE
  3. 更新 UPDATE

数据插入 INSERT

基础语法:
在这里插入图片描述

示例代码:

create table student(id int,name varchar(10),age int
);# insert 语法
# 仅插入 id 列数据
insert into student(id) values(1), (2), (3);# 插入全部列数据
insert into student(id, name, age) values(4, '周杰伦', 31), (5, '林俊杰', 33);# 插入全部列数据,快捷写法
insert into student values(6, '张学友', 31), (7, '王力宏', 33);

tips

  1. 插入字符串数据,需要用单引号包围;
  2. 插入全部列的时候,列的列表可以省略。

数据删除 DELETE

基础语法:
在这里插入图片描述
在这里插入图片描述

示例代码:

create table student(id int,name varchar(10),age int
);# delete 语法
# 删除 id 为 1 的数据
delete from student where id=1;# 删除 id 小于 4 的数据
delete from student where id < 4;# 删除 id 大于 6 的数据
delete from student where id > 6;# 删除 age 等于 33 的数据
delete from student where age = 33;# 删除 student 表中的所有数据
delete from student;

数据更新 UPDATE

基础语法:

在这里插入图片描述
在这里插入图片描述

示例代码:

create table student(id int,name varchar(10),age int
);# update 语法
insert into student(id, name, age) values(4, '周杰伦', 31), (5, '林俊杰', 33);# 修改 id 为 4 的 name 为张学友
update student set name = '张学友' where id=4;# 修改全部数据的 name 为张学友
update student set name = '王力宏';

tips

字符串的值,出现在SQL语句中,必须要用单引号包围起来。

118、SQL — DQL — 基础查询

在SQL中,通过 SELECT 关键字开头的 SQL 语句,来进行数据的查询。

基础语法:
在这里插入图片描述

含义就是:从(FROM)表中,选择(SELECT)某些列进行展示

示例代码:

# 步骤 1,创建完即屏蔽
create table student_1(id int,name varchar(15),age int,gender varchar(4)
);# 步骤 2,创建完即屏蔽
insert into student_1(id, name, age, gender) values
(10001, 'zhoujielun', 31, 'nan'), 
(10002, 'wanglihong', 33, 'nan'),
(10003, 'caiyilin', 35, 'nv'),
(10004, 'linzhilin', 36, 'nv'),
(10005, 'liudehua', 33, 'nan'),
(10006, 'zhangdashan', 10, 'nan'),
(10007, 'liuzhilong', 11, 'nan'),
(10008, 'wangxiaoxiao', 33, 'nv'),
(10009, 'zhangyimei', 20, 'nv'),
(10010, 'wangyiqian', 13, 'nv'),
(10011, 'chengyixun', 31, 'nan'),
(10012, 'zhangxiaoguang', 33, 'nan'),
(10013, 'lidaxiao', 15, 'nan'),
(10014, 'lvtiantian', 36, 'nv'),
(10015, 'zengyueyue', 31, 'nv'),
(10016, 'liujiahui', 21, 'nv'),
(10017, 'xiangyufan', 23, 'nan'),
(10018, 'liudeqiang', 26, 'nan'),
(10019, 'wangqiangqiang', 11, 'nan'),
(10020, 'linzhihui', 25, 'nv');# 步骤 3
# 从某个表中选取某些列进行展示
-- select id, name, age, gender from student_1;
select * from student_1;-- select * from student_1 where age > 20;
select * from student_1 where gender = 'nan'; 

结果1:
在这里插入图片描述

结果2:
在这里插入图片描述

tips:使用快捷键 ctrl + Enter 执行程序时,要注意只会执行到光标所在位置!

119、SQL — DQL — 分组聚合

分组聚合应用场景非常多,如:统计班级中,男生和女生的人数。

这种需求就需要:

  • 按性别分组
  • 统计每个组的人数

这就称之为:分组聚合。

基础语法:
在这里插入图片描述
在这里插入图片描述

示例代码:

create table student_1(id int,name varchar(15),age int,gender varchar(4)
);insert into student_1(id, name, age, gender) values
(10001, 'zhoujielun', 31, 'nan'), 
(10002, 'wanglihong', 33, 'nan'),
(10003, 'caiyilin', 35, 'nv'),
(10004, 'linzhilin', 36, 'nv'),
(10005, 'liudehua', 33, 'nan'),
(10006, 'zhangdashan', 10, 'nan'),
(10007, 'liuzhilong', 11, 'nan'),
(10008, 'wangxiaoxiao', 33, 'nv'),
(10009, 'zhangyimei', 20, 'nv'),
(10010, 'wangyiqian', 13, 'nv'),
(10011, 'chengyixun', 31, 'nan'),
(10012, 'zhangxiaoguang', 33, 'nan'),
(10013, 'lidaxiao', 15, 'nan'),
(10014, 'lvtiantian', 36, 'nv'),
(10015, 'zengyueyue', 31, 'nv'),
(10016, 'liujiahui', 21, 'nv'),
(10017, 'xiangyufan', 23, 'nan'),
(10018, 'liudeqiang', 26, 'nan'),
(10019, 'wangqiangqiang', 11, 'nan'),
(10020, 'linzhihui', 25, 'nv');select gender, avg(age), sum(age), min(age), max(age), count(*) from student_1 group by gender;

tips:SELECT 中,除了聚合函数外,GROUP BY 了哪个列,哪个列在能出现在 SELECT 中。

常规字段只有在 GROUP BY 后出现过才能 加在 select 关键字之后,聚合函数中的参数除外。

120、SQL — DQL — 排序分页

1、可以对查询的结果,使用 ORDER BY 关键字,指定某个列进行排序。

基本语法:
在这里插入图片描述

create table student_1(id int,name varchar(15),age int,gender varchar(4)
);insert into student_1(id, name, age, gender) values
(10001, 'zhoujielun', 31, 'nan'), 
(10002, 'wanglihong', 33, 'nan'),
(10003, 'caiyilin', 35, 'nv'),
(10004, 'linzhilin', 36, 'nv'),
(10005, 'liudehua', 33, 'nan'),
(10006, 'zhangdashan', 10, 'nan'),
(10007, 'liuzhilong', 11, 'nan'),
(10008, 'wangxiaoxiao', 33, 'nv'),
(10009, 'zhangyimei', 20, 'nv'),
(10010, 'wangyiqian', 13, 'nv'),
(10011, 'chengyixun', 31, 'nan'),
(10012, 'zhangxiaoguang', 33, 'nan'),
(10013, 'lidaxiao', 15, 'nan'),
(10014, 'lvtiantian', 36, 'nv'),
(10015, 'zengyueyue', 31, 'nv'),
(10016, 'liujiahui', 21, 'nv'),
(10017, 'xiangyufan', 23, 'nan'),
(10018, 'liudeqiang', 26, 'nan'),
(10019, 'wangqiangqiang', 11, 'nan'),
(10020, 'linzhihui', 25, 'nv');# order by 默认是升序
select * from student_1 where age > 20 order by age asc ;# 降序
select * from student_1 where age > 20 order by age desc ;

2、可以使用 LIMIT 关键字,对查询结果进行数量限制或分页显示。

基本语法:
在这里插入图片描述

create table student_1(id int,name varchar(15),age int,gender varchar(4)
);insert into student_1(id, name, age, gender) values
(10001, 'zhoujielun', 31, 'nan'), 
(10002, 'wanglihong', 33, 'nan'),
(10003, 'caiyilin', 35, 'nv'),
(10004, 'linzhilin', 36, 'nv'),
(10005, 'liudehua', 33, 'nan'),
(10006, 'zhangdashan', 10, 'nan'),
(10007, 'liuzhilong', 11, 'nan'),
(10008, 'wangxiaoxiao', 33, 'nv'),
(10009, 'zhangyimei', 20, 'nv'),
(10010, 'wangyiqian', 13, 'nv'),
(10011, 'chengyixun', 31, 'nan'),
(10012, 'zhangxiaoguang', 33, 'nan'),
(10013, 'lidaxiao', 15, 'nan'),
(10014, 'lvtiantian', 36, 'nv'),
(10015, 'zengyueyue', 31, 'nv'),
(10016, 'liujiahui', 21, 'nv'),
(10017, 'xiangyufan', 23, 'nan'),
(10018, 'liudeqiang', 26, 'nan'),
(10019, 'wangqiangqiang', 11, 'nan'),
(10020, 'linzhihui', 25, 'nv');# 升序筛选 5 条
select * from student_1 limit 5;
# 从第 10 个开始,升序筛选 5 条
select * from student_1 limit 10, 5;select age, count(*) from student_1 where age > 20 group  by age order by age limit 3;

排序和分页限制语法关键词顺序如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/36500.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解 Dubbo:分布式服务框架的核心原理与实践

目录 Dubbo 概述Dubbo 的架构Dubbo 的关键组件 服务提供者&#xff08;Provider&#xff09;服务消费者&#xff08;Consumer&#xff09;注册中心&#xff08;Registry&#xff09;监控中心&#xff08;Monitor&#xff09;调用链追踪&#xff08;Trace&#xff09; Dubbo 的…

专题页面设计指南:从构思到实现

如何设计专题页&#xff1f;你有什么想法&#xff1f;专题页的设计主要以发扬产品优势为核心。一个好的专题页可以从不同的角度向用户介绍产品&#xff0c;扩大产品的相关优势&#xff0c;表达产品的优势&#xff0c;让用户在短时间内了解产品。因此&#xff0c;在设计详细信息…

纯血鸿蒙Beta版本发布,中国华为,站起来了!

2024年6月21日至23日&#xff0c;华为开发者大会2024&#xff08;HDC 2024&#xff09;于东莞盛大举行。 此次大会不仅在会场设置了包括鸿蒙原生应用、统一生态统一互联等在内的11个展区&#xff0c;以供展示HarmonyOS NEXT的强大实力&#xff0c;还对外宣布了HarmonyOS的最新进…

240627_关于CNN中图像维度变化问题

240627_关于CNN中图像维度变化问题 在学习一些经典模型时&#xff0c;其中得维度变化关系总搞不太明白&#xff0c;集中学习了以下&#xff0c;在此作以梳理总结&#xff1a; 一般来说涉及到的维度变换都是四个维度&#xff0c;当batch size4&#xff0c;图像尺寸为640*640&a…

kylin v10 离线安装chrome centos离线安装chrome linux离线安装谷歌浏览器

1. 先用自己联网的计算机&#xff0c;下载离线安装包&#xff0c;浏览器输入链接下载安装包&#xff1a; https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm 1.2. 信创环境不用执行下面&#xff0c;因为没网 1.3. 若为阿里云服务器&#xff0c;或服…

AR导航技术加持,图书馆阅读体验智慧升级

在信息爆炸的今天&#xff0c;图书馆作为知识的宝库&#xff0c;其藏书量和种类日益增多。然而&#xff0c;传统的图书馆导航方式已逐渐无法满足用户对快速、准确定位图书的需求。本文将探讨图书馆AR地图导航的实现原理、技术优势、功能特点以及市场前景&#xff0c;揭示为何AR…

VS studio2019配置远程连接Ubuntu

VS studio2019配置远程连接Ubuntu 1、网络配置 &#xff08;1&#xff09;获取主机IP &#xff08;2&#xff09;获取Ubuntu的IP &#xff08;3&#xff09;在 windows 的控制台中 ping 虚拟机的 ipv4 地址&#xff0c;在 Ubuntu 中 ping 主机的 ipv4 地址。 ubuntu: ping…

【Linux】对共享库加载问题的深入理解——基本原理概述

原理概述 【linux】详解——库-CSDN博客 共享库被加载后&#xff0c;系统会为该共享库创建一个结构&#xff0c;这个结构体中的字段描述了库的各种属性。在内存中可能会加载很多库&#xff0c;每一个库都用一个结构体描述。把这些结构体用一些数据结构管理起来&#xff0c;系…

WordPress Dokan Pro插件 SQL注入漏洞复现(CVE-2024-3922)

0x01 产品简介 WordPress Dokan Pro插件是一款功能强大的多供应商电子商务市场解决方案,功能全面、易于使用的多供应商电子商务平台解决方案,适合各种规模的电商项目。允许管理员创建一个多卖家平台,卖家可以注册账户并在平台上创建自己的店铺,展示和销售自己的产品。提供…

kali下安装使用蚁剑(AntSword)

目录 0x00 介绍0x01 安装0x02 使用1. 设置代理2. 请求头配置3. 编码器 0x00 介绍 蚁剑&#xff08;AntSword&#xff09;是一个webshell管理工具。 官方文档&#xff1a;https://www.yuque.com/antswordproject/antsword 0x01 安装 在kali中安装蚁剑&#xff0c;分为两部分&am…

Zabbix 监控系统部署

Zabbix 监控系统部署 Zabbix是一个企业级开源分布式监控解决方案&#xff0c;可监控网络的众多参数以及服务器、虚拟机、应用程序、服务、数据库、网站、云等的运行状况和完整性。 Zabbix 使用灵活的通知机制&#xff0c;允许用户为几乎任何事件配置基于电子邮件的警报。这允许…

java发送图文到公众号

这两天接到了一个新任务&#xff0c;通过后台管理编写文章&#xff0c;发送到官网的同时&#xff0c;推送一份到公众号&#xff0c;研究了一下微信的文档&#xff0c;发现不难&#xff0c;只需要有几个注意点就可以了。 注意&#xff1a; 微信公众号只能访问微信自己上传的图片…

STM32单片机实现串口IAP升级

一.概述 1.要实现串口IAP升级&#xff0c;首先要编写一个bootloader程序&#xff0c;然后再写支持IAP的app程序&#xff1b; 2.keil下bootloader的程序rom和ram设置 3.app程序要用bin文件 注&#xff1a;本文以STM32H743举例&#xff0c;其他stm32单片机IAP升级原理类似。 …

达梦数据库的系统视图v$database

达梦数据库的系统视图v$database 基础信息 OS版本&#xff1a; Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本&#xff1a; DM Database Server 64 V8 DB Version: 0x7000c 03134284132-20240115-215128-20081在达梦数据库&#xff08;Dameng Database&#xf…

Java——Lambda表达式

1. 背景 Lambda表达式是JavaSE 8中一个重要的新特性。Lambda表达式允许你通过表达式来代替功能接口。 Lambda表达式就和方法一样&#xff0c;它提供了一个正常的参数列表和一个使用这些参数的主体(body&#xff0c;可以是一个表达式或一个代码块)。 Lambda 表达式&#xff08;…

C# YoloV8 模型效果验证工具(OnnxRuntime+ByteTrack推理)

C# YoloV8 模型效果验证工具(OnnxRuntimeByteTrack推理) 目录 效果 项目 代码 下载 效果 模型效果验证工具 项目 代码 using ByteTrack; using OpenCvSharp; using System; using System.Collections.Generic; using System.Diagnostics; using System.Drawing; using Sys…

【win11】Mouse without Borders安装问题以管理员权限安装msi文件

【win11】Mouse without Borders安装问题&以管理员权限安装msi文件 Mouse without Borders安装问题解决&以管理员权限安装msi文件启动Windows Installer服务以管理员权限安装msi文件 参考文献 Mouse without Borders安装问题 在win11下我双击MouseWithoutBorders2.2.1…

由监官要求下架docker hub镜像导致无法正常拉取镜像

问题&#xff1a;下载docker镜像超时 error pulling image configuration: download failed after attempts6: dial tcp 202.160.128.205:443: i/o timeout解决办法&#xff1a;配置daemon.json [rootbogon aihuidi]# cat /etc/docker/daemon.json {"registry-mirrors&qu…

20240628 每日AI必读资讯

&#x1f4da; Hugging Face 推出新版开源大模型排行榜&#xff0c;中国模型 Qwen-72B 夺冠 - 阿里Qwen-2-72B指令微调版本问鼎全球开源大模型排行榜榜首 - Llama-3-70B 微调版本排名第二&#xff0c;而 Mixtral-8x22B 微调版本位居第四。 - 另外&#xff0c;微软的 Phi-3-M…

三种分布式锁实现方式

目录 1、数据库自增 2、Redis自增 3、Zookeeper 4、其他 4.1、雪花算法 4.2、Tinyid 4.3、Leaf 4.4、数据库号段 1、数据库自增 利用数据库表的自增特性&#xff0c;或主键唯一性&#xff0c;实现分布式ID REPLACE INTO id_table (stub) values (’a‘) ; SELECT LA…