最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL表的增刪改查基礎(chǔ)教程

 更新時(shí)間:2021年04月07日 11:47:03   作者:Kirl z  
這篇文章主要給大家介紹了關(guān)于MySQL表的增刪改查的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1. 新增(Create)

insert into [表名] (字段1, 字段2,....) value (value1, value2, ...);

insert into [表名] (字段1, 字段2, ....) values
(value1, ...),
(value2, ...),
(value3, ...);

實(shí)例:

創(chuàng)建一個(gè)學(xué)生成績(jī)表

CREATE TABLE exam_result (
 id INT,
 name VARCHAR(20),
 chinese DECIMAL(3,1),
 math DECIMAL(3,1),
 english DECIMAL(3,1)
);

1.1 單行數(shù)據(jù) + 全列插入

-- 插入兩條記錄,value_list 數(shù)量必須和定義表的列的數(shù)量及順序一致
insert into exam_result value ( 1, 'tom', 68, 98, 56); 
insert into exam_result value ( 2, 'jum', 87.5, 78, 77); 

每次插入數(shù)據(jù), 為一條記錄, 包含了若干個(gè)列~~

列的數(shù)目和數(shù)據(jù)類(lèi)型要和表的結(jié)構(gòu)對(duì)應(yīng)~

value 前省略指定列默認(rèn)為全列插入

1.2 多行數(shù)據(jù) + 指定列

- 插入兩條記錄,value_list 數(shù)量必須和指定列數(shù)量及順序一致
INSERT INTO exam_result (id,name, chinese, math, english) VALUES
 (1,'tom', 67, 98, 56),
 (2,'jum', 87.5, 78, 77),
 (3,'lim', 88, 98.5, 90),
 (4,'tim', 82, 84, 67),
 (5,'huy', 55.5, 85, 45),
 (6,'sun', 70, 73, 78.5),
 (7,'ming', 75, 65, 30);

2. 查詢(xún)(Retrieve)

2.1 全列查詢(xún)

select * from [表名];

*表示通配符, 意思就是查找所有的列

2.2 指定列查詢(xún)

select [指定查詢(xún)列] from [表名];

2.3 查詢(xún)字段為表達(dá)式

select [字段表達(dá)式] from [表名];

2.4 別名

select colum [as] [列名] from [表名];

2.5 去重: DISTINCT

使用 distinct 關(guān)鍵字對(duì)某列數(shù)據(jù)去重

--98 分重復(fù)了
select math from exam_result;
+------+
| math |
+------+
| 98.0 |
| 78.0 |
| 98.0 |
| 84.0 |
| 85.0 |
| 73.0 |
| 65.0 |
+------+

-- 去重結(jié)果
select distinct math from exam_result;
+------+
| math |
+------+
| 98.0 |
| 78.0 |
| 84.0 |
| 85.0 |
| 73.0 |
| 65.0 |
+------+

2.6 排序: ORDER BY

select * from [表名] order by [排序字段];

用 order by 指定某一列進(jìn)行排序, 默認(rèn)按照升序排序.

顯式加上 desc , 就是降序排序. 使用 asc 也是升序

select name, math from exam_result order by math desc;
+------+------+
| name | math |
+------+------+
| tom | 98.0 |
| lim | 98.0 |
| huy | 85.0 |
| tim | 84.0 |
| jum | 78.0 |
| sun | 73.0 |
| ming | 65.0 |
+------+------+

NULL 數(shù)據(jù)排序,視為比任何值都小,升序出現(xiàn)在最上面,降序出現(xiàn)在最下面

排序也可以指定多個(gè)列執(zhí)行

select * from exam_result order by math desc, chinese desc;
+------+------+---------+------+---------+
| id | name | chinese | math | english |
+------+------+---------+------+---------+
| 3 | lim | 88.0 | 98.0 | 90.0 |
| 1 | tom | 67.0 | 98.0 | 56.0 |
| 5 | huy | 55.5 | 85.0 | 45.0 |
| 4 | tim | 82.0 | 84.0 | 67.0 |
| 2 | jum | 87.5 | 78.0 | 77.0 |
| 6 | sun | 70.0 | 73.0 | 78.5 |
| 7 | ming | 75.0 | 65.0 | 30.0 |
+------+------+---------+------+---------+

