Mysql 數據庫 表 字段的創建 修改 刪除


MYSQL基礎上機練習題(一) 數據庫、表、字段的創建、修改、刪除

一、實驗目的:

  1. 創建、修改、刪除數據庫
  2. 創建、修改、刪除表
  3. 創建、修改、刪除字段

二、內容:

創建一個用於企業管理的員工管理數據庫,包括員工信息(Employees)、部門信息(Departments)、員工薪水情況(Salary)三個表,並對該數據庫進行增刪改查

Employees

列名

數據類型

長度

是否可空

說明

EmployeeID

字符串型

6

員工編號,主鍵

Name

字符串型

10

姓名

Education

字符串型

4

學歷

Birthday date

日期型

系統默認

出生日期

Gender

位型

系統默認

性別,默認值為1

Workyear

整數型

系統默認

工作時間

Address

字符串型

40

地址

Phonenumber

字符串型

12

電話號碼

DepartmentID

字符型

3

員工部門號,外鍵

Departments

列名

數據類型

長度

是否可空

說明

DepartmentID

字符串型

3

部門編號,主鍵

DepartmentName

字符串型

20

部門名

Note

字符串型

100

備注

Salary

列名

數據類型

長度

是否可空

說明

EmployeeID

字符串型

6

員工編號,主鍵

InCome

浮點型

(11,2)

收入

OutCome

浮點型

(11,2)

支出

ActInCome

浮點型

(11,2)

收入-支出

三、題目

1. 創建、修改、刪除數據庫 
(1)創建YGGL數據庫 
(2)刪除該數據庫

2. 創建、修改、刪除表 
(1)根據內容中表格的要求,創建員工信息(Employees) 
(2)刪除Employees表中Address字段 
(3)修改Employees表中Gender字段的默認值以及備注,改為默認值為1 
(4)修改Employees表中Gender字段名稱,改為Sex 
(5)顯示Employees中字段的所有屬性 
(6)創建部門信息(Departments)表 
(7)創建員工薪水情況(Salary)表 
(8)編寫觸發器,使創建或修改ActIncome時,都遵循: 
ActIncome = InCome - OutCome

3. 創建、修改、刪除字段

四、代碼及演示,以及易錯點

1. 創建、修改、刪除數據庫 
(1)創建YGGL數據庫 
‘CREATE DATABASE YGGL 

(2)刪除該數據庫 
‘DROP DATABASE YGGL 

2. 創建、修改、刪除表 
(1)根據內容中表格的要求,創建員工信息(Employees)

CREATE TABLE Employees1(

EmployeeID varchar(6) NOT NULL PRIMARY KEY COMMENT '員工編號,主鍵',

Name varchar(10) NOT NULL COMMENT '姓名',

Education varchar(4) NOT NULL COMMENT '學歷',

Birthday date NOT NULL COMMENT '出生日期',

Gender bit NOT NULL DEFAULT 0 COMMENT '性別,默認值為0' ,

WorkYear tinyint COMMENT '工作時間',

Address varchar(40) COMMENT '地址',

PhoneNumber varchar(12) COMMENT '電話號碼',

DepartmentID varchar(3) NOT NULL COMMENT '員工部門號,外鍵'

)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

 

(2)刪除Employees表中Address字段 
ALTER TABLE Employees DROP Address

 
在運行了代碼之后,有可能Address依然存在列表中,刷新也刷新不出來刪除后的界面,可以嘗試關掉數據庫重新進入

(3)修改Employees表增加字段Address 
ALTER TABLE Employees ADD Address varchar(40) COMMENT '地址' 

(4)修改Employees表中Gender字段的默認值以及備注,改為默認值為1 
ALTER TABLE Employees MODIFY COLUMN Gender bit COMMENT '性別,默認值為1 

(5)修改Employees表中Gender字段名稱,改為Sex(改完記得改回來哦,不然可能會影響下一次練習) 
ALTER TABLE Employees CHANGE Gender Sex bit DEFAULT 1 COMMENT '性別,默認值為1' 

 
(注意:改名稱時要同時重新指定數據類型,默認值,備注等)

(6)顯示Employees中字段的所有屬性 
首先,要進入information_schema的數據庫 
USE information_schema 
然后選擇yggl數據庫中的Employees表名進行查詢 
select * from COLUMNS where TABLE_SCHEMA='yggl' and TABLE_NAME='Employees'

 

(7)創建部門信息(Departments)表

CREATE TABLE Departments(

DepartmentID varchar(3) NOT NULL PRIMARY KEY COMMENT '部門編號,主鍵',

DepartmentName varchar(20) NOT NULL COMMENT '部門名',

Note varchar(100) COMMENT '備注'

)

  • 1
  • 2
  • 3
  • 4
  • 5

 

(8)增加Employees表中DepartmentID的約束,外鍵指向Departments表中的DepartmentID

ALTER TABLE Employees ADD CONSTRAINT department_employee FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)

  • 1

有可能遇到的錯誤:#1005 Errno 150

 

(9)員工薪水情況(Salary)表,並建立外鍵指向Employees表中的EmployeeID

CREATE TABLE Salary(

EmployeeID varchar(6) NOT NULL PRIMARY KEY,

InCome FLOAT(11,2) NOT NULL,

OutCome FLOAT(11,2) NOT NULL,

ActIncome FLOAT(11,2),

FOREIGN KEY(EmployeeID) references Employees(EmployeeID)

)

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

 
(10)編寫觸發器,使創建或修改ActIncome時,都遵循: 
ActIncome = InCome - OutCome

在插入數據時,會觸發addActIncome觸發器,計算ActIncome的值

CREATE TRIGGER addActIncome BEFORE INSERT ON salary

   FOR EACH ROW

     SET NEW.ActIncome = NEW.InCome - NEW.OutCome

 

在修改數據時,會觸發alterActIncome觸發器,重新計算ActIncome的值

CREATE TRIGGER alterActIncome BEFORE UPDATE ON salary

   FOR EACH ROW

     SET NEW.ActIncome=NEW.InCome-NEW.OutCome

  • 1
  • 2
  • 3

在此操作中,注意SET后面的語法, NEW.計算列 而不是只是計算列

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM