1. 程式人生 > 其它 >9、delete刪除資料記錄與like子句指定條件、union操作符

9、delete刪除資料記錄與like子句指定條件、union操作符

技術標籤:mysqlmysql

學習目標:

delete刪除資料記錄與like子句指定條件、union操作符

學習內容:

1.delete刪除資料

delete from <表名稱> ; 刪除表中所有資料
如果沒有指定 WHERE 子句,MySQL 表中的所有記錄將被刪除。
delete from <表名稱> where age=21; 刪除表中指定資料
可以在 WHERE 子句中指定任何條件

mysql> select * from polon;
+----+-----------+-----+-----+-----------------+
| id |
name | sex | age | submission_data | +----+-----------+-----+-----+-----------------+ | 2 | 李四 || 21 | 2021-01-30 | | 3 | 王五 || 19 | 2016-08-09 | | 4 | 張三 || 18 | 2018-07-03 | | 5 | 二麻子 || 18 | 2018-07-03 | +----+-----------+-----+-----+-----------------+
4 rows in set (0.00 sec) mysql> delete from polon where age=21; #刪除age為21的指定資料 Query OK, 1 row affected (0.50 sec) mysql> select * from polon; +----+-----------+-----+-----+-----------------+ | id | name | sex | age | submission_data | +----+-----------+-----+-----+-----------------+ | 3
| 王五 || 19 | 2016-08-09 | | 4 | 張三 || 18 | 2018-07-03 | | 5 | 二麻子 || 18 | 2018-07-03 | +----+-----------+-----+-----+-----------------+ 3 rows in set (0.00 sec)

2.like子句

select * from <表名稱> where <指定條件> like ‘%<指定條件>’; 以指定條件查詢,得出所有記錄

mysql> select * from polon where age like '%8'; #查詢age中以8結尾的所有記錄
+----+-----------+-----+-----+-----------------+
| id | name      | sex | age | submission_data |
+----+-----------+-----+-----+-----------------+
|  4 | 張三      || 18  | 2018-07-03      |
|  5 | 二麻子    || 18  | 2018-07-03      |
+----+-----------+-----+-----+-----------------+
2 rows in set (0.01 sec)

可以在 WHERE 子句中使用LIKE子句。
可以使用LIKE子句代替等號 =。
LIKE 通常與 % 一同使用,類似於一個元字元的搜尋。
可以使用 AND 或者 OR 指定一個或多個條件。
可以在 DELETE 或 UPDATE 命令中使用 WHERE…LIKE 子句來指定條件。
在這裡插入圖片描述
3.union操作符
UNION 操作符用於連線兩個以上的 SELECT 語句的結果組合到一個結果集合中。多個 SELECT 語句會刪除重複的資料。
select <列名稱> from <表名稱1>
union
select <列名稱> from <表名稱2>
order by <列名稱>;

mysql> show tables;   #獲取資料表
+------------------+
| Tables_in_runoob |
+------------------+
| apps             |
| runoob_tb1       |
+------------------+
2 rows in set (0.00 sec)

mysql> select * from apps;  #獲取apps表內容
+----+--------+---------------+------------+
| id | name   | runoob_author | data       |
+----+--------+---------------+------------+
|  3 | QQ     | 馬化騰        | 2019-07-05 |
|  5 | 微信   | 王江          | 2013-04-01 |
+----+--------+---------------+------------+
2 rows in set (0.00 sec)

mysql> select * from runoob_tb1;  #獲取runoob_tb1表內容
+-----------+--------------+---------------+-----------------+
| runoob_id | runoob_title | runoob_author | submission_data |
+-----------+--------------+---------------+-----------------+
|         1 | jave教程     | runoob.com    | 2016-04-03      |
|         2 | 我愛中華     | 劉桑          | 2021-01-29      |
|         3 | 琰瀟秋       | 李旺          | 2014-05-07      |
|         4 | 學習php      | 王江          | 2015-08-05      |
|         5 | python       | 李桑          | 2021-01-30      |
+-----------+--------------+---------------+-----------------+
5 rows in set (0.00 sec)
mysql> select runoob_author from apps
    -> union  #相當於兩張資料表中的runoob_author列 去重後的並集
    -> select runoob_author from runoob_tb1
    -> order by runoob_author;   #使用order命令
+---------------+
| runoob_author |
+---------------+
| runoob.com    |
| 劉桑          |
| 李旺          |
| 李桑          |
| 王江          |
| 馬化騰        |
+---------------+
6 rows in set (0.47 sec)

或者使用union all獲取所有的資料(未去重)

mysql> select runoob_author from apps
    -> union all  #獲取兩張表中runoob_author 列中所有的資料,未去重
    -> select runoob_author from runoob_tb1
    -> order by runoob_author;
+---------------+
| runoob_author |
+---------------+
| runoob.com    |
| 劉桑          |
| 李旺          |
| 李桑          |
| 王江          |  #相同
| 王江          |  #相同
| 馬化騰        |
+---------------+
7 rows in set (0.00 sec)

也可以使用where子句

mysql> select runoob_author,name from apps  #兩者之間使用 , 隔開
    -> where runoob_author="王江" # where指定條件使runoob_author=name,前者等於後者
    -> union all
    -> select runoob_author,runoob_title from runoob_tb1
    -> where runoob_author="王江"  # where指定條件使runoob_author=runoob_title,前者等於後者
    -> order by runoob_author;
+---------------+-----------+
| runoob_author | name      |
+---------------+-----------+
| 王江          | 微信      |
| 王江          | 學習php   |
+---------------+-----------+
2 rows in set (0.00 sec)

UNION 語句:用於將不同表中相同列中查詢的資料展示出來;(不包括重複資料)

UNION ALL 語句:用於將不同表中相同列中查詢的資料展示出來;(包括重複資料)