多列排序時(shí), 是在第一列區(qū)分不出來(lái)大小的時(shí)候, 再按第二列排序.

2.7 條件查詢(xún): WHERE

比較運(yùn)算符

運(yùn)算符 說(shuō)明
>, >=, <, <= 大于,大于等于,小于,小于等于
= 等于,NULL 不安全,例如 NULL = NULL 的結(jié)果是 NULL
<=> 等于,NULL 安全,例如 NULL <=> NULL 的結(jié)果是 TRUE(1)
!=, <> 不等于
BETWEEN a0 AND a1 范圍匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)
IN (option, …) 如果是 option 中的任意一個(gè),返回 TRUE(1)
IS NULL 是 NULL
IS NOT NULL 不是 NULL
LIKE 模糊匹配。% 表示任意多個(gè)(包括 0 個(gè))任意字符;_ 表示任意一個(gè)字符

邏輯運(yùn)算符:

運(yùn)算符 說(shuō)明
AND 多個(gè)條件必須都為 TRUE(1),結(jié)果才是 TRUE(1)
OR 任意一個(gè)條件為 TRUE(1), 結(jié)果為 TRUE(1)
NOT 條件為 TRUE(1),結(jié)果為 FALSE(0)

注意:

  • 列的別名不能再 where 中使用~~
  • AND的優(yōu)先級(jí)高于OR,在同時(shí)使用時(shí),需要使用小括號(hào)()包裹優(yōu)先執(zhí)行的部分

實(shí)例:

基本查詢(xún):

-- 查詢(xún)英語(yǔ)不及格的同學(xué)及英語(yǔ)成績(jī) ( < 60 )
select name, english from exam_result where english < 60;

-- 查詢(xún)語(yǔ)文成績(jī)好于英語(yǔ)成績(jī)的同學(xué)
select name, chinese, english from exam_result where chinese > english;

-- 查詢(xún)總分在 200 分以下的同學(xué)
select name, chinese + math + english as total from exam_result where chinese + math + english < 200;

AND 與 OR:

-- 查詢(xún)語(yǔ)文成績(jī)大于80分,且英語(yǔ)成績(jī)大于80分的同學(xué)
select * from exam_result where chinese > 80 and english > 80;

-- 查詢(xún)語(yǔ)文成績(jī)大于80分,或英語(yǔ)成績(jī)大于80分的同學(xué)
select * from exam_result where chinese > 80 or english > 80;

關(guān)于優(yōu)先級(jí)問(wèn)題, and 比 or 更優(yōu)先,

范圍查詢(xún):

1.BETWEEN … AND …

-- 查詢(xún)語(yǔ)文成績(jī)?cè)?[80, 90] 分的同學(xué)及語(yǔ)文成績(jī)
select name, chinese from exam_result where chinese BETWEEN 80 AND 90;

select name, chinese, from exam_result where chinese >= 80 and chinese <= 90;

IN

 -- 查詢(xún)數(shù)學(xué)成績(jī)是 58 或者 59 或者 98 或者 99 分的同學(xué)及數(shù)學(xué)成績(jī)
select name, math from exam_result where math in (58, 59, 98, 99);

模糊查詢(xún): LIKE

select name from exam_result where name like 't%';
+------+
| name |
+------+
| tom |
| tim |
+------+

% 是一個(gè)通配符, 可以用來(lái)代替任意多個(gè)字符

t% 找出以 t 開(kāi)頭的字符串

%t 找出以 t 結(jié)尾的字符串

%t% 找出包含 t 的

除了 % 之外, 還有 _ ,(_ 只能代表一個(gè)字符~)

select name from exam_result where name like 't__';
+------+
| name |
+------+
| tom |
| tim |
+------+

通配符也能針對(duì)數(shù)字進(jìn)行模糊查詢(xún)

select name, chinese from exam_result where chinese like '%8%';
+------+---------+
| name | chinese |
+------+---------+
| jum |  87.5 |
| lim |  88.0 |
| tim |  82.0 |
+------+---------+

注意:

模糊查詢(xún)看起來(lái)比較好用, 實(shí)際執(zhí)行效率低下

NULL 的查詢(xún): IS [NOT] NULL

 select name from exam_result where id id not null;

2.8 分頁(yè)查詢(xún): LIMIT

-- 最初數(shù)據(jù)表
select * from exam_result;
+------+------+---------+------+---------+
| id  | name | chinese | math | english |
+------+------+---------+------+---------+
|  1 | tom |  67.0 | 98.0 |  56.0 |
|  2 | jum |  87.5 | 78.0 |  77.0 |
|  3 | lim |  88.0 | 98.0 |  90.0 |
|  4 | tim |  82.0 | 84.0 |  67.0 |
|  5 | huy |  55.5 | 85.0 |  45.0 |
|  6 | sun |  70.0 | 73.0 |  78.5 |
|  7 | ming |  75.0 | 65.0 |  30.0 |
+------+------+---------+------+---------+

-- 前三條記錄
select * from exam_result limit 3;
+------+------+---------+------+---------+
| id  | name | chinese | math | english |
+------+------+---------+------+---------+
|  1 | tom |  67.0 | 98.0 |  56.0 |
|  2 | jum |  87.5 | 78.0 |  77.0 |
|  3 | lim |  88.0 | 98.0 |  90.0 |
+------+------+---------+------+---------+

-- 從第三條開(kāi)始的三條記錄
select * from exam_result limit 3 offset 3;
+------+------+---------+------+---------+
| id  | name | chinese | math | english |
+------+------+---------+------+---------+
|  4 | tim |  82.0 | 84.0 |  67.0 |
|  5 | huy |  55.5 | 85.0 |  45.0 |
|  6 | sun |  70.0 | 73.0 |  78.5 |
+------+------+---------+------+---------+

offset 表示從第幾條開(kāi)始查找, offset 可以省略

select * from exam_result limit 3 , 4;
+------+------+---------+------+---------+
| id  | name | chinese | math | english |
+------+------+---------+------+---------+
|  4 | tim |  82.0 | 84.0 |  67.0 |
|  5 | huy |  55.5 | 85.0 |  45.0 |
|  6 | sun |  70.0 | 73.0 |  78.5 |
|  7 | ming |  75.0 | 65.0 |  30.0 |
+------+------+---------+------+---------+

3. 修改(Update)

– 將總成績(jī)倒數(shù)前三的 3 位同學(xué)的數(shù)學(xué)成績(jī)加上 30 分

update exam_result set math = math + 30 order by chinese + math + english limit 3;

update 不加條件, 就可以針對(duì)所有

4. 刪除(Delete)

delete from [表名];
-- 刪除 ming 同學(xué)的考試成績(jī)
delete from exam_result where name = 'ming';

-- 刪除整張表
delete from exam_result;

如果不指定條件, 此時(shí)就把整個(gè)表刪除掉了, (與 drop 刪除表還有不同)

delete 刪除后表為 null, drop 刪除后表就不存在了

5. 常用 新增

-- 單行插入
insert into [表名] (字段1, ..., 字段N) values (value1, ...,value N);
-- 多行插入
insert into [表名](字段1, ..., 字段N) values
(value1, ...),
(value2, ...),
(value3, ...);

查詢(xún)

--全表查詢(xún)
select * from [表名];
--指定列查詢(xún)
select [列名1, 列名2,...] from [表名];
--查詢(xún)表達(dá)式字段
select [表達(dá)式1, 表達(dá)式2,...] from [表名];
--別名
select 
--去重 DISTINCT
select distinct [字段] from [表名];
-- 排序ORDER BY
select * from [表名] order by [排序字段];
-- 條件查詢(xún)WHERE
-- (1)比較運(yùn)算符 (2)BETWEEN ... AND ... (3)IN (4)IS NULL (5)LIKE (6)AND (7)OR 
(8)NOT
select * from [表名] where [條件];

修改

update [表] set [修改內(nèi)容1, 修改內(nèi)容2, ....] where [條件];

刪除

delete from [表名] where [條件];

總結(jié)

