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

歡迎訪問 生活随笔!

生活随笔

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

数据库

Mysql 数据插入 修改删除

發布時間:2023/12/20 数据库 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Mysql 数据插入 修改删除 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MYSQL基礎上機練習題(二) 數據插入、修改、刪除

一、實驗目的:

  • 數據插入、修改、刪除
  • 數據表的復制
  • 字段分列
  • 二、實驗內容:

    對實驗一所展示的表進行數據輸入、修改、刪除?
    以下為Employees,Departments,Salary表中的內容

    Employees?
    ?

    Departments?

    Salary?

    三、題目:

    1. 按照Departments表的內容插入數據(知識點:數據插入)

    2. 按照Employees表的內容插入數據(知識點:數據插入)

    3. 修改Employees中修改李麗的DepartmentID為’4’(知識點:數據修改)

    4. 創建一個與Employees結構和內容一致的表,名為Employees_Duplicated?(知識點:數據表的復制)

    5. 對Employees_Duplicated表中的Address字段以空格為間隔符,分列為StreetName(街道名)和RoomName(房號)(知識點:字段分列)

    6. 刪除Employees_Duplicated表中編號為’000001’的行內容(知識點:刪除某行數據)

    7. 刪除Employees_Duplicated表中Address字段中所有內容(知識點:刪除某字段所有數據)

    8. 在Salary表中插入Employees表中所有的EmployeesID?(知識點:選擇性數據插入)

    9. 在Salary表中插入InCome和OutCome值(知識點:帶存儲過程的數據插入)

    10. 在Salary中,修改編號為’020018’的InCome值(知識點:帶存儲過程的數據修改)

    ###三、代碼:

    1. 按照Departments表的內容插入數據(知識點:數據插入)

    (1)代碼方式插入(注意,該表有外鍵Departments中的DepartmentsID來插入):

    INSERT INTO Departments VALUES('1', '財務部', NULL)

    • 1

    ?

    (2)數據比較多的時候建議界面方式插入,插入后:?

    2. 按照Employees表的內容插入數據(知識點:數據插入)

    (1)代碼方式插入:

    INSERT INTO Employees VALUES('000001', '王林', '大專', '1966-01-23', 1, 8, '中山路 32-1-508', '83355668', '2')

    • 1

    ?

    (2)數據比較多的時候建議界面方式插入,插入后:?

    3. 修改Employees中修改李麗的DepartmentID為’4’(知識點:數據修改)

    UPDATE employees SET DepartmentID = '4' WHERE Name = '李麗'

    • 1

    ?

    4. 創建一個與Employees結構和內容一致的表,名為Employees_Duplicated?(知識點:數據表的復制)

    CREATE TABLE Employees_duplicated SELECT * FROM Employees

    • 1

    Employees_duplicated 表結構?

    Employees_duplicated 數據?
    ?
    (同樣,如果僅僅需要復制表的結構,可以用:

    CREATE TABLE Employees_duplicated2 LIKE Employees

    • 1

    使得創建一個新的TABLE和Employees的TABLE有同樣的表結構?

    5. 對Employees_Duplicated表中的Address字段以空格為間隔符,分列為StreetName(街道名)和RoomName(房號)(知識點:字段分列)

    首先,需要新增兩個字段:StreetName和RoomName

    ALTER TABLE Employees_duplicated ADD COLUMN RoomNumber VARCHAR(40) COMMENT '房號' AFTER Address

    ALTER TABLE Employees_duplicated ADD COLUMN StreetName VARCHAR(40) COMMENT '街名' AFTER Address

    • 1
    • 2

    ?
    然后,把根據間隔符提取的字段分別插入到StreetName和RoomNumber兩個字段中,其中SUBSTRING_INDEX函數的用法為SUBSTING_INDEX(需要分列的字段,’間隔符’,間隔符前(為正)/后(為負)的第幾個的字符串)

    UPDATE Employees_duplicated SET RoomNumber = SUBSTRING_INDEX(Address, ' ', -1);

    UPDATE Employees_duplicated SET StreetName = SUBSTRING_INDEX(Address, ' ', 1);

    • 1
    • 2

    ?

    6. 刪除Employees_Duplicated表中編號為’000001’的行內容(知識點:刪除某行數據)

    DELETE FROM Employees_Duplicated WHERE EmployeeID = '000001'

    • 1

    ?

    7. 刪除Employees_Duplicated表中Address字段中所有內容(知識點:刪除某字段所有數據)

    UPDATE Employees_Duplicated SET Address = ''

    • 1

    ?

    8. 在Salary表中插入Employees表中所有的EmployeesID?(知識點:選擇性數據插入)

    INSERT INTO Salary(EmployeeID) SELECT EmployeeID FROM Employees

    • 1

    ?

    9. 在Salary表中插入InCome和OutCome值(知識點:帶存儲過程的數據插入)

    (1)代碼方式插入(注意,該表有外鍵Departments中的DepartmentsID來插入)?
    因為ActInCome是通過存儲過程來計算的,因此有兩種插入方式,結果都一樣

    INSERT INTO Salary VALUES('000001', 2100.8, 123.09, 0)

    • 1

    INSERT INTO Salary(EmployeeID, InCome, OutCome) VALUES('000001', 2100.8, 123.09)

    • 1

    ?
    (插入時,插入的字段數必須和表結構一致,多一個數據或少一個數據都會導致發生#1136錯誤)

    情況:在插入數據時可能會遇到這種情況:

    原因:

    插入時的數據個數與表中的字段個數不一致

    解決方法:

    檢查表中的字段數與代碼中所插入的數據字段數是否一致

    例如:以下為Salary表中結構

    雖然ActInCome中設置了空值,且是根據InCome-OutCome的存儲過程得出的結果字段,但代碼不能為(以下為錯誤代碼):

    INSERT INTO Salary VALUES('000001', 2100.8, 123.09)

    1

    正確代碼應該為:

    INSERT INTO Salary VALUES('000001', 2100.8, 123.09, 0)

    1

    或者定義只插入某幾個字段

    INSERT INTO Salary(EmployeeID, InCome, OutCome) VALUES('000001', 2100.8, 123.09)

    1

    P.S:Mysql和SQL SERVER 不一樣,SQL SERVER不輸入該字段時,可以顯示默認值

    (2)界面方式插入(刷新后,ActInCome就可以算出來)?

    10. 在Salary中,修改編號為’020018’的InCome值(知識點:帶存儲過程的數據修改)

    UPDATE Salary SET InCome = 5000 WHERE EmployeeID = '020018'

    • 1

    ?

    轉載于:https://www.cnblogs.com/Pythons/p/10760636.html

    總結

    以上是生活随笔為你收集整理的Mysql 数据插入 修改删除的全部內容,希望文章能夠幫你解決所遇到的問題。

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