【MySQL学习笔记】数据库/数据表的创建、查看、选择与修改

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: MySQL服务器中的数据库可以有多个,分别存储不同的数据。要想将数据存储到数据库中,首先需要创建一个数据库。创建数据库就是在数据库系统中划分一块存储数据的空间。

MySQL数据库原理


哈喽大家好~

这里是MYSQL数据库原理学习笔记专栏第二期

本期内容——数据库/数据表的创建、查看、选择与修改

上期内容——数据库基础知识

欢迎大佬指正,一起学习,一起加油~


93fe5f9b5fc0439bb9925ca26b3215e9.gif


前言


在MySQL数据库的学习中,数据库、数据表和数据的操作,不仅仅是必须掌握的内容,也是学习后续的基础噢~


本期主要内容为:

数据库的创建、查看、选择与删除

数据表的创建、查看、选择与删除


一、数据库操作


1、创建数据库


MySQL服务器中的数据库可以有多个,分别存储不同的数据。要想将数据存储到数据库中,首先需要创建一个数据库。创建数据库就是在数据库系统中划分一块存储数据的空间。


TIPS:创建数据库就是在存储数据的文件夹data下生成一个与数据库同名的目录,用于保存此数据库相关的内容。


基本语法如下:


create database 数据库名称 [库选项];


如图:我们先创建一个mydb的数据库,然后用show databases; 查看数据库,就可以看到创建的数据库了。


e00646e248c644d482c69f8d9ba49027.png


如果创建的数据库已经存在,则程序会报错。为了防止这种情况的发生,我们在创建数据库时可以在数据库名称前添加 if not exists,表示指定的数据库不存在时执行创建操作,否则忽略此操作。


如图,再次创建一个mydb的数据库,会发现没有发生错误,但是服务器给出了警告。此时,我们用show warnings;查看警告,会发现它提示数据库已经存在,不能再次创建。


4d071c82b9634a5fa002f78ce63ba228.png


2、查看数据库


数据库创建完成后,我们可以查看数据库,查看数据库有以下两种方法:


查看MySQL服务器下所有数据库


查看MySQL服务器中已经存在的数据库时,语法如下:


show databases;


如下,在输出结果中,有五个数据库,其中mydb是手动创建的数据库,其他数据库都是MySQL安装时自动创建的。


information_schema数据库是服务器的数据字典,用于保存所有数据表和库的结构信息;


performance_schema数据库是服务器的性能字典,用于保存全局变量等的设置;


mysql数据库主要负责MySQL服务器自己需要使用的控制和管理信息;


sys是系统数据库,包括了存储过程、自定义函数等信息。


45dc68d91c8248dc966a4c6204379bee.png


查看指定数据库的创建信息


完成创建后,查看该数据库的信息,语法如下:


show create database 数据库名称;


如下,我们可以看到创建mydb数据库时的语句和数据库的默认字符集。


214aa63300224ce4822f418abd165281.png


3、选择数据库


在MySQL服务器中的数据存储在数据表中,而数据表需要存储到对应的数据库下,并且MySQL服务器中又可以同时存在多个数据库,所以我们在进行操作时,首先需要选择数据库。

如下:


use 数据库名称;


bfbe6c2a2ab74149b7378a5d4be7c0e3.png


4、删除数据库


如果要清楚数据库中的所有数据,回收为数据库分配的存储空间,则可以执行删除数据库的操作,语法如下:


drop database 数据库名称;


在删除数据库时,如果要删除的数据库不存在,则服务器会报错。因此,可以使用if exists,这里的方法和创建数据库相似。


8c59a7cc724a41ab9988b57b168be779.png


TIPS:在删除数据库时,要记得备份噢~


二、数据表操作


1、创建数据表


在MySQL中,所有的数据都存储在数据表中,若要进行添加、查看、修改、删除等操作,首先需要在指定的数据库中准备一张数据表。


语法如下:


create [temporary] table [if not exists] 表名
(字段名 字段类型 [字段属性] …) [表选项]


temporary:临时表,仅在当前会话中可见,并且在会话关闭时自动删除;

