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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL——数据库的增删改操作

發布時間:2025/4/5 数据库 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL——数据库的增删改操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據庫的增刪改操作

數據庫的增操作

數據庫的增操作主要涉及數據庫的增加、數據表的增加、表記錄增加以及表字段增加等。數據庫的增加非常簡單,就是新創建一個數據庫;表記錄的增加指的就是新增表的數據行,可以是在已有表的基礎上增加記錄,也可以是將查詢結果保存為新的表;字段的增加是指在原有表的基礎上新增一些字段。下面我們一起來看一下具體操作。
(1)新建數據庫

CREATE DATABASE <database_name>;

(2)新建表

CREATE TABLE table_name_ (column_name column_type);

(3)在原有表的基礎上增加記錄
在表中增加記錄的前提是保證原數據表一定存在。

# 在學生信息表stu_info中增加兩條學生信息 SELECT * FROM stu_info; INSERT INTO stu_info( iname,department) VALUES ("十九","管理系"), ("小北","生物系"); SELECT * FROM stu_info;


根據返回的結果可以看到,追加信息的字段下面會增加新的數據,沒有新增數據的字段已空值填充。
(4)將查詢返回的結果插入到新表中
嘗試將之前的商品表goods_orders中支付方式為"1,2,3"的記錄插入到新表orders_sub中

SELECT * FROM goods_orders; # 新建orders_sub表,并且表結構與goods_orders表一致 CREATE TABLE orders_sub LIKE goods_orders; # 將查詢結果插入到數據表orders_sub中 INSERT INTO orders_sub SELECT * FROM goods_orders WHERE Pay_Type IN (1,2,3); # 預覽前10行 SELECT * FROM orders_sub LIMIT 10;

(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。

#表student中增加一個新字段Python,并設置為整型,默認值為0。 ALTER TABLE student ADD COLUMN Python INT DEFAULT 0; #預覽數據表 student SELECT * FROM student;

數據庫的改操作

數據庫的改操作主要是指修改表中錯誤記錄、修改字段類型以及修改表名稱、字段名稱等。
(1)修改表名稱

# 將學生表student的名稱修改為stu_summary ALTER TABLE student RENAME TO stu_summary;

(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)數據庫的刪除

DROP DATABASE <database_name>;

在實際工作中,大部分數據分析師是沒有權限對整個數據庫進行刪除的,公司進行權限管理也是為了數據的安全,防止有人刪庫跑路,給公司帶來經濟損失。
(2)數據表的刪除

DROP TABLE <table_name_>;

(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快
# 新建數據表 CREATE TABLE user_info ( id INT AUTO_INCREMENT PRIMARY KEY, iname VARCHAR(10), gender TINYINT, age TINYINT );# 手工插入記錄 INSERT INTO user_info(iname,gender,age) VALUES ('張三',1,22), ('李四',1,27), ('王二',0,25), ('丁一',0,32), ('趙五',0,28); SELECT * FROM user_info;

嘗試用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 清空數據表,并增加三條記錄:

# 使用TRUNCATE關鍵詞清空數據表 TRUNCATE TABLE user_info; # 插入一條記錄 INSERT INTO user_info(iname,gender,age) VALUES ('張三',1,22), ('李四',1,27), ('王二',0,25); # 查看數據表 SELECT * FROM user_info;

總結

以上是生活随笔為你收集整理的MySQL——数据库的增删改操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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