MySQL数据库开发进阶:精通数据库表的创建与管理22

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 【7月更文挑战第22天】数据库的创建与删除,数据表的创建与管理

据库的创建与删除,数据表的创建与管理
一、MySQL 环境变量配置

为了方便在 CMD 命令行工具操作,我们配置一下 MySQL 的环境变量。

点击此电脑-->属性-->高级系统设置-->环境变量--->在系统变量里面点击新建系统变量,如下:
1721207086982.png

把新建的 mysql 变量添加到 Path 路径变量中,添加以下的内容,点击确定即可。

%mysql%\bin

环境变量配置好之后,就不需要进入到C:\devProgram\mysql\bin 目录下,才能执行 MySQL 命令,可以直接打开 CMD 登录 MySQL 进行使用。

二.数据库的创建与删除

1、数据库的创建

数据库安装好之后,MySQL 默认的数据库有 4 个,我们一般用不到。在我们使用时,需要创建自己的数据库,也是使用 MySQL 数据库的前提。

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
在登录 MySQL 服务后,使用 create 命令创建数据库,语法如下:

CREATE DATABASE 数据库名称;
--创建testdb数据库
create database testdb;

image.png

数据库创建之后,我们可以使用如下命令查看数据库的定义:

show create database testdb;
mysql> show create database testdb;
+----------+-----------------------------------------------------------------+
| Database | Create Database |
+----------+-----------------------------------------------------------------+
| testdb | CREATE DATABASE testdb /!40100 DEFAULT CHARACTER SET utf8 / |
+----------+-----------------------------------------------------------------+
1 row in set (0.00 sec)
2、数据库的删除

使用 drop 命令删除数据库

drop database 数据库名称;
--创建testdb数据库
drop database testdb;
image.png

在使用 drop 命令删除数据库过程时,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失,包括数据库下面创建的表,而且没有确认过程。

三、创建数据表

在数据库中,数据表是重要的操作对象,是存储数据的基本单位。数据表是按照行和列来存储的,每行代码一条记录,每列代表一个属性。

1、创建数据表

创建 MySQL 数据表需要指定:表名、字段名、字段的数据类型。

在创建数据表之前,需要使用 use 命令选择一个数据库。

create table user(
id int(8) primary key auto_increment,
code varchar(32) unique not null,
name varchar(32),
age int(4)
);
image.png

primary key:设置主键

auto_increment:设置数字自增长

unique:设置唯一约束

not null:设置字段不能为空

2、查看表信息

可以使用 desc 命令查看表结构。

mysql> show tables;
+------------------+
| Tables_in_testdb |
+------------------+
| user |
+------------------+
1 row in set (0.00 sec)

mysql> desc user;
+-------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+----------------+
| id | int(8) | NO | PRI | NULL | auto_increment |
| code | varchar(32) | NO | UNI | NULL | |
| name | varchar(32) | YES | | NULL | |
| age | int(4) | YES | | NULL | |
+-------+-------------+------+-----+---------+----------------+
4 rows in set (0.00 sec)
可以使用 show create table 命令查看表的详细信息,加上 \G 输出的效果更好。

