MYSQL基础上机练习题(一) 数据库、表、字段的创建、修改、删除
来源:互联网 发布:淘宝邮寄国外多少费用 编辑:程序博客网 时间:2024/05/02 08:34
写这些MYSQL基础上机练习题的文章的目的主要是因为,在某一次碰见一家公司的数据分析师,希望能转行到做SQL上面,然而当我看到她对SQL的认知只是仅仅在背语句、甚至是不太清楚语句真正的意义的时候,发现很多人其实都缺少实际操作的能力。
而且很多教材中,很少有关于某一个数据库的从基础到综合应用的练习,所以在这里,从SQL SERVER的一本书中模仿了一些数据的格式,同时添加一些自己觉得比较重要的知识点,从基础做起,把日常能用到的数据库语句用一遍,让有需要的小白可以多练练手,以免纸上谈兵。
一、实验目的:
- 创建、修改、删除数据库
- 创建、修改、删除表
- 创建、修改、删除字段
二、内容:
创建一个用于企业管理的员工管理数据库,包括员工信息(Employees)、部门信息(Departments)、员工薪水情况(Salary)三个表,并对该数据库进行增删改查
Employees表
Departments表
Salary表
三、题目
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 '员工部门号,外键')
(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 '备注')
(8)增加Employees表中DepartmentID的约束,外键指向Departments表中的DepartmentID
ALTER TABLE Employees ADD CONSTRAINT department_employee FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID)
有可能遇到的错误:#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))
(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
在此操作中,注意SET后面的语法, NEW.计算列 而不是只是计算列
- MYSQL基础上机练习题(一) 数据库、表、字段的创建、修改、删除
- MYSQL基础上机练习题(二) 数据插入、修改、删除
- SQL数据库常用命令-创建,删除表-添加,修改,删除字段
- SQL数据库常用命令-创建,删除表-添加,修改,删除字段
- MYSQL基础上机练习题(四) 表连接
- oracle和mysql在创建表、更新表(增加、修改、删除字段)、删除表的区别与联系
- Oracle数据库 实例说明:表的创建、重命名、属性/字段/列的添加删除与修改
- Oracle下基础表(创建表/添加列/更改字段类型/删除字段/修改字段名/ 修改表名/删除表)
- mysql修改数据库表的字段
- 修改mysql数据库,表,字段 的字符集。
- SQL语句总结一||数据库的创建,表格的创建,基本表的删除和修改
- MYSQL基础上机练习题(三) 数据查询
- MYSQL基础上机练习题(五) GROUP BY子句应用
- MYSQL基础上机练习题(六) 排序问题综合应用
- MYSQL表的创建,修改和删除
- MySql---数据库和数据表的创建、修改及删除
- MySQL —— 数据库,数据表的创建,修改,删除
- MySQL数据库创建、修改和删除表操作实例
- java--流相关知识点
- 移植 LWIP 1.4.1 到 ucosii 的总结
- 卷积神经网络物体检测之感受野大小计算
- 使用crt链接虚拟机操作
- Javascript中的数据类型
- MYSQL基础上机练习题(一) 数据库、表、字段的创建、修改、删除
- SSL JudgeOnline 1457——翻币问题
- vim笔记(1)
- Solr的标准查询解析器Standard Query Parser
- LPC1768@100MHz和LPC1788@120MHz的PLL0设置
- http、TCP/IP协议与socket之间的区别
- linux查看端口占用命令
- 头文件的三种标准
- turtlebot学习——搭建Jetson TK1上位机