好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL表的增刪改查基礎教程

MySQL表的增刪改查基礎教程

熱門標簽:400電話變更申請 南太平洋地圖標注 呂梁外呼系統 400電話辦理服務價格最實惠 大豐地圖標注app html地圖標注并導航 武漢電銷機器人電話 北京金倫外呼系統 催天下外呼系統

1. 新增(Create)

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

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

實例:

創建一個學生成績表

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

1.1 單行數據 + 全列插入

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

每次插入數據, 為一條記錄, 包含了若干個列~~

列的數目和數據類型要和表的結構對應~

value 前省略指定列默認為全列插入

1.2 多行數據 + 指定列

- 插入兩條記錄,value_list 數量必須和指定列數量及順序一致
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. 查詢(Retrieve)

2.1 全列查詢

select * from [表名];

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

2.2 指定列查詢

select [指定查詢列] from [表名];

2.3 查詢字段為表達式

select [字段表達式] from [表名];

2.4 別名

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

2.5 去重: DISTINCT

使用 distinct 關鍵字對某列數據去重

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

-- 去重結果
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 指定某一列進行排序, 默認按照升序排序.

顯式加上 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 數據排序,視為比任何值都小,升序出現在最上面,降序出現在最下面

排序也可以指定多個列執行

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 |
+------+------+---------+------+---------+

多列排序時, 是在第一列區分不出來大小的時候, 再按第二列排序.

2.7 條件查詢: WHERE

比較運算符

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

邏輯運算符:

運算符 說明
AND 多個條件必須都為 TRUE(1),結果才是 TRUE(1)
OR 任意一個條件為 TRUE(1), 結果為 TRUE(1)
NOT 條件為 TRUE(1),結果為 FALSE(0)

注意:

  • 列的別名不能再 where 中使用~~
  • AND的優先級高于OR,在同時使用時,需要使用小括號()包裹優先執行的部分

實例:

基本查詢:

-- 查詢英語不及格的同學及英語成績 (  60 )
select name, english from exam_result where english  60;

-- 查詢語文成績好于英語成績的同學
select name, chinese, english from exam_result where chinese > english;

-- 查詢總分在 200 分以下的同學
select name, chinese + math + english as total from exam_result where chinese + math + english  200;

AND 與 OR:

-- 查詢語文成績大于80分,且英語成績大于80分的同學
select * from exam_result where chinese > 80 and english > 80;

-- 查詢語文成績大于80分,或英語成績大于80分的同學
select * from exam_result where chinese > 80 or english > 80;

關于優先級問題, and 比 or 更優先,

范圍查詢:

1.BETWEEN … AND …

-- 查詢語文成績在 [80, 90] 分的同學及語文成績
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

 -- 查詢數學成績是 58 或者 59 或者 98 或者 99 分的同學及數學成績
select name, math from exam_result where math in (58, 59, 98, 99);

模糊查詢: LIKE

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

% 是一個通配符, 可以用來代替任意多個字符

t% 找出以 t 開頭的字符串

%t 找出以 t 結尾的字符串

%t% 找出包含 t 的

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

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

通配符也能針對數字進行模糊查詢

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

注意:

模糊查詢看起來比較好用, 實際執行效率低下

NULL 的查詢: IS [NOT] NULL

 select name from exam_result where id id not null;

2.8 分頁查詢: LIMIT

-- 最初數據表
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 |
+------+------+---------+------+---------+

-- 從第三條開始的三條記錄
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 表示從第幾條開始查找, 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)

– 將總成績倒數前三的 3 位同學的數學成績加上 30 分

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

update 不加條件, 就可以針對所有

4. 刪除(Delete)

delete from [表名];
-- 刪除 ming 同學的考試成績
delete from exam_result where name = 'ming';

-- 刪除整張表
delete from exam_result;

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

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

5. 常用 新增

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

查詢

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

修改

update [表] set [修改內容1, 修改內容2, ....] where [條件];

刪除

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

總結

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

您可能感興趣的文章:
  • mysql增刪改查基礎語句
  • Mysql的增刪改查語句簡單實現
  • mysql觸發器之觸發器的增刪改查操作示例
  • Mysql表,列,庫增刪改查問題小結
  • MySQL 詳細單表增刪改查crud語句
  • mysql視圖之管理視圖實例詳解【增刪改查操作】

標簽:無錫 麗水 龍巖 南充 迪慶 西寧 自貢 徐州

巨人網絡通訊聲明:本文標題《MySQL表的增刪改查基礎教程》,本文關鍵詞  MySQL,表,的,增,刪改,查,基礎,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL表的增刪改查基礎教程》相關的同類信息!
  • 本頁收集關于MySQL表的增刪改查基礎教程的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 顶级欧美色妇XXXXX交换| 能看见器官进去的大尺度视频 | 我穿jk被同桌C出水了H漫画| 年下攻肉多荤文高H| japanese55成熟老妇| 97超人澡2021| 肥老熟妇伦子伦456视频| 97人人爽人人爽乱码Av国产| 国产精品午夜久久| 国产精品久久精品| 女子被粗大的??巴捣出白浆| 看全色黄大色黄大片大学生| 我有一座冒险屋下载 | 校花奶头大把腿张开让我爽视频| 校霸被校草肉到失禁高H| 色噜噜的亚洲男人的天堂| 免费黄色网页| 因为初恋是第一次2| 巜禁欲的人妻HD中文字幕| 爽好舒服要喷了h文| 国产麻豆天美果冻无码视频| 勾魂噩梦电影| 拍真实国产伦偷精品| 男女生上床视频| 91亚色下载| 16 一18 一19 性欧美| 久久碰人妻一区二区三区| 正在播放黑人巨大在线观看| 重温张拍芝艳照无删减| freexxxx高清中国hd| 扒开双腿猛烈进入高H海棠| 叶玉卿被揉到高潮下不了床| 亚洲国产中文在线| 久久久久久久久精品久小说| 国产清纯91天堂在线观看| axhd国产馆入口| 63久久AV精品一区二区| 国产欧美91精品又久久账户注册方法| 阳东县| 男男耽美肉文| 深夜蜜桃久久久爱久久久迅雷|