MYSQL練習隨筆

来源:https://www.cnblogs.com/dabaige/archive/2019/11/01/11779843.html
-Advertisement-
Play Games

解法練習 案例1.子查詢練習 欄位 說明film_id 電影idtitle 電影名稱description 電影描述信息category_id 電影分類idname 電影分類名稱last_update 電影分類最後更新時間film_id 電影idcategory_id 電影分類idlast_upda ...


解法練習

 

案例1.子查詢練習 

欄位 說明
film_id 電影id
title 電影名稱
description 電影描述信息
category_id 電影分類id
name 電影分類名稱
last_update 電影分類最後更新時間
film_id 電影id
category_id 電影分類id
last_update 電影id和分類id對應關係的最後更新時間

ilm表  
CREATE TABLE IF NOT EXISTS film ( film_id smallint(5)  NOT NULL DEFAULT '0', title varchar(255) NOT NULL, description text, PRIMARY KEY (film_id));
category表  
CREATE TABLE category  ( category_id  tinyint(3)  NOT NULL , name  varchar(25) NOT NULL, `last_update` timestamp, PRIMARY KEY ( category_id ));
film_category表  
CREATE TABLE film_category  ( film_id  smallint(5)  NOT NULL, category_id  tinyint(3)  NOT NULL, `last_update` timestamp);
  使用子查詢的方式找出屬於Action分類的所有電影對應的title,description   解題命令

 

select title,description
from film 
where film_id in(select film_id from film_category 
             where category_id in(select category_id from category w
                                 where name='Action'))    
--子查詢解法
select f.title,f.description
from film as f inner join film_category as fc on f.film_id = fc.film_id
               inner join category as c on c.category_id = fc.category_id
where c.name = 'Action';
--常規解法

 

 

 

名詞解釋補充

Explain解釋

獲取select * from employees對應的執行計劃

explain select * from employees

連接字元串

將employees表的所有員工的last_name和first_name拼接起來作為Name,中間以一個空格區分

--MySQL、SQL Server、Oracle等資料庫支持CONCAT方法,
而本題所用的SQLite資料庫只支持用連接符號"||"來連接字元串
 
--CONCAT方法:
select CONCAT(CONCAT(last_name," "),first_name) as name  from employees
--或者
select CONCAT(last_name," ",first_name) as name  from employees
 
--本題中使用:
select last_name||" "||first_name as name  from employees

插入數據時,已有則忽略

insert IGNORE into ‘表’
values()

創建索引

CREATE UNIQUE INDEX ... ON ... 創建唯一索引值
CREATE INDEX ... ON ... 創建普通索引值
--
CREATE UNIQUE INDEX uniq_idx_firstname ON actor(first_name);
CREATE INDEX idx_lastname ON actor(last_name);

MYSQL中常用的強制性操作

網址:https://www.jb51.net/article/49807.htm

截取字元串

substr(字元串,起始位置,長度)
起始位置:截取的子串的起始位置(註意:字元串的第一個字元的索引是1)。值為正時從字元串開始位置 開始計數,值為負時從字元串結尾位置開始計數。
長度:截取子串的長度
--例 取first_name最後兩位
select first_name from employees
order by substr(first_name,length(first_name)-1,2)
--MYSQL中的Right函數
SELECT first_name FROM employees ORDER BY RIGHT(first_name ,2);

 group_concat() 函數

group_concat( [DISTINCT] 要連接的欄位 [Order BY 排序欄位 ASC/DESC] [Separator ‘分隔符’]
--分組後連接

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • RHEL的yum是要給錢才能用的,想要不給錢的用,就把原裝yum替換為centos的yum1.查看原有yum包rpm -qa|grep yumyum-langpacks-0.4.2-7.el7.noarchyum-metadata-parser-1.1.4-10.el7.x86_64yum-rhn-... ...
  • 由於我在做linux下的QT開發,有時候會用到shell腳本的輔助,但是需要QT運行shell腳本並獲取執行結果,今天給大家分享下我的技巧,廢話少說直接上代碼: ...
  • Linux用戶和組的屬性與許可權本章結構1.用戶賬號和組賬號概述2.用戶賬號和組賬號管理3.查詢賬號信息4.查看目錄或文件的屬性5.設置目錄或文件的許可權6.設置目錄或文件的歸屬 前言在linux中一切都是文件(文件夾和硬體設備是特殊的文件),如果有可能儘量使用文本文件。文本文件是人和機器能理解的文件, ...
  • 作為IntelliJ IDEA mac新手,IDEA如何快速搭建Java開發環境呢? 今天小編就給大家帶來了IntelliJ IDEA mac使用教程,想知道IDEA如何快速搭建Java開發環境?那就一起來看看吧! 全局JDK(預設配置) 具體步驟:頂部工具欄 File ->Other Settin ...
  • Ubuntu軟體管理:dpkg和apt Debian軟體包通常為預編譯的二進位格式的擴展名“.deb”,類似rpm文件, dpkg:package manager for Debian,類似於rpm, dpkg是基於Debian的系統的包管理器。可以安裝,刪除和構建軟體包,但無法自動下載和安裝軟體包 ...
  • rpm包管理 程式源代碼 >預處理 >編譯 >彙編 >鏈接 數據處理 轉為彙編代碼 進行彙編 引入庫文件 靜態編譯:.a 動態編譯:.so包的組成: 二進位文件、庫文件、配置文件、幫助文件程式包管理器: debian: deb文件, dpkg包管理器 redhat: rpm文件, rpm包管理器 r ...
  • 升級過程: 原系統:CentOS7.3 [root@my-e450 ~]# uname -r3.10.0-514.el7.x86_64 安裝必需的軟體包: # yum update# yum install -y ncurses-devel make gcc bc bison flex elfuti ...
  • MySQL的主從複製是實現應用的高性能,高可用的基礎。對於資料庫讀操作較密集的應用,通過使資料庫請求負載均衡分配到不同MySQL伺服器,可有效減輕資料庫壓力。當遇到MySQL單點故障中,也能在短時間內實現故障切換。 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...