MySQL实战必备文章。DDL常用命令汇总及登录数据库相关命令!

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: MySQL实战必备文章。DDL常用命令汇总及登录数据库相关命令!

介绍

  • DDL(Data Definition Languages)语句:即数据库定义语句

对于数据库而言实际上每一张表都表示是一个数据库的对象,而数据库对象指的就是DDL定义的所有操作,例如:表,视图,索引,序列,约束等等,都属于对象的操作,所以表的建立就是对象的建立,而对象的操作主要分为以下三类语法

  1. 创建对象:CREATE 对象名称;
  2. 删除对象:DROP 对象名称;
  3. 修改对象:ALTER 对象名称;

DDL 命令

  • 数据库的安装相关操作再此就不在为大家演示了,直接进入正题!

数据库相关操作

5f8372683b094d39ae3555a0431db965.gif

一. 创建数据库

  • 语法:create database 数据库名字;
mysql> create database sqltest;
  • 结果:
  • eafc5281bb574243a3f086a31b6f8e5c.png

二. 查看已经存在的数据库

  • 语法:show databases;
mysql> show databases;

结果:

73f05f84b5e24eb381f380dc9784cb83.png

可以发现,在上面的列表中除了刚刚创建的 mzc-test,sqltest,外,还有另外 4 个数据库,它们都是安装MySQL 时系统自动创建的,其各自功能如下

  1. information_schema:主要存储了系统中的一些数据库对象信息。比如用户表信息、列信息、权限信息、字符集信息、分区信息等。
  2. cluster:存储了系统的集群信息。
  3. mysql:存储了系统的用户权限信息。
  4. test:系统自动创建的测试数据库,任何用户都可以使用。

三. 选择数据库

  • 语法:use 数据库名;
mysql> use mzc-test;


返回Database changed代表我们已经选择 sqltest 数据库,后续所有操作将在 sqltest 数据库上执行。


95bcb35d5acb40e98ef4d1d6f6d0c64d.png

  • 有些人可能会问到,连接以后怎么退出。其实,不用退出来,use 数据库后,使用show databases就能查询所有数据库,如果想跳到其他数据库,用use 其他数据库名字。

四. 查看数据库中的表

  • 语法:show tables;
mysql> show tables;

结果:

2f3976d4973f4f55b17f462ec15b72df.png

五. 删除数据库

  • 语法:drop database 数据库名称;
mysql> drop database mzc-test;

结果:

28cd147f278d465cb89cc5d9021d9ea6.png

  • 注意:删除时,最好用 `` 符号把表明括起来

数据库表相关操作


一. 创建表

语法:create table 表名 {列名,数据类型,约束条件};

CREATE TABLE `Student`(
  `s_id` VARCHAR(20),
  `s_name` VARCHAR(20) NOT NULL DEFAULT '',
  `s_birth` VARCHAR(20) NOT NULL DEFAULT '',
  `s_sex` VARCHAR(10) NOT NULL DEFAULT '',
  PRIMARY KEY(`s_id`)
);

结果

58f111836ea84134ac9d67f65c728bda.png

注意:表名还请遵守数据库的命名规则,这条数据后面要进行删除,所以首字母为大写。

二. 查看表定义

  • 语法:desc 表名
mysql> desc Student;
  • 结果:

0ff854714afb4e6b9a859e98cef55d66.png

  • 虽然 desc 命令可以查看表定义,但是其输出的信息还是不够全面,为了查看更全面的表定义信息,有时就需要通过查看创建表的 SQL 语句来得到,可以使用如下命令实现
  • 语法:show create table 表名 \G;
mysql> show create table Student \G;

结果:

e2ab9e77231a44baad0a51c20d6e550b.png

  • 从上面表的创建 SQL 语句中,除了可以看到表定义以外,还可以看到表的engine(存储引擎)和charset(字符集)等信息。\G选项的含义是使得记录能够按照字段竖着排列,对于内容比较长的记录更易于显示。

三. 删除表

  • 语法:drop table 表名
mysql> drop table Student;
  • 结果:

2409c00136ea481294b62aa6c478389b.png


四. 修改表 (重要)


对于已经创建好的表,尤其是已经有大量数据的表,如果需要对表做一些结构上的改变,我们可以先将表删除(drop),然后再按照新的表定义重建表。这样做没有问题,但是必然要做一些额外的工作,比如数据的重新加载。而且,如果有服务在访问表,也会对服务产生影响。因此,在大多数情况下,表结构的更改一般都使用 alter table语句,以下是一些常用的命令。

1. 修改表类型

语法:ALTER TABLE 表名 MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

例如,修改表 student 的 s_name 字段定义,将 varchar(20)改为 varchar(30)

mysql> alter table Student modify s_name varchar(30);

结果:

94968663b88c44eeb62cc1d35e0b2aa7.png

