久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

mysql增刪改的方法是什么

192次閱讀
沒有評論

共計 4458 個字符,預計需要花費 12 分鐘才能閱讀完成。

這篇文章主要介紹“mysql 增刪改的方法是什么”的相關知識,丸趣 TV 小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“mysql 增刪改的方法是什么”文章能幫助大家解決問題。

插入數據

代碼案例

#  方式 1:一條一條的添加數據
#  沒有指明添加的字段時,一定要按照聲明的字段的先后順序添加
INSERT INTO emp1
VALUES (1, Tom , 2000-12-21 ,3400); 
#  錯誤寫法:沒有指定添加字段,也沒有按聲明順序
INSERT INTO emp1
VALUES (2,3400, 2000-12-21 , Jerry 
#  指明要添加的字段  (推薦)INSERT INTO emp1(id,hire_date,salary,`name`)
VALUES(2, 1999-09-09 ,4000, Jerry 
#  說明:沒有進行賦值的 hire_date 的值為  null
INSERT INTO emp1(id,salary,`name`)
VALUES(3,4500, shk 
#  同時插入多條記錄  (推薦)INSERT INTO emp1(id,NAME,salary)
VALUES
(4, Jim ,5000),
(5, 張俊杰 ,5500);
# VALUES  也可以寫成  VALUE ,但是 VALUES 是標準寫法。#  字符和日期型數據應包含在單引號中
#  方式 2:將查詢結果插入到表中;查詢的字段一定要與添加到的表的字段一一對應
INSERT INTO emp1(id,NAME,salary,hire_date)
SELECT employee_id,last_name,salary,hire_date 
FROM employees
WHERE department_id IN (70,60);
#  說明:emp1 表中要添加數據的字段的長度不能低于 employees 表中查詢的字段的長度
#  如果 emp1 表中要添加數據的字段的長度低于 employees 表中查詢的字段的長度的話,就有添加不成功的風險

更新數據

代碼案例

# UPDATE .... SET .... WHERE ...
#  可以實現批量修改數據的
#  更新為當前時間
UPDATE emp1
SET hire_date = CURDATE()
WHERE id = 5;
#同時修改一條數據的多個字段
UPDATE emp1
SET hire_date = CURDATE(), salary = 6000
WHERE id = 4;
#  將表中姓名中包含字符 a 的提薪 20%
UPDATE emp1
SET salary = salary * 1.2
WHERE NAME LIKE  %a% 
#  修改數據時,是可能存在不成功的情況的。(可能是由于約束的影響造成的)UPDATE employees
SET department_id = 10000
WHERE employee_id = 102;

刪除數據

代碼案例

#  刪除 id 為 1 的數據
DELETE FROM emp1
WHERE id = 1;
#  在刪除數據時,也有可能因為約束的影響,導致刪除失敗
DELETE FROM departments
WHERE department_id = 50;
# DML 操作默認情況下,執行完以后都會自動提交數據
#  如果希望執行完以后不自動提交數據,則需要在 DML 操作前,使用  SET autocommit = FALSE

mysql8 新特性,計算列

代碼案例

#  新建 1 張表,字段 c 即為計算列
CREATE TABLE test1(
a INT,
b INT,
c INT GENERATED ALWAYS AS (a + b) VIRTUAL 
#  插入前 2 個字段時,自動計算第 3 個字段
INSERT INTO test1(a,b)
VALUES(10,20);
#  修改第 1 個字段后,自定計算第 3 個字段
UPDATE test1 SET a = 100;

綜合案例

代碼案例

#  創建數據庫 test01_library
CREATE DATABASE IF NOT EXISTS test01_library CHARACTER SET  utf8 
#  切換數據庫
USE test01_library;
#  創建表  books,表結構如下:CREATE TABLE IF NOT EXISTS books(
id INT,
`name` VARCHAR(50),
`authors` VARCHAR(100),
price FLOAT,
pubdate YEAR,
note VARCHAR(100),
num INT
#  查看表結構
DESC books;
#  查看表數據
SELECT * FROM books;
#  向 books 表中插入記錄
# 1)不指定字段名稱,插入第一條記錄
INSERT INTO books VALUES(1,  Tal of AAA ,  Dickes , 23,  1995 ,  novel , 11);
# 2)指定所有字段名稱,插入第二記錄
INSERT INTO books(id, NAME, AUTHORS, price, pubdate, note, num)
VALUES(2,  EmmaT ,  Jane lura , 35,  1993 ,  joke , 22);
# 3)同時插入多條記錄
INSERT INTO books(id, NAME, AUTHORS, price, pubdate, note, num)
VALUES
(3,  Story of Jane ,  Jane Tim , 40, 2001,  novel , 0),
(4,  Lovey Day ,  George Byron , 20, 2005,  novel , 30),
(5,  Old land ,  Honore Blade , 30, 2010,  Law , 0),
(6,  The Battle ,  Upton Sara , 30, 1999,  medicine , 40),
(7,  Rose Hood ,  Richard haggard , 28, 2008,  cartoon , 28);
#  將小說類型 (novel) 的書的價格都增加 5
UPDATE books
SET price = price + 5
WHERE note =  novel 
#  將名稱為 EmmaT 的書的價格改為 40,并將說明改為 drama
UPDATE books
SET price = 40, note =  drama 
WHERE NAME =  EmmaT 
#  刪除庫存為 0 的記錄
DELETE FROM books WHERE num = 0;
#  統計書名中包含 a 字母的書
SELECT NAME
FROM books
WHERE NAME LIKE  %a% 
#  統計書名中包含 a 字母的書的數量和庫存總量
SELECT COUNT(*), SUM(num)
FROM books
WHERE NAME LIKE  %a% 
#  找出“novel”類型的書,按照價格降序排列
SELECT NAME, note, price
FROM books
WHERE note =  novel 
ORDER BY price DESC;
#  查詢圖書信息,按照庫存量降序排列,如果庫存量相同的按照 note 升序排列
SELECT *
FROM books
ORDER BY num DESC, note ASC;
#  按照 note 分類統計書的數量
SELECT note, COUNT(*)
FROM books
GROUP BY note;
#  按照 note 分類統計書的庫存量,顯示庫存量超過 30 本的
SELECT note, SUM(num)
FROM books
GROUP BY note
HAVING SUM(num)   30;
#  查詢所有圖書,每頁顯示 5 本,顯示第二頁
SELECT *
FROM books
LIMIT 5, 5;
#  按照 note 分類統計書的庫存量,顯示庫存量最多的
SELECT note, SUM(num) sum_num
FROM books
GROUP BY note
ORDER BY sum_num DESC
LIMIT 0, 1;
#  查詢書名達到 10 個字符的書,不包括里面的空格
SELECT CHAR_LENGTH(REPLACE(NAME,    , ))
FROM books;
#  方式 2:SELECT NAME
FROM books
WHERE CHAR_LENGTH(REPLACE(NAME,    , ))  = 10;
#  查詢書名和類型,其中 note 值為 novel 顯示小說,law 顯示法律,medicine 顯示醫藥,cartoon 顯示卡通,joke 顯示笑話
SELECT NAME  書名 , note, CASE note 
WHEN  novel  THEN  小說 
WHEN  law  THEN  法律 
WHEN  medicine  THEN  醫藥 
WHEN  cartoon  THEN  卡通 
WHEN  joke  THEN  笑話 
ELSE  其他 
END  類型 
FROM books;
#  查詢書名、庫存,其中 num 值超過 30 本的,顯示滯銷,大于 0 并低于 10 的,顯示暢銷,為 0 的顯示需要無貨
SELECT NAME AS  書名 , num AS  庫存 , 
CASE WHEN num   30 THEN  滯銷 
WHEN num   0 AND num   10 THEN  暢銷 
WHEN num = 0 THEN  無貨 
ELSE  正常 
END  顯示狀態 
FROM books;
#  統計每一種 note 的庫存量,并合計總量
SELECT IFNULL(note,  合計庫存總量) AS note, SUM(num)
FROM books
GROUP BY note WITH ROLLUP;
#  統計每一種 note 的數量,并合計總量
SELECT IFNULL(note,  合計總量) AS note, COUNT(*)
FROM books
GROUP BY note WITH ROLLUP;
#  統計庫存量前三名的圖書
SELECT *
FROM books
ORDER BY num DESC
LIMIT 0, 3;
#  找出最早出版的一本書
SELECT *
FROM books
ORDER BY pubdate ASC
LIMIT 0, 1;
#  找出 novel 中價格最高的一本書
SELECT *
FROM books
WHERE note =  novel 
ORDER BY price DESC
LIMIT 0, 1;
#  找出書名中字數最多的一本書,不含空格
SELECT *
FROM books
ORDER BY CHAR_LENGTH(REPLACE(NAME,    , )) DESC
LIMIT 0, 1;

關于“mysql 增刪改的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注丸趣 TV 行業資訊頻道,丸趣 TV 小編每天都會為大家更新不同的知識點。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-13發表,共計4458字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 穆棱市| 凉城县| 夏邑县| 庆云县| 沭阳县| 顺昌县| 四会市| 阿城市| 镇巴县| 苍南县| 霍城县| 吴川市| 汤原县| 揭西县| 大余县| 陆川县| 黔东| 金华市| 菏泽市| 巩义市| 井冈山市| 陆丰市| 定结县| 苍溪县| 瓮安县| 巢湖市| 冀州市| 浮山县| 定西市| 沾益县| 静宁县| 富裕县| 汝州市| 汪清县| 班玛县| 西华县| 建阳市| 会理县| 浠水县| 通州区| 大足县|