到此這篇關(guān)于MySQL表增刪改查的文章就介紹到這了,更多相關(guān)MySQL表增刪改查內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MYSQL統(tǒng)計(jì)逗號(hào)分隔字段元素的個(gè)數(shù)

    MYSQL統(tǒng)計(jì)逗號(hào)分隔字段元素的個(gè)數(shù)

    本文主要介紹了MYSQL統(tǒng)計(jì)逗號(hào)分隔字段元素的個(gè)數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • MySQL學(xué)習(xí)第二天 安裝和配置mysql winx64

    MySQL學(xué)習(xí)第二天 安裝和配置mysql winx64

    MySQL學(xué)習(xí)第二天,主要為大家詳細(xì)介紹了在Windows 64位操作系統(tǒng)下安裝和配置MySQL的具體步驟,整理一份mysql winx64安裝配置方法教程,感興趣的小伙伴們可以參考一下
    2016-05-05
  • MySQL數(shù)據(jù)庫(kù)和Redis緩存一致性的更新策略

    MySQL數(shù)據(jù)庫(kù)和Redis緩存一致性的更新策略

    本文主要介紹了MySQL數(shù)據(jù)庫(kù)和Redis緩存一致性的更新策略問(wèn)題,文中有詳細(xì)的代碼示例,有需要的朋友可以參考一下
    2023-04-04
  • MySQL??zip安裝包配置教程

    MySQL??zip安裝包配置教程

    這篇文章詳細(xì)介紹了如何使用zip安裝包在Windows11上安裝MySQL8.0,包括下載、解壓、配置環(huán)境變量、初始化數(shù)據(jù)庫(kù)、安裝服務(wù)以及更改密碼等步驟,感興趣的朋友一起看看吧
    2025-02-02
  • MySQL命令行連接方式

    MySQL命令行連接方式

    這篇文章主要介紹了MySQL命令行連接方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • MySql match against工具詳細(xì)用法

    MySql match against工具詳細(xì)用法

    在MySQL中,MATCH……AGAINST是全文索引(Full-Text index)的查詢(xún)語(yǔ)法,它允許你對(duì)文本進(jìn)行高效的全文搜素,支持自然語(yǔ)言搜索和布爾搜索模式,下面給大家介紹MySql match against工具詳細(xì)用法,感興趣的朋友一起看看吧
    2025-04-04
  • mysql 操作總結(jié) INSERT和REPLACE

    mysql 操作總結(jié) INSERT和REPLACE

    用于操作數(shù)據(jù)庫(kù)的SQL一般分為兩種,一種是查詢(xún)語(yǔ)句,也就是我們所說(shuō)的SELECT語(yǔ)句,另外一種就是更新語(yǔ)句,也叫做數(shù)據(jù)操作語(yǔ)句。
    2009-07-07
  • delete?in子查詢(xún)不走索引問(wèn)題分析

    delete?in子查詢(xún)不走索引問(wèn)題分析

    這篇文章主要為大家介紹了delete?in子查詢(xún)不走索引的問(wèn)題分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • MySQL的prepare使用及遇到bug解析過(guò)程

    MySQL的prepare使用及遇到bug解析過(guò)程

    在一次開(kāi)發(fā)中使用 MySQL PREPARE 以后,從 prepare 直接取 name 賦值給 lex->prepared_stmt_name 然后給 EXECUTE 用,發(fā)現(xiàn)有一定概率找不到 prepare stmt 的 name,于是開(kāi)始動(dòng)手調(diào)查問(wèn)題發(fā)生的原因,本文給大家分享mysql prepare使用及問(wèn)題解決,感興趣的朋友一起看看吧
    2022-05-05

最新評(píng)論

民勤县| 随州市| 霍山县| 凤城市| 商丘市| 咸丰县| 临泽县| 边坝县| 临朐县| 东台市| 四子王旗| 崇明县| 句容市| 溧水县| 皋兰县| 潮安县| 芦山县| 舒兰市| 平泉县| 沙河市| 宜春市| 和硕县| 广州市| 清苑县| 平邑县| 岐山县| 海阳市| 辰溪县| 克山县| 阳谷县| 桂东县| 海口市| 延寿县| 清流县| 安达市| 黄冈市| 乐东| 谢通门县| 宁明县| 法库县| 平谷区|