久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

【第8天】SQL進(jìn)階-更新記錄(SQL 小虛竹)

 小虛竹 2022-09-17 發(fā)布于福建

回城傳送–》《32天SQL筑基》

文章目錄

零,、前言

今天是學(xué)習(xí) SQL 打卡的第 8 天,每天我會提供一篇文章供群成員閱讀( 不需要訂閱付錢 ),。

希望大家先自己思考,如果實(shí)在沒有想法,再看下面的解題思路,自己再實(shí)現(xiàn)一遍。在小虛竹JAVA社區(qū) 中對應(yīng)的 【打卡貼】打卡,今天的任務(wù)就算完成了,養(yǎng)成每天學(xué)習(xí)打卡的好習(xí)慣,。

? 虛竹哥會組織大家一起學(xué)習(xí)同一篇文章,所以有什么問題都可以在群里問,群里的小伙伴可以迅速地幫到你,一個(gè)人可以走得很快,一群人可以走得很遠(yuǎn),有一起學(xué)習(xí)交流的戰(zhàn)友,是多么幸運(yùn)的事情,。

? 我的學(xué)習(xí)策略很簡單,題海策略+ 費(fèi)曼學(xué)習(xí)法。如果能把這些題都認(rèn)認(rèn)真真自己實(shí)現(xiàn)一遍,那意味著 SQL 已經(jīng)筑基成功了,。后面的進(jìn)階學(xué)習(xí),可以繼續(xù)跟著我,一起走向架構(gòu)師之路,。

今天的學(xué)習(xí)內(nèi)容是:SQL進(jìn)階-更新記錄

一、練習(xí)題目

題目鏈接難度
更新記錄:SQL113 更新記錄(一)★★☆☆☆
更新記錄:SQL114 更新記錄(二)★★★☆☆

二,、SQL思路

更新記錄:SQL113 更新記錄(一)

在這里插入圖片描述

初始化數(shù)據(jù)

drop table if EXISTS examination_info;
CREATE TABLE IF NOT EXISTS examination_info (
id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
exam_id int UNIQUE NOT NULL COMMENT '試卷ID',
tag varchar(32) COMMENT '類別標(biāo)簽',
difficulty varchar(8) COMMENT '難度',
duration int NOT NULL COMMENT '時(shí)長',
release_time datetime COMMENT '發(fā)布時(shí)間'
)CHARACTER SET utf8 COLLATE utf8_bin;
TRUNCATE examination_info;
INSERT INTO examination_info(exam_id,tag,difficulty,duration,release_time) VALUES
(9001, 'SQL', 'hard', 60, '2020-01-01 10:00:00'),
(9002, 'python', 'easy', 60, '2020-01-01 10:00:00'),
(9003, 'Python', 'medium', 80, '2020-01-01 10:00:00'),
(9004, 'PYTHON', 'hard', 80, '2020-01-01 10:00:00');

解法

要求處理:

  • 請把examination_info表中tag為PYTHON的tag字段全部修改為Python,。

分析:

  • 更新的SQL語法是:

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

套用語法

UPDATE examination_info
SET tag ='Python' 
WHERE tag='PYTHON'

在這里插入圖片描述
在這里插入圖片描述

更新記錄:SQL114 更新記錄(二)

在這里插入圖片描述

初始化數(shù)據(jù)

drop table if EXISTS exam_record;
CREATE TABLE IF NOT EXISTS exam_record (
id int PRIMARY KEY AUTO_INCREMENT COMMENT '自增ID',
uid int NOT NULL COMMENT '用戶ID',
exam_id int NOT NULL COMMENT '試卷ID',
start_time datetime NOT NULL COMMENT '開始時(shí)間',
submit_time datetime COMMENT '提交時(shí)間',
score tinyint COMMENT '得分'
)CHARACTER SET utf8 COLLATE utf8_general_ci;
INSERT INTO exam_record(uid,exam_id,start_time,submit_time,score) VALUES
(1001, 9001, '2020-01-02 09:01:01', '2020-01-02 09:21:01', 80),
(1001, 9002, '2021-09-01 09:01:01', '2021-09-01 09:21:01', 90),
(1002, 9001, '2021-08-02 19:01:01', null, null),
(1002, 9002, '2021-09-05 19:01:01', '2021-09-05 19:40:01', 89),
(1003, 9001, '2021-09-02 12:01:01', null, null),
(1003, 9002, '2021-09-01 12:01:01', null, null);


