MYSQL基礎,複習走兩波!

在這裏插入圖片描述

本文接着上一篇進行復習,內容較基礎,基礎紮實還是重要的!

一. DML操作

用於對錶中的記錄進行增刪改操作

1.1 插入記錄

INSERT [INTO] 表名 [字段名] VALUES (字段值) 

INSERT INTO 表名:表示往哪張表中添加數據
(字段名 1, 字段名 2, …):要給哪些字段設置值
VALUES (值 1, 值 2, …):設置具體的值

1.1.1 插入全部記錄

所有的字段名都寫出來

INSERT INTO 表名 (字段名 1, 字段名 2, 字段名 3) VALUES (1,2,3); 

不寫字段名

INSERT INTO 表名 VALUES (1,2,3); 

1.1.2 插入部分數據

INSERT INTO 表名 (字段名 1, 字段名 2, ...) VALUES (1,2, ...); 

1.2 更新表記錄

UPDATE 表名 SET 列名=[WHERE 條件表達式];

UPDATE: 需要更新的表名
SET: 修改的列值
WHERE: 符合條件的記錄才更新
你可以同時更新一個或多個字段。
你可以在 WHERE 子句中指定任何條件。

1.2.1 不帶條件修改數據

UPDATE 表名 SET 字段名=;  -- 修改所有的行 

1.2.2 帶條件修改數據 UPDATE

UPDATE 表名 SET 字段名=值 WHERE 字段名=; 

1.2.3 具體操作

-- 不帶條件修改數據,將所有的性別改成女 
update student set sex = '女'; 
 
-- 帶條件修改數據,將id號爲2的學生性別改成男 
update student set sex='男' where id=2; 
 
-- 一次修改多個列,把id爲3的學生,年齡改成26歲,address改成北京 
update student set age=26, address='北京' where id=3; 

1.3 刪除表記錄

DELETE FROM 表名 [WHERE 條件表達式] 

如果沒有指定 WHERE 子句,MySQL 表中的所有記錄將被刪除。
你可以在 WHERE 子句中指定任何條件

1.3.1 不帶條件刪除數據

DELETE FROM 表名; 

1.3.2 帶條件刪除數據

DELETE FROM 表名 WHERE 字段名=

1.3.3 使用truncate刪除表中所有記錄

 TRUNCATE TABLE 表名; 

truncate 相當於刪除表的結構,再創建一張表

二. DQL查詢表中的數據

查詢不會對數據庫中的數據進行修改.只是一種顯示數據的方式

SELECT 列名 FROM 表名 [WHERE 條件表達式]  
  1. SELECT 命令可以讀取一行或者多行記錄。
  2. 你可以使用星號(*)來代替其他字段,SELECT 語句會返回表的所有字段數據
  3. 你可以使用 WHERE 語句來包含任何條件。

2.1 簡單查詢

2.1.1 查詢表所有行和列的數據

使用*表示所有列

 SELECT * FROM 表名; 

2.1.2 查詢指定列

SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名; 

2.2 指定列的別名進行查詢

使用關鍵字
使用別名的好處: 顯示的時候使用新的名字,並不修改表的結構。
語法

對列指定別名

 SELECT 字段名 1 AS 別名, 字段名 2 AS 別名... FROM 表名;

對列和表同時指定別名

   SELECT 字段名 1 AS 別名, 字段名 2 AS 別名... FROM 表名 AS 表別名; 

具體操作

-- 使用別名 
select name as 姓名,age as 年齡 from student; 
-- 表使用別名 
select st.name as 姓名,age as 年齡 from student as st 

2.3 清除重複值

查詢指定列並且結果不出現重複數據

 SELECT DISTINCT 字段名 FROM 表名; 

具體操作

 查詢學生來至於哪些地方 
 -- 查詢學生來至於哪些地方 select address from student; 
 
-- 去掉重複的記錄 select distinct address from student; 

2.4 查詢結果參與運算

  1. 某列數據和固定值運算 SELECT 列名 1 + 固定值 FROM 表名;
  2. 某列數據和其他列數據參與運算 SELECT 列名 1 + 列名 2 FROM 表名;
    注意: 參與運算的必須是數值類型

具體操作
準備數據:添加數學,英語成績列,給每條記錄添加對應的數學和英語成績,查詢的時候將數學和英語的成績相 加

select * from student; 
 
-- 給所有的數學加 5 分 select math+5 from student; 
 
-- 查詢 math + english 的和 select * from student; 
 
select *,(math+english) as 總成績 from student; -- as 可以省略 select *,(math+english) 總成績 from student; 

2.5 條件查詢

如果沒有查詢條件,則每次查詢所有的行。實際應用中,一般要指定查詢的條件。對記錄進行過濾
條件查詢的語法
SELECT 字段名 FROM 表名 WHERE 條件;
流程:取出表中的每條數據,滿足條件的記錄就返回,不滿足條件的記錄不返回

2.5.1 準備數據

創建一個學生表,包含如下列:

CREATE TABLE student3 (  
 id int,  -- 編號  
  name varchar(20), -- 姓名  
   age int, -- 年齡   
   sex varchar(5),  -- 性別   
   address varchar(100),  -- 地址   
   math int, -- 數學   
   english int -- 英語 ); 
 
INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES (1,'馬雲',55,'男', ' 杭州',66,78),(2,'馬化騰',45,'女','深圳',98,87),(3,'馬景濤',55,'男','香港',56,77),(4,'柳巖 ',20,'女','湖南',76,65),(5,'柳青',20,'男','湖南',86,NULL),(6,'劉德華',57,'男','香港 ',99,99),(7,'馬德',22,'女','香港',99,99),(8,'德瑪西亞',18,'男','南京',56,65); 

2.5.2運算符

在這裏插入圖片描述比較運算符
具體操作:

 -- 查詢math分數大於80分的學生
  select * from student3 where math>80; 
 
-- 查詢english分數小於或等於80分的學生 
select * from student3 where english <=80; 
 
-- 查詢age等於20歲的學生 
select * from student3 where age = 20; 
 
-- 查詢age不等於20歲的學生,注:不等於有兩種寫法 
  
select * from student3 where age <> 20; 
select * from student3 where age != 20;

in 關鍵字

SELECT 字段名 FROM 表名 WHERE 字段 in (數據 1, 數據 2...);

in 裏面的每個數據都會作爲一次條件,只要滿足條件的就會顯示.
具體操作

-- 查詢id是135的學生 
 select * from student3 where id in(1,3,5); 
 
-- 查詢id不是135的學生 
select * from student3 where id not in(1,3,5); 

範圍查詢
BETWEEN 值 1 AND 值 2 表示從值 1 到值 2
範圍,包頭又包尾
比如:age BETWEEN 80 AND 100 相當於: age>=80 && age<=100

具體操作:

查詢 english 成績大於等於 75,且小於等於 90 的學生 
select * from student3 where english between 75 and 90; 

like 關鍵字
LIKE 表示模糊查詢

SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'; 

MySQL 通配符

在這裏插入圖片描述
具體操作:

-- 查詢姓馬的學生 
select * from student3 where name like '馬%'; 
 
select * from student3 where name like '馬'; 
  33 / 33  
 
-- 查詢姓名中包含'德'字的學生 
select * from student3 where name like '%德%'; 
 
-- 查詢姓馬,且姓名有兩個字的學生 
select * from student3 where name like '馬_'; 

END!!! 如果對你有幫助的話,不勝感激!!!
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章