MySQL——数据库的增删改操作
數據庫的增刪改操作
數據庫的增操作
數據庫的增操作主要涉及數據庫的增加、數據表的增加、表記錄增加以及表字段增加等。數據庫的增加非常簡單,就是新創建一個數據庫;表記錄的增加指的就是新增表的數據行,可以是在已有表的基礎上增加記錄,也可以是將查詢結果保存為新的表;字段的增加是指在原有表的基礎上新增一些字段。下面我們一起來看一下具體操作。
(1)新建數據庫
(2)新建表
CREATE TABLE table_name_ (column_name column_type);(3)在原有表的基礎上增加記錄
在表中增加記錄的前提是保證原數據表一定存在。
根據返回的結果可以看到,追加信息的字段下面會增加新的數據,沒有新增數據的字段已空值填充。
(4)將查詢返回的結果插入到新表中
嘗試將之前的商品表goods_orders中支付方式為"1,2,3"的記錄插入到新表orders_sub中
(5)將查詢結果直接生成一張新表
# 將學生信息表stu_info和學生成績表stu_score合并之后的結果生成一張新表student CREATE TABLE student AS SELECT t1.* , t2.Excel,t2.Tableau,t2.MySQL FROM stu_info AS t1 LEFT JOIN stu_score AS t2 ON t1.id = t2.id; # 預覽前10行 SELECT * FROM student;(6)增加表字段
在上述表student中增加一個新字段Python,并設置為整型,默認值為0。
數據庫的改操作
數據庫的改操作主要是指修改表中錯誤記錄、修改字段類型以及修改表名稱、字段名稱等。
(1)修改表名稱
(2)修改字段名
# 將學生表stu_summary中gender改成sex ALTER TABLE stu_summary CHANGE gender sex varchar(10);(3)修改字段類型
# 查看學生表stu_summary所有字段類型 DESC stu_summary; # 將學生表stu_summary 年齡字段age的字段類型修改為VARCHAR(10) ALTER TABLE stu_summary MODIFY COLUMN age varchar(10); -- 也可以使用CHANGE關鍵詞 -- ALTER TABLE stu_summary CHANGE age age varchar(10);(4)修改數據表中的某個記錄
# 將學生表student中張勇的郵箱地址改為zhangyong@163.com SELECT * FROM student; UPDATE student SET email = "zhangyong@163.com" WHERE iname = "張勇";這里需要注意的是,如果學生表中有多個名字叫“張勇”的學生,那么所有滿足條件的記錄都會被修改。
數據庫的刪操作(慎用!!!)
數據庫的刪操作主要包含數據庫的刪除、數據表的刪除、表記錄刪除、字段刪除三種類型。數據庫的刪除就是直接刪掉整個數據庫;表記錄的刪除是指按照某些條件刪除數據表中的記錄,或者直接清空數據表的所有記錄;字段的刪除與字段的增加恰好相反,就是根據實際情況將表中某些字段刪掉。
(1)數據庫的刪除
在實際工作中,大部分數據分析師是沒有權限對整個數據庫進行刪除的,公司進行權限管理也是為了數據的安全,防止有人刪庫跑路,給公司帶來經濟損失。
(2)數據表的刪除
(3)按條件刪除表記錄
SELECT * FROM student; # 刪除前查看數據 # 刪除學生表student中,名為“十九”和“小北”的記錄 DELETE FROM student WHERE iname IN ("十九","小北"); # 如果出現報錯Error Code: 1175. # 這是Workbench的安全設置導致的,可以通過降低安全等級解決 set sql_safe_updates =0; SELECT * FROM student; # 查看刪除后的數據(4)刪除表字段
# 刪除學生表student中的email字段 ALTER TABLE student DROP email;(5)清空數據表
對于數據表的清空操作,這里會涉及到兩個關鍵詞:DELETE關鍵詞 和 TRUNCATE 關鍵詞。這兩個關鍵詞都可以清空數據表,但是兩者之間還是有一些差異:
- DELETE不會清空自增變量的記憶,也就是再次更新數據時,自增變量的序號不是從1開始的
- TRUNCATE可以根本性刪除表記錄,新增數據時,自增變量的序號從1開始
- 在運行速度方面,TRUNCATE要比 DELETE快
嘗試用DELECT 清空數據表,并增加三條記錄
# 使用DELETE關鍵詞清空數據表 DELETE FROM user_info; # 插入記錄 INSERT INTO user_info(iname,gender,age) VALUES ('張三',1,22), ('李四',1,27), ('王二',0,25); # 查看數據表 SELECT * FROM user_info;
嘗試用TRUNCATE 清空數據表,并增加三條記錄:
總結
以上是生活随笔為你收集整理的MySQL——数据库的增删改操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL——多表查询练习:电商数据查询
- 下一篇: MySQL—【加餐1】高效查询方法