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.pswp.cn/diannao/36500.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36500.shtml
英文地址,請注明出處:http://en.pswp.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 的…

電腦瀏覽器問題

網絡連接正常&#xff0c;但是瀏覽器就是打不開網頁&#xff0c;顯示未連接什么的。 搞了半天&#xff0c;不是代理服務器問題。 也不是端口問題。 也不是軟件版本問題。 竟然是瀏覽器插件的問題&#xff0c;插件禁用&#xff0c;奇跡般的好了。 參考&#xff1a; 電腦有網…

專題頁面設計指南:從構思到實現

如何設計專題頁&#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;或服…

深度學習驅動的圖像識別革命

深度學習驅動的圖像識別革命正在徹底改變我們處理、分析和理解視覺信息的方式。以下是對這一革命的分點表示和歸納&#xff1a; 深度學習在圖像識別中的基本原理 特征提取&#xff1a;深度學習通過構建多層神經網絡&#xff0c;能夠自動從原始圖像數據中提取出復雜的特征&…

【第4章】MyBatis-Plus持久層接口之Service Interface(下)

文章目錄 前言一、get1. 示例(getById)2. 示例&#xff08;getOne&#xff09;3. 示例&#xff08;getOne 不拋出異常&#xff09;4. 示例&#xff08;getMap&#xff09;5. 示例&#xff08;getObj&#xff09; 二、list1. 示例&#xff08;list&#xff09;2. 示例&#xff0…

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…

遠程服務器配置(堡壘機samba/ssh等)

分配了新的服務器后&#xff0c;要下載代碼首先要配置ssh。有以下兩種方式&#xff1a; 拷貝原本服務器的在本地的重新生成ssh&#xff0c;再跟服務器密鑰配對&#xff08;如未備份.gitconfig&#xff0c;還需重新配置git賬號郵箱。&#xff09; ssh配置 如果是拷貝過來的.ss…