mysql> show create table user \G
* 1. row *
Table: user
Create Table: CREATE TABLE user (
id int(8) NOT NULL AUTO_INCREMENT,
code varchar(32) NOT NULL,
name varchar(32) DEFAULT NULL,
age int(4) DEFAULT NULL,
PRIMARY KEY (id),
UNIQUE KEY code (code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
1 row in set (0.00 sec)

四、修改数据表

表创建之后,如果想要修改数据表,我们可以使用 alter table 命令来修改。

1、修改表名

语法:
alter table 旧表名 rename 新表名;
--把user表改名为user_info
alter table user rename user_info;
image.png

2、修改字段的数据类型

语法:
alter table 表名 modify 字段名 字段类型;
--把user_info表的name字段的数据类型调整为varchar(64)
alter table user_info modify name varchar(64);
image.png

3、修改字段名

语法:
alter table 表名 change 旧字段名 新字段名 数据类型;
--修改user_info表的name字段为user_name,数据类型保持不变
alter table user_info change name user_name varchar(64);

image.png

4、添加字段

语法:
alter table 表名 add 字段名 数据类型;
--在user_info表里添加address字段,数据类型为varchar(128)
alter table user_info add address varchar(128);
image.png

5、在指定的列之后添加字段

语法:
alter table 表名 add 字段名 数据类型 after 指定的字段名;
--在user_info表里user_name字段后添加sex字段,数据类型为int(1)
alter table user_info add sex int(1) after user_name;
image.png

6、删除字段

语法:
alter table 表名 drop 字段名;
--删除user_info表里的address字段
alter table user_info drop address;
image.png

7、添加索引

语法:
alter table 表名 add index 索引名(字段名);
--为user_info表里的user_name字段添加名为idx_user_name的索引
alter table user_info add index idx_user_name(user_name);
image.png

8、删除索引
语法:
alter table 表名 drop index 索引名;
--删除user_info表里的user_name字段的索引idx_user_name
alter table user_info drop index idx_user_name;
image.png

五、删除数据表
删除数据表非常简单,但是在操作时一定要小心,会把表里的数据一起删掉,因此需要谨慎操作。
语法:
drop table 表名;
--删除user_info表
drop table user_info;
image.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
14天前
|
前端开发 数据库 Python
用Python轻松开发数据库取数下载工具
用Python轻松开发数据库取数下载工具
|
11天前
|
前端开发 C# 设计模式
“深度剖析WPF开发中的设计模式应用:以MVVM为核心,手把手教你重构代码结构,实现软件工程的最佳实践与高效协作”
【8月更文挑战第31天】设计模式是在软件工程中解决常见问题的成熟方案。在WPF开发中,合理应用如MVC、MVVM及工厂模式等能显著提升代码质量和可维护性。本文通过具体案例,详细解析了这些模式的实际应用,特别是MVVM模式如何通过分离UI逻辑与业务逻辑,实现视图与模型的松耦合,从而优化代码结构并提高开发效率。通过示例代码展示了从模型定义、视图模型管理到视图展示的全过程,帮助读者更好地理解并应用这些模式。
27 0
|
11天前
|
SQL 数据采集 关系型数据库
|
11天前
|
数据库 关系型数据库 MySQL
惊!Hibernate与MySQL的绝密优化技巧大揭秘,让你的数据库飞起来!
【8月更文挑战第31天】在企业应用开发中,结合使用持久层框架Hibernate与数据库管理系统MySQL可显著提升数据库交互效率。本文探讨了多项优化策略,包括配置二级缓存、采用单向关联减少JOIN操作、优化HQL查询语句以及合理使用MySQL索引。通过具体示例,文章详细讲解了如何实施这些优化措施,以期为企业应用提供更高效稳定的数据支持。
20 0
|
11天前
|
SQL 关系型数据库 数据库连接
Entity Framework Core 入门教程来袭!快速上手强大的 ORM 工具,开启高效数据库开发之旅!
【8月更文挑战第31天】Entity Framework Core(EF Core)是一个轻量且可扩展的对象关系映射(ORM)框架,允许开发者使用 .NET 语言操作数据库而无需直接编写 SQL 语句。本教程涵盖 EF Core 的安装、数据库上下文创建、数据库连接配置及常见数据库操作(如添加、查询、更新和删除),并介绍如何利用数据库迁移功能安全地更改数据库结构。通过本教程,你可以快速掌握 EF Core 的基本用法,提高开发效率。
17 0
|
11天前
|
SQL 关系型数据库 MySQL
SQL Server、MySQL、PostgreSQL:主流数据库SQL语法异同比较——深入探讨数据类型、分页查询、表创建与数据插入、函数和索引等关键语法差异,为跨数据库开发提供实用指导
【8月更文挑战第31天】SQL Server、MySQL和PostgreSQL是当今最流行的关系型数据库管理系统,均使用SQL作为查询语言,但在语法和功能实现上存在差异。本文将比较它们在数据类型、分页查询、创建和插入数据以及函数和索引等方面的异同,帮助开发者更好地理解和使用这些数据库。尽管它们共用SQL语言,但每个系统都有独特的语法规则,了解这些差异有助于提升开发效率和项目成功率。
70 0
|
20天前
|
SQL 关系型数据库 MySQL
【揭秘】MySQL binlog日志与GTID:如何让数据库备份恢复变得轻松简单?
【8月更文挑战第22天】MySQL的binlog日志记录数据变更,用于恢复、复制和点恢复;GTID为每笔事务分配唯一ID,简化复制和恢复流程。开启binlog和GTID后,可通过`mysqldump`进行逻辑备份,包含binlog位置信息,或用`xtrabackup`做物理备份。恢复时,使用`mysql`命令执行备份文件,或通过`innobackupex`恢复物理备份。GTID模式下的主从复制配置更简便。
86 2
|
15天前
|
弹性计算 关系型数据库 数据库
手把手带你从自建 MySQL 迁移到云数据库,一步就能脱胎换骨
阿里云瑶池数据库来开课啦!自建数据库迁移至云数据库 RDS原来只要一步操作就能搞定!点击阅读原文完成实验就可获得一本日历哦~
|
19天前
|
关系型数据库 MySQL 数据库
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
RDS MySQL灾备服务协同解决方案构建问题之数据库备份数据的云上云下迁移如何解决
|
16天前
|
人工智能 小程序 关系型数据库
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
本文以热门游戏《黑神话:悟空》为契机,深入浅出地解析了数据库事务的四种隔离级别:读未提交、读已提交、可重复读和串行化。通过具体示例,展示了不同隔离级别下的事务行为差异及可能遇到的问题,如脏读、不可重复读和幻读等。此外,还介绍了在MySQL中设置隔离级别的方法,包括全局和会话级别的调整,并通过实操演示了各隔离级别下的具体效果。本文旨在帮助开发者更好地理解和运用事务隔离级别,以提升数据库应用的一致性和性能。
94 2
【MySQL】黑悟空都掌握的技能,数据库隔离级别全攻略
下一篇
DDNS