冬季实战营第三期:MySQL数据库进阶实战

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 参加阿里云开发者冬季实战营第三期:MySQL数据库进阶实战

MySQL数据库基础

1. 创建资源

在实验室页面,单击创建资源。
(可选)在实验室页面左侧导航栏中,单击云产品资源列表,可查看本次实验资源相关信息(例如IP地址、用户信息等)。

说明 资源创建过程需要1~3分钟。

2. 数据库启动与连接

数据库启动与连接
本小节主要介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL。

  1. 通过如下操作步骤,登录阿里云管理控制台,并进入云数据库RDS实例的管理页面。

1) 双击打开桌面 FireFox ESR浏览器,在RAM用户登录框中点击 下一步,复制 云产品资源 列表中 子用户密码 粘贴(lx shell粘贴快捷键ctrl+shift+v,其他地方粘贴是ctrl+v)到浏览器 RAM用户登录界面,即可登录当前子账号。

2)复制下方地址,在FireFox浏览器打开新页签,粘贴并访问RDS管理控制台。

https://rdsnext.console.aliyun.com/

3)在左侧导航栏,单击实例列表。

4)在【实例列表】页面中,首先,选择 云产品资源 中提供的 地域,然后单击已创建的RDS实例ID,进入实例的管理页面。

  1. 在实例详情页,单击左侧导航栏的【账号管理】,然后单击【创建账号】。
  2. 参考说明配置账号信息,然后单击【确定】。
  • 数据库账号:输入数据库账号名称,例如:test_user
  • 账号类型:此处选择高级权限账号
  • 密码:设置账号密码,例如:Password1213
  • 确认密码:再次输入密码
  1. 在实例详情页,单击左侧导航栏的【数据库管理】,然后单击【创建数据库】。
  2. 参考说明配置数据库信息,然后单击【创建】。
  • 数据库(DB)名称:输入数据库名称,例如:user_db
  • 支持字符集:默认设为utf8
  • 备注说明:非必填。用于备注该数据库的相关信息,便于后续数据库管理,最多支持256个字符
  1. 在数据库管理页面,单击页面右上方的【登录数据库】。
  2. 在输入框中,输入刚才创建的用户名和密码,单击【登录】。

登录成功,进入数据管理服务系统DMS。

3. 数据库表操作

数据库表操作
本小节主要介绍对数据库表的基本操作,其中包括新增、删除、更新和重命名等。

  1. 在DMS控制台上方,选择创建好的数据库user_db,然后单击【SQL操作】 > 【SQL窗口】

  1. 使用CREATE TABLE语句创建一个数据表。将以下语句复制到SQLConsole页签中,然后单击【执行】。
CREATE TABLE `USER` (
  `user_id` int(128) NOT NULL AUTO_INCREMENT,
  `name` varchar(64) NOT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`user_id`)
) ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci;

执行成功后,单击【刷新】查看创建的数据表。

  1. 使用ALTER TABLE语句更新数据表。将以下语句复制到SQLConsole页签中,然后单击执行。

在年龄age列后面,为USER表新增一列性别sex,0代表女,1代表男。

ALTER TABLE user ADD COLUMN sex tinyint(1) NOT NULL COMMENT 'sex,woman:0,man:1' AFTER `age`;
  1. 使用RENAME TABLE语句对数据表重命名。将以下语句复制到SQLConsole页签中,然后单击执行。

修改表名user为student。

RENAME TABLE USER TO student;

语句格式:

RENAME TABLE table_name_a TO table_name_b;
  1. 使用DROP TABLE语句删除数据表。将以下语句复制到SQLConsole页签中,然后单击执行。

说明:此操作不能撤销,请谨慎操作。

删除学生表。

DROP TABLE student;

语句格式:

DROP TABLE table_name;

4. 数据操作

数据操作
本小节主要为大家介绍MySQL中常用的数据查询、删除、更新、插入等基本操作。

  1. 使用CREATE TABLE语句创建一个数据表。将以下语句复制到SQLConsole页签中,然后单击【执行】。
