MySQL数据表的基本操作和基于 MySQL数据表的基本操作的综合实例项目(下)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: MySQL数据表的基本操作和基于 MySQL数据表的基本操作的综合实例项目(下)

6、修改sex字段的数据类型为CHAR(1),非空约束


mysql> ALTER TABLE employees MODIFY sex CHAR(1) NOT NULL;
Query OK, 0 rows affected (0.03 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC employees;
+----------------+--------------+------+-----+---------+----------------+
| Field          | Type         | Null | Key | Default | Extra          |
+----------------+--------------+------+-----+---------+----------------+
| employeeNumber | int          | NO   | PRI | NULL    | auto_increment |
| lastName       | varchar(50)  | NO   |     | NULL    |                |
| firstName      | varchar(50)  | NO   |     | NULL    |                |
| officeCode     | int          | NO   | MUL | NULL    |                |
| mobile         | varchar(25)  | YES  | UNI | NULL    |                |
| jobTile        | varchar(50)  | NO   |     | NULL    |                |
| emoloyee_birth | datetime     | YES  |     | NULL    |                |
| note           | varchar(255) | YES  |     | NULL    |                |
| sex            | char(1)      | NO   |     | NULL    |                |
+----------------+--------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)

可以看到,数据表employees的sex字段的数据类型已经修改为了CHAR(1)。


7、删除字段note


mysql> ALTER TABLE employees DROP note;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC employees;
+----------------+-------------+------+-----+---------+----------------+
| Field          | Type        | Null | Key | Default | Extra          |
+----------------+-------------+------+-----+---------+----------------+
| employeeNumber | int         | NO   | PRI | NULL    | auto_increment |
| lastName       | varchar(50) | NO   |     | NULL    |                |
| firstName      | varchar(50) | NO   |     | NULL    |                |
| officeCode     | int         | NO   | MUL | NULL    |                |
| mobile         | varchar(25) | YES  | UNI | NULL    |                |
| jobTile        | varchar(50) | NO   |     | NULL    |                |
| emoloyee_birth | datetime    | YES  |     | NULL    |                |
| sex            | char(1)     | NO   |     | NULL    |                |
+----------------+-------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)


可以看到,数据表employees的note字段的已经删除了。


8、增加字段名称为favorite_activity,数据类型为VARCHAR(100)

mysql> ALTER TABLE employees ADD favorite_activity VARCHAR(100);
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> DESC employees;
+-------------------+--------------+------+-----+---------+----------------+
| Field             | Type         | Null | Key | Default | Extra          |
+-------------------+--------------+------+-----+---------+----------------+
| employeeNumber    | int          | NO   | PRI | NULL    | auto_increment |
| lastName          | varchar(50)  | NO   |     | NULL    |                |
| firstName         | varchar(50)  | NO   |     | NULL    |                |
| officeCode        | int          | NO   | MUL | NULL    |                |
| mobile            | varchar(25)  | YES  | UNI | NULL    |                |
| jobTile           | varchar(50)  | NO   |     | NULL    |                |
| emoloyee_birth    | datetime     | YES  |     | NULL    |                |
| sex               | char(1)      | NO   |     | NULL    |                |
| favorite_activity | varchar(100) | YES  |     | NULL    |                |
+-------------------+--------------+------+-----+---------+----------------+
9 rows in set (0.00 sec)

可以看到,数据表employees已经增加字段名称为favorite_activity,数据类型为VARCHAR(100)。


9、修改数据表employees存储引擎为MyISAM


1、删除外键约束

mysql> ALTER TABLE employees DROP FOREIGN KEY office_fk;
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

2、修改数据表employees存储引擎为MyISAM

mysql> ALTER TABLE employees ENGINE=MyISAM;
Query OK, 0 rows affected (0.02 sec)
Records: 0  Duplicates: 0  Warnings: 0
mysql> SHOW CREATE TABLE employees\G;
*************************** 1. row ***************************
       Table: employees
