日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

MySQL 学习笔记(4)— 组合查询、子查询、插入数据、更新/删除表数据、增加/删除表中的列以及重命名表

發布時間:2023/11/27 生活经验 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL 学习笔记(4)— 组合查询、子查询、插入数据、更新/删除表数据、增加/删除表中的列以及重命名表 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 組合查詢

1、表的加減法
表的加法,即求 productproduct2 的并集,UNION 運算會除去重復的記錄

SELECT product_id, product_name FROM product 
UNION 
SELECT product_id, product_name FROM product2 

要保留重復的行時,使用 UNION ALL

SELECT product_id, product_name FROM product 
UNION ALL
SELECT product_id, product_name FROM product2 

注意事項:
1、作為運算對象的記錄的列數必須相同
2、作為運算對象的記錄中列的數據類型必須一致
3、可以使用任何SELECT語句,但是ORDER BY子句只能在最后使用一次

2. 插入數據


SQL 主要提供了兩種增加數據的方法:

  • INSERT INTO … VALUES … ;
  • INSERT INTO … SELECT … ;

首先,第一種形式的語法如下:

INSERT INTO t(col1, col2, ...)
VALUES (value1, value2, ...);

其中,t 是表名;VALUES 子句中提供的值與 INSERT INTO 中的字段數量必須相同,并且數據類型能夠兼容。如下示例:

INSERT INTO product (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES ('009', '打印機', '辦公用品', 5000, 2000, '2010-03-11');

如果 VALUES 值列表與表中的字段順序完全一致,可以省略字段列表。

表中插入數據,是按行插入的。


START TRANSACTION; --  事物開始的標志INSERT INTO product VALUES ('001', 'T恤衫', '衣服', 1000, 500, NULL);
或者連續插入兩行
INSERT INTO product (product_id, product_name, product_type, sale_price, purchase_price, regist_date) VALUES ('010', '打印機', '辦公用品', 5000, 2000, '2010-03-11'),('011', '籃球', '體育用品', 200, 50, '2014-08-23');
COMMIT;	--  事物結束的標志 COMMIT提交  或者 ROLLBACK 取消提交  

3. 更新和刪除數據

3.1 更新數據

SQL 使用 UPDATE 語句更新表中的數據,基本語法如下:

UPDATE tSET col1 = expr1,col2 = expr2,...
[WHERE condition];

其中,t 是表名;SET 子句指定了需要更新的列和更新后的值,多個字段使用逗號進行分隔;只有滿足 WHERE 條件的數據行才會被更新;如果沒有指定條件,將會更新表中所有行。

更新數據庫示例:

UPDATE addressbook_new SET country = '美國' WHERE regist_no = 2;UPDATE addressbook_new SET country = '德國';
UPDATE addressbook_new SET country = NULL;# 多列更新UPDATE addressbook_new SET country = '中國', address='北京', tel_no = '110';

3.2 刪除數據

SQL 中使用 DELETE 語句刪除數據:

DELETE FROM t
[WHERE conditions];

只有滿足 WHERE 條件的數據才會被刪除;如果省略 WHERE 條件,將會刪除表中所有的數據。

數據的刪除(只刪除表中的數據,表仍然存在)

DELETE FROM addressbook_new WHERE regist_no = 1;DELETE FROM addressbook_new;

DELETETRUNCATE 區別:

  • DELETE 語句通過 WHERE 條件從表中刪除指定的數據;如果不指定條件將會刪除所有的數據。DELETE 屬于數據操作語言(DML),刪除數據后,可以選擇提交或者回滾。如果刪除的數據較多時速度比較慢。
  • TRUNCATE 語句用于快速刪除表中的所有數據,并且釋放表的存儲空間。TRUNCATE 屬于數據定義語言(DDL),操作默認提交無法回滾。TRUNCATE 相當于刪除表并重建,通常執行速度很快。

4. 刪除表結構和數據

刪除表結構和數據使用 DROP TABLE 語句。

DROP TABLE product;

5. 添加刪除表中的列

添加表中列的語句

ALTER TABLE addressbook ADD COLUMN (列定義)postal_code CHAR(8)  NOT NULL;

刪除表中列的語句

ALTER TABLE addressbook DROP COLUMN (列名)postal_code 

6. 重命名表

RENAME  TABLE product TO new_product;

7. 子查詢

子查詢就是將用來定義視圖的 SELECT 語句直接作用于 FROM子句, 子查詢作為內層查詢會首先執行。

SELECT product_type, cnt_product 
FROM (SELECT product_type, COUNT(*) AS cnt_product FROM product GROUP BY product_type ) 
AS product_sum;

總結

以上是生活随笔為你收集整理的MySQL 学习笔记(4)— 组合查询、子查询、插入数据、更新/删除表数据、增加/删除表中的列以及重命名表的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。