CREATE TABLE `user` (
 `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
 `name` varchar(32) DEFAULT NULL COMMENT 'name',
 `age` int(11) DEFAULT NULL COMMENT 'age',
 `address` varchar(32) DEFAULT NULL COMMENT 'address',
 `sex` tinyint(1) DEFAULT NULL COMMENT 'sex,woman:0,man:1',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

执行成功后,单击【刷新】查看创建的数据表。

  1. 插入数据

插入语句说明:

  • table_name(col_name,...)中的字段名列表必须和values(expr,...)字段值列表一致。
  • 如果数据是字符型,必须使用单引号或者双引号。
  • 被AUTO_INCREMENT标记的自动递增的主键,在插入数据时,可以不设置值。

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

INSERT INTO USER
       (name, age, address, sex)
VALUES
       ('zhangsan', 21, 'jiangxi', 0),
       ('lisi', 22, 'hubei', 0),
       ('wangwu', 23, 'hunan', 0),
       ('lilei', 24, 'henan', 1),
       ('hanmeimei', 25, 'hebei', 1),
       ('xiaoming', 26, 'shandong', 1),
       ('xiaoli', 27, 'shanxi', 1) ;
  1. 查询数据

查询语句格式:

SELECT col_name,...
  FROM table_name
 WHERE where_condition
 GROUP BY col_name,...
HAVING where_condition
 ORDER BY col_name,...
 LIMIT offset,row_count

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

SELECT id,name,age,address,sex FROM user;
  1. 更新数据

更新语句格式:

UPDATE table_name SET col_name=expr,... WHERE where_condition

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

UPDATE `user` SET `age` = 28,`address` = 'sichuan' WHERE `name` = 'xiaoming' ;
  1. 删除数据

删除语句格式:

DELETE FROM table_name WHERE where_condition

将以下SQL语句复制到SQLConsole页签中,然后单击【执行】。

DELETE FROM `user` WHERE `name` = 'xiaoming' ;
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
19天前
|
SQL 存储 关系型数据库
不允许你不知道的 MySQL 优化实战(三)
不允许你不知道的 MySQL 优化实战(三)
26 1
|
23天前
|
关系型数据库 MySQL
【MySQL实战笔记】07 | 行锁功过:怎么减少行锁对性能的影响?-01
【4月更文挑战第18天】MySQL的InnoDB引擎支持行锁,而MyISAM只支持表锁。行锁在事务开始时添加,事务结束时释放,遵循两阶段锁协议。为减少锁冲突影响并发,应将可能导致最大冲突的锁操作放在事务最后。例如,在电影票交易中,应将更新影院账户余额的操作安排在事务末尾,以缩短锁住关键行的时间,提高系统并发性能。
15 4
|
24天前
|
关系型数据库 MySQL 数据库
【MySQL实战笔记】 06 | 全局锁和表锁 :给表加个字段怎么有这么多阻碍?-01
【4月更文挑战第17天】MySQL的锁分为全局锁、表级锁和行锁。全局锁用于全库备份,可能导致业务暂停或主从延迟。不加锁备份会导致逻辑不一致。推荐使用`FTWRL`而非`readonly=true`因后者可能影响其他逻辑且异常处理不同。表级锁如`lock tables`限制读写并限定操作对象,常用于并发控制。元数据锁(MDL)在访问表时自动加锁,确保读写正确性。
70 31
|
19天前
|
SQL 关系型数据库 MySQL
不允许你不知道的 MySQL 优化实战(二)
不允许你不知道的 MySQL 优化实战(二)
26 2
|
5天前
|
SQL 关系型数据库 MySQL
MySQL数据库的约束+进阶版新增与查询-2
MySQL数据库的约束+进阶版新增与查询
12 1
|
14天前
|
缓存 关系型数据库 MySQL
MySQL数据库性能优化实战
【4月更文挑战第30天】本文探讨了MySQL性能优化实战技巧,包括硬件与配置优化(如使用SSD、增加内存和调整配置参数)、索引优化(创建合适索引、使用复合索引及定期维护)、查询优化(避免全表扫描、减少JOIN和使用LIMIT)、分区与分片(表分区和数据库分片),以及使用缓存、定期清理数据库和监控诊断。通过这些方法,可以提升数据库性能和响应速度。
|
16天前
|
存储 关系型数据库 MySQL
MySQL数据库实战:从入门到精通
本文介绍了MySQL的使用和优化,适合Web开发者阅读。首先,确保安装并配置好MySQL,熟悉SQL基础。接着,通过命令行客户端连接数据库,执行创建、查询、添加、修改和删除数据等操作。学习数据类型并创建表存储数据。最后,探讨了数据库优化,包括查询优化和索引使用,以提升性能。
26 2
|
18天前
|
安全 关系型数据库 MySQL
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
node实战——后端koa结合jwt连接mysql实现权限登录(node后端就业储备知识)
23 3
|
19天前
|
SQL 关系型数据库 MySQL
不允许你不知道的 MySQL 优化实战(一)
不允许你不知道的 MySQL 优化实战(一)
26 2
|
22天前
|
关系型数据库 MySQL 中间件
【MySQL实战笔记】07 | 行锁功过:怎么减少行锁对性能的影响?-02 死锁和死锁检测
【4月更文挑战第19天】在高并发环境下,死锁发生在多个线程间循环等待资源时,导致无限期等待。MySQL中,死锁可通过`innodb_lock_wait_timeout`参数设置超时或`innodb_deadlock_detect`开启死锁检测来解决。默认的50s超时可能不适用于在线服务,而频繁检测会消耗大量CPU。应对热点行更新引发的性能问题,可以暂时关闭死锁检测(风险是产生大量超时),控制并发度,或通过分散记录减少锁冲突,例如将数据分拆到多行以降低死锁概率。
24 1