增加表字段

  • 语法:ALTER TABLE 表名 ADD [COLUMN] [FIRST | AFTER col_name];
  • 例如,表 student 上新增加字段 s_test,类型为 int(3)
mysql> alter table student add column s_test int(3);

结果:

df997c4a64ea49c5a57348fb51313a19.png

3. 删除表字段

  • 语法:ALTER TABLE 表名 DROP [COLUMN] col_name
  • 例如,将字段 s_test 删除掉
mysql> alter table Student drop column s_test;

结果:

74afa84ea422434b9cc4844f504f9b37.png

注意:change 和 modify 都可以修改表的定义,不同的是 change 后面需要写两次列名,不方便。但是 change 的优点是可以修改列名称,modify 则不能。

5. 修改字段排列顺序

前面介绍的的字段增加和修改语法(ADD/CNAHGE/MODIFY)中,都有一个可选项first|after column_name,这个选项可以用来修改字段在表中的位置,默认 ADD 增加的新字段是加在表的最后位置,而 CHANGE/MODIFY 默认都不会改变字段的位置。


例如,将新增的字段 s_test 加在 s_id 之后


语法:alter table 表名 add 列名 数据类型 after 列名;

mysql> alter table Student add s_test date after s_id;

结果:

fcc52c86f50c4e0988cab7be12d52d4a.png

  • 修改已有字段 s_name,将它放在最前面
mysql> alter table Student modify s_name varchar(30) default '' first;
  • 结果:
  • 66f566832b95427f9d02c1bd9ccf6a84.png
  • 注意:CHANGE/FIRST|AFTER COLUMN 这些关键字都属于 MySQL 在标准 SQL 上的扩展,在其他数据库上不一定适用。

6.表名修改

  • 语法:ALTER TABLE 表名 RENAME [TO] new_tablename
  • 例如,将表 Student 改名为 student
mysql> alter table Student rename student;

结果:

2773e6372c3f4d969a4192b4a2c2a563.png

其他不常用命令

  • 剩下的命令在这就不一一演示了,大家下去可以自行测试。
语法 作用
create view view_name as select id fROMtb_name; 定义视图
alter table tb_name add columntexttext [first/after 已存在的列名 ]; 添加一个text列
later table tb_name change 旧列名 新列名 数据类型; 修改表的一个列的列名
alter table tb_name modify 列名 新数据类型; 修改某列的数据类型
alter table tb_name rename 新表名; 修改表的名字
alter table tb_name engine=innoDB/MyISAM… 修改表的存储引擎


alter table tb_name add index idx_name on tb_name(id); 创建普通索引索引idx_name基于id列
alter table add unique(name); 创建唯一索引name
alter table add primary key(列名) 添加主键索引
alter table tb_name drop 列名; 删除表的某列
drop index index_name on tb_name; 删除表的某个索引
show index from tb_name; 查看表的索引

登录数据库相关命令

一. 启动服务

语法:

mysql> net stop mysql

二. 关闭服务

语法:

mysql> net start mysql

三. 链接MySQL

  • 语法:mysql -u用户名 -p密码;
root@243ecf24bd0a:/ mysql -uroot -p123456;

在以上命令行中,mysql 代表客户端命令,-u 后面跟连接的数据库用户,-p 表示需要输入密码。如果数据库设置正常,并输入正确的密码,将看到上面一段欢迎界面和一个 mysql>提示符。

ed219eb883da4bb8937e7deed1aa694c.png

四. 退出数据库

  • 语法:quit
mysql> quit

结果:

e5e9c07eaefa49e29ee523ee0676c0e3.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
14天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
29 1
|
16天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
29 4
|
23天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
113 1
|
10天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
104 0
|
1月前
|
存储 SQL 关系型数据库
Mysql学习笔记(二):数据库命令行代码总结
这篇文章是关于MySQL数据库命令行操作的总结,包括登录、退出、查看时间与版本、数据库和数据表的基本操作(如创建、删除、查看)、数据的增删改查等。它还涉及了如何通过SQL语句进行条件查询、模糊查询、范围查询和限制查询,以及如何进行表结构的修改。这些内容对于初学者来说非常实用,是学习MySQL数据库管理的基础。
132 6
|
1月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
64 3
Mysql(4)—数据库索引
|
1月前
|
SQL Ubuntu 关系型数据库
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
本文为MySQL学习笔记,介绍了数据库的基本概念,包括行、列、主键等,并解释了C/S和B/S架构以及SQL语言的分类。接着,指导如何在Windows和Ubuntu系统上安装MySQL,并提供了启动、停止和重启服务的命令。文章还涵盖了Navicat的使用,包括安装、登录和新建表格等步骤。最后,介绍了MySQL中的数据类型和字段约束,如主键、外键、非空和唯一等。
71 3
Mysql学习笔记(一):数据库详细介绍以及Navicat简单使用
|
25天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
74 2
|
28天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
103 4
|
1月前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
下一篇
无影云桌面