字段名:数据表列名;

字段类型:设置字段中保存的数据类型;

字段属性:字段的某些特殊约束条件;

表选项:设置表的相关特性。


如下,创建一个goods表:


631c6fbeacf148618a166224431f9901.png


2、查看数据表


查看数据表的语法格式如下:


show tables [like匹配模式];


4679b49ef7414b3aac1a96e4acd86bee.png


匹配模式符有两种,%表示匹配一个或者多个字符,字符长度不限,也可以为0,-只能匹配一个字符。


如下,先创建一个new_goods表,然后匹配new字符:


91718ebdcf14407c84d47fa907680ff6.png

4863b8e48f564be4bfeffa7819aeacb2.png


查看数据表的相关信息:


6f55455193c6403b89d92fb1dbc311bf.png


3、修改数据表


修改数据表名称


rename table 旧表名1 to 新表名1 [,旧表名2 to 新表名2] …


rename table 必须使用to,可以同时修改多个数据表的名称。


8cabbabe85514f8fbfc7e3e98d3ad191.png


修改表选项


数据表中的表选项字符集、存储引擎以及校对集也可以通过alter table修改,语法如下:


alter table 表名 表选项 [=] 值;


b63bec4ba375435e89184ad9bf16df4c.png


4、查看表结构


查看数据表的字段信息


describe语句可以查看数据表中所有字段或指定字段的信息,包括字段名、字段类型等。describe可以简写成desc,语法如下:


查看所有字段的信息

{describe | desc} 数据表名;

查看指定字段的信息

{describe | desc} 数据表名 字段名;


如下:

field:字段名称

type:字段的数据类型

null:该字段是否可以为空

key:该字段是否已经设置了索引

defalut:该字段是否有默认值

extra:获取到的与该字段相关的附加信息。


35b854b6bbaa44e3ac1187c924b3aff2.png


查看数据表的创建语句


如果想要查看创建数据表的具体SQL语句以及表的字符编码,则可以使用以下语句:


show create table 表名;


b2baf2c38c574b5f93586bd733dc1ad6.png


查看数据表结构


查看表结构用以下两种方法:


show [full] columns from 数据表名 [from 数据库名];

show [full] columns from 数据库名.数据表名;


其中full表示显示详细内容,如果不添加,则查询结果和desc的结果相同;如果添加,则不仅可以查看到desc语句查看的信息,也可以查看到字段的权限、comment字段的注释信息。


8ba3ecc4cead486d8863484aa2dbaa06.png


5、修改表结构


创建完数据表后,可以利用alter table 语法对字段名称、类型、位置等进行修改、增加或者删除,以下是几种常用的方法。


修改字段名


仅修改数据表中的字段名称,使用change实现,语法如下:


alter table 数据表名 change [column] 旧字段名 新字段名 字段类型 [字段属性];


旧字段名:字段修改前的名称

新字段名:字段修改后的名称

字段类型:新字段名的数据类型,不能为空,即使与旧字段名的数据类型相同,也必须重新设置。


3de8020a996c4626bb7cdb24f2e2193e.png


修改字段类型


仅修改数据表中的字段类型,通常使用modify实现,语法如下:


alter table 数据表名 modify [column] 字段名 新类型 [字段属性];


e3397f87e6c144d9ae557d06025f716c.png


修改字段的位置


数据表在创建时,字段编写的先后顺序就是其在数据库中存储的顺序,如果需要进行调整,也可以使用modify实现,语法如下:


alter table 数据表名 modify [column] 字段名1 数据类型 [字段属性] [first | after 字段名2];


first:表示将字段名1调整为数据表的第一个字段;

after 字段名2:表示将字段名1插入到字段名2的后面。


d1eab87e18f04c76b29db86bead3b5af.png


新增字段


新增一个字段,并且可以指定其位置:


alter table 数据表名 add [column] 新字段名 字段类型 [first | after 字段名];


同时新增多个字段:


alter table 数据表名 add [column] (新字段名1 字段类型1 ,新字段名2 字段类型2,…);