Create Table: CREATE TABLE `employees` (
  `employeeNumber` int NOT NULL AUTO_INCREMENT,
  `lastName` varchar(50) NOT NULL,
  `firstName` varchar(50) NOT NULL,
  `officeCode` int NOT NULL,
  `mobile` varchar(25) DEFAULT NULL,
  `jobTile` varchar(50) NOT NULL,
  `emoloyee_birth` datetime DEFAULT NULL,
  `sex` char(1) NOT NULL,
  `favorite_activity` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`employeeNumber`),
  UNIQUE KEY `mobile` (`mobile`),
  KEY `office_fk` (`officeCode`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
1 row in set (0.00 sec)

可以看到存储引擎已经变为了


ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci


可以看到,已经将数据表employees的存储引擎修改为了MyISAM。


10、将数据表employees名称修改为employees_info

mysql> ALTER TABLE employees RENAME employees_info;
Query OK, 0 rows affected (0.01 sec)
mysql> SHOW TABLES;
+-------------------+
| Tables_in_company |
+-------------------+
| employees_info    |
| offices           |
+-------------------+
2 rows in set (0.00 sec)


可以看到,已经将数据表employees的名称修改为employees_info。


11、删除数据表employees_info

mysql> DROP TABLE employees_info;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW TABLES;
+-------------------+
| Tables_in_company |
+-------------------+
| offices           |
+-------------------+
1 row in set (0.00 sec)

可以看到,已经将数据表employees删除了。


二、用Navicat实现案例过程


1、新建查询


进入Navicat软件好,新建一个创建数据库的查询。

在查询中编写如下的SQL语句,如下所示。

-- 1、创建数据库company
CREATE DATABASE company;
-- 2、创建数据表offices
USE company;
CREATE TABLE offices
(
  officeCode INT(10) NOT NULL UNIQUE,
  city VARCHAR(50) NOT NULL,
  address VARCHAR(50),
  country VARCHAR(50) NOT NULL,
  postalCode VARCHAR(15),
  PRIMARY KEY(officeCode)
);
-- 3、创建数据表employees
CREATE TABLE employees
(
  employeeNumber INT(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
  lastName VARCHAR(50) NOT NULL,
  firstName VARCHAR(50) NOT NULL,
  mobile VARCHAR(25) UNIQUE,
  officeCode INT(10)      NOT NULL,
  jobTile VARCHAR(50) NOT NULL,
  birth DATETIME NOT NULL,
  note VARCHAR(255),
  sex VARCHAR(5),
  CONSTRAINT office_fk FOREIGN KEY(officeCode) REFERENCES offices(officeCode)
);
-- 4、将数据表employees的mobile字段修改到officeCode字段后面
ALTER TABLE employees MODIFY mobile VARCHAR(25) AFTER officeCode;
DESC employees;
-- 5、将数据表employees的birth字段修改名称为employee_birth
ALTER TABLE employees CHANGE birth employee_birth DATETIME;
DESC employees;
-- 6、修改sex字段的数据类型为CHAR(1),非空约束
ALTER TABLE employees MODIFY sex CHAR(1) NOT NULL;
DESC employees;
-- 7、删除字段note
ALTER TABLE employees DROP note;
DESC employees;
-- 8、增加字段名称为favorite_activity,数据类型为VARCHAR(100)
ALTER TABLE employees ADD favorite_activity VARCHAR(100);
DESC employees;
-- 9、修改数据表employees存储引擎为MyISAM
ALTER TABLE employees DROP FOREIGN KEY office_fk;
ALTER TABLE employees ENGINE=MyISAM;
SHOW CREATE TABLE employees;
-- 10、将数据表employees名称修改为employees_info
ALTER TABLE employees RENAME employees_info;
SHOW TABLES;
-- 11、删除数据表employees_info;
DROP TABLE employees_info;
SHOW TABLES;


2、运行过程


依次选择要运行的SQL语句。运行过程如下所示:

1、创建数据库company


159d1573924e4e929698a953bb563772.png


2、创建数据表offices


9c03663cc916447697b30bd4e35f4562.png


41c6f776ca7240d294b4bcc89b6e1f0e.png

3、创建数据表employees


0841b0e489b94e6f8437dc57928919b8.png


4、将数据表employees的mobile字段修改到officeCode字段后面


2f8edacd0d55450ba9cb2671b14fccb0.png


cd9fb52ac2e049e382070b8d3fedf7c6.png


5、将数据表employees的birth字段修改名称为employee_birth

29786f504a9146ccaf8a57e690596cf6.png

2f12efd24a0d4c93878b495b4b062b34.png


6、修改sex字段的数据类型为CHAR(1),非空约束

8b0634dac6c94a8f879614ae16566217.png


fb295992c5214d5d98de4a72e6cb34f0.png


7、删除字段note


dda120773d2d4f9da20c2f6ed0e048cf.png

185c385719d94b398c3ce43df2e04736.png



8、增加字段名称为favorite_activity,数据类型为VARCHAR(100)


5cddf76d96e14ffcb26d4d4d415ec1f4.png660acc0f794c40fca142209feef0ef91.png

9、修改数据表employees存储引擎为MyISAM



d64695d0a9244455b4a3178da57d666b.png


ac08c7e01c69475ebb43c08cb5ce57fd.png


09846749a20f49859b6d5574e6942e04.png

10、将数据表employees名称修改为employees_info



13d7ac7480fd4befab0f13c2a6d054d4.png



551d0243022347858b58cf858a8c2ba2.png


11、删除数据表offices


6f5b074d80d645e5904611770a8ade86.png


ec13faaf521e40feb3b38134989e4cae.png


总结


本文主要介绍了MySQL中数据表的各种操作:

创建数据表、添加各类约束、查看数据表表结构,修改数据表和删除数据 表。使读者可以很快掌握MySQL数据库中关于创建数据表、添加各类约束、查看数据表表结构,修改数据表和删除数据表的基本使用方法。另外还介绍了分别使用cmd环境和Navicat软件环境中创建数据表表、添加各类约束、查看数据表表结构,修改数据表和删除数据表的使用方法。

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
16天前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
17天前
|
存储 弹性计算 关系型数据库
如何通过控制台创建RDS MySQL实例
本文介绍了通过控制台创建RDS MySQL实例的详细步骤,包括准备工作、选择计费方式、地域、实例规格、存储空间等关键配置,并指导用户完成下单与实例查看。
|
30天前
|
存储 关系型数据库 MySQL
【赵渝强老师】MySQL数据库的多实例环境
MySQL多实例是指在一台服务器上运行多个MySQL服务,通过不同端口提供独立的数据服务。各实例共享安装程序,但使用各自的配置文件和数据文件,实现资源高效利用。本文详细介绍了如何通过“mysqld_multi”工具配置和启动多个MySQL实例,并演示了目录创建、初始化、配置文件修改及实例启动等操作步骤。
|
4月前
|
Java 关系型数据库 MySQL
在Linux平台上进行JDK、Tomcat、MySQL的安装并部署后端项目
现在,你可以通过访问http://Your_IP:Tomcat_Port/Your_Project访问你的项目了。如果一切顺利,你将看到那绚烂的胜利之光照耀在你的项目之上!
299 41
|
3月前
|
关系型数据库 MySQL
MySQL数据表添加字段(三种方式)
本文解析了数据表的基本概念及字段添加方法。在数据表中,字段是纵向列结构,记录为横向行数据。MySQL通过`ALTER TABLE`指令支持三种字段添加方式:1) 末尾追加字段,直接使用`ADD`语句;2) 首列插入字段,通过`FIRST`关键字实现;3) 指定位置插入字段,利用`AFTER`指定目标字段。文内结合`student`表实例详细演示了每种方法的操作步骤与结构验证,便于理解与实践。
|
5月前
|
SQL Oracle 关系型数据库
在MySQL Shell里 重启MySQL 8.4实例
在MySQL Shell里 重启MySQL 8.4实例
141 2
|
7月前
|
人工智能 JavaScript 关系型数据库
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
233 14
【02】Java+若依+vue.js技术栈实现钱包积分管理系统项目-商业级电玩城积分系统商业项目实战-ui设计图figmaUI设计准备-figma汉化插件-mysql数据库设计-优雅草卓伊凡商业项目实战
|
9月前
|
NoSQL Java 关系型数据库
Liunx部署java项目Tomcat、Redis、Mysql教程
本文详细介绍了如何在 Linux 服务器上安装和配置 Tomcat、MySQL 和 Redis,并部署 Java 项目。通过这些步骤,您可以搭建一个高效稳定的 Java 应用运行环境。希望本文能为您在实际操作中提供有价值的参考。
587 26
|
10月前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
199 8
|
10月前
|
关系型数据库 MySQL 数据库
【赵渝强老师】启动与关闭MySQL数据库实例
MySQL数据库安装完成后,可以通过命令脚本启动、查看状态、配置开机自启、查看自启列表及关闭数据库。本文提供了详细的操作步骤和示例代码,并附有视频讲解。
140 0

推荐镜像

更多