解法

要求處理:

  • 請把exam_record表中2021年9月1日之前開始作答的未完成記錄全部改為被動(dòng)完成,即:將完成時(shí)間改為’2099-01-01 00:00:00’,分?jǐn)?shù)改為0。

分析:

  • 更新的SQL語法是:

UPDATE 表名稱 SET 列名稱 = 新值 WHERE 列名稱 = 某值

  • exam_record表中2021年9月1日之前開始作答的未完成記錄,就是沒有提交時(shí)間的記錄,意味著submit_time字段的值是為null的
  • 要把完成時(shí)間改為’2099-01-01 00:00:00’,分?jǐn)?shù)改為0

套用語法


UPDATE exam_record
SET submit_time='2099-01-01 00:00:00',
    score=0
WHERE start_time<'2021-09-01' 
AND submit_time is null

在這里插入圖片描述

三,、擴(kuò)展

1,、更新數(shù)據(jù)表中的所有記錄

更新數(shù)據(jù)表中的所有記錄,只需要將UPDATE語句的WHERE條件省略即可

2、更新表中特定的數(shù)據(jù)行

MySQL支持更新表中特定的數(shù)據(jù)行,此時(shí),需要添加WHERE條件對更新的數(shù)據(jù)記錄進(jìn)行限制,。

更新記錄:SQL113 更新記錄(一)就是這樣的

3,、更新某個(gè)范圍內(nèi)的數(shù)據(jù)

MySQL支持更新某個(gè)范圍內(nèi)的數(shù)據(jù),可以通過BETWEEN…AND語句或者“>”“>=”“<”“<=”“<>”“!=”等運(yùn)算符,或者LIKE,、IN,、NOT IN等語句實(shí)現(xiàn)。

更新記錄:SQL114 更新記錄(二)就是這樣的

4,、更新符合正則表達(dá)式的數(shù)據(jù)

MySQL中匹配正則表達(dá)式需要使用關(guān)鍵字REGEXP,在REGEXP關(guān)鍵字后面跟上正則表達(dá)式的規(guī)則即可,。

例如:examination_info表有如下的數(shù)據(jù)
在這里插入圖片描述
要對difficulty字段的值是以sy結(jié)尾的記錄數(shù)據(jù),更新duration值為61
在這里插入圖片描述
在這里插入圖片描述

剛好說到SQL的正則表達(dá)式,這里簡單介紹幾句

開始支持的版本:3.22.21 ,所以可放心使用
SQL正則表達(dá)式提供了四種函數(shù):

  • REGEXP_LIKE (匹配)
  • REGEXP_INSTR (包含)
  • REGEXP_REPLACE (替換)
  • REGEXP_SUBSTR (提取)

正則表達(dá)式常用字
在這里插入圖片描述

常用的正則表達(dá)式:

匹配由26個(gè)英文字母組成的字符串: ^[A-Za-z]+$
匹配由26個(gè)英文字母的大寫組成的字符串: ^[A-Z]+$
匹配由26個(gè)英文字母的小寫組成的字符串: ^[a-z]+$
匹配由數(shù)字和26個(gè)英文字母組成的字符串: ^[A-Za-z0-9]+$
匹配由數(shù)字和26個(gè)英文字母或者下劃線組成的字符串: ^\w+$
匹配整數(shù): ^-?[1-9]\d*$
匹配正整數(shù): ^[1-9]\d*$
匹配負(fù)整數(shù): ^-[1-9]\d*$
匹配非負(fù)整數(shù): ^[1-9]\d*|0$
匹配非正整數(shù): ^-[1-9]\d*|0$
電子郵箱: ^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$
URL	: ^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$
IP地址:	^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
HTML標(biāo)簽: ^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$
SQL語句: ^(select|drop|delete|create|update|insert).*$
郵政編碼: ^[1-9]\d{5}(?!\d)$
Unicode編碼中文字符串: ^[u4e00-u9fa5],{0,}$
空白行: \n[\s| ]*\r
首尾空格: (^\s*)|(\s*$)
雙字節(jié)字符:	[^\x00-\xff]

四、參考

SQL正則表達(dá)式:https://blog.csdn.net/hyfstyle/article/details/114640134
mysql 入門技能樹-數(shù)據(jù)修改:https://edu.csdn.net/skill/mysql/mysql-2eb9e9d351e848f580b70cf9e7b93280?category=1087&typeId=81219

我是虛竹哥,我們明天見~

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多