在不指定位置的情况下,新增的字段默认添加到表的最后,新增多个字段时不能指定字段位置。


948ca066becc4ca3b6aef0c43a60777a.png


删除字段


将某个字段从数据表中删除,通过drop完成,语法如下:


alter table 数据表名 drop [column] 字段名;


d31b204e7d1c45fca274384c43320444.png


6、删除数据表


删除数据表操作指的是删除指定数据库中已经存在的表,删除数据表的同时,存储在数据表中的数据都将被删除,语法如下:


drop [temporary] table [if exists] 数据表1 [,数据表2]…;


删除数据表时,可以同时删除多个数据表,多个数据表之间用逗号分隔,if exists 用于在删除一个不存在的数据表时,防止产生错误。


98befcf7ff3642f0994be7423be7c455.png


总结


以上就是今天的学习内容啦~

如果有兴趣的话可以订阅专栏,持续更新呢~

咱们下期再见~


5226c30d876842edab862a6b3edfc126.gif

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
8天前
|
关系型数据库 MySQL 分布式数据库
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
《MySQL 简易速速上手小册》第6章:MySQL 复制和分布式数据库(2024 最新版)
45 2
|
5天前
|
SQL 存储 关系型数据库
数据库开发之mysql前言以及详细解析
数据库开发之mysql前言以及详细解析
14 0
|
20天前
|
关系型数据库 MySQL 数据库
卸载云服务器上的 MySQL 数据库
卸载云服务器上的 MySQL 数据库
38 0
|
2天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL与NoSQL的主要区别在于数据结构、查询语言和可扩展性。MySQL是关系型数据库,依赖预定义的数据表结构,使用SQL进行复杂查询,适合垂直扩展。而NoSQL提供灵活的存储方式(如JSON、哈希表),无统一查询语言,支持横向扩展,适用于处理大规模、非结构化数据和高并发场景。选择哪种取决于应用需求、数据模型及扩展策略。
10 0
|
10天前
|
SQL 关系型数据库 MySQL
MySQL环境搭建——“MySQL数据库”
MySQL环境搭建——“MySQL数据库”
|
10天前
|
SQL NoSQL 关系型数据库
初识MySQL数据库——“MySQL数据库”
初识MySQL数据库——“MySQL数据库”
|
12天前
|
关系型数据库 MySQL 数据库
数据库基础(mysql)
数据库基础(mysql)
|
12天前
|
SQL 关系型数据库 数据库
【后端面经】【数据库与MySQL】SQL优化:如何发现SQL中的问题?
【4月更文挑战第12天】数据库优化涉及硬件升级、操作系统调整、服务器/引擎优化和SQL优化。SQL优化目标是减少磁盘IO和内存/CPU消耗。`EXPLAIN`命令用于检查SQL执行计划,关注`type`、`possible_keys`、`key`、`rows`和`filtered`字段。设计索引时考虑外键、频繁出现在`where`、`order by`和关联查询中的列,以及区分度高的列。大数据表改结构需谨慎,可能需要停机、低峰期变更或新建表。面试中应准备SQL优化案例,如覆盖索引、优化`order by`、`count`和索引提示。优化分页查询时避免大偏移量,可利用上一批的最大ID进行限制。
39 3
|
13天前
|
存储 关系型数据库 MySQL
【后端面经】【数据库与MySQL】为什么MySQL用B+树而不用B树?-02
【4月更文挑战第11天】数据库索引使用规则:`AND`用`OR`不用,正用反不用,范围中断。索引带来空间和内存代价,包括额外磁盘空间、内存占用和数据修改时的维护成本。面试中可能涉及B+树、聚簇索引、覆盖索引等知识点。MySQL采用B+树,因其利于范围查询和内存效率。数据库不使用索引可能因`!=`、`LIKE`、字段区分度低、特殊表达式或全表扫描更快。索引与NULL值处理在不同数据库中有差异,MySQL允许NULL在索引中的使用。
18 3
|
15天前
|
关系型数据库 MySQL 数据库连接
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
Django(四):Django项目部署数据库及服务器配置详解(MySQL)
46 11