MySQL数据库基础学习小终结:连接查询、表结构的修改、约束条件、MySQL与python交互

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: MySQL数据库基础学习小终结:连接查询、表结构的修改、约束条件、MySQL与python交互

先分别创建两个表text和text2,并向两个表中写入一些数据

c166e2f319ad4ba2b68e46873390710d.png21eb759a0c5740dd9cac3274dec0e96b.png


一、连接查询


1、内连接


(1)无条件连接:inner join


  • inner join 中只链接两个表中具有相同字段的行,不相同的字段会被省略


  • text是主表;text2是从表。


例:select * from text inner join text2;


6bcb59bf662049019c4e65fac4b86e36.png


主表中的每一条数据都会和从表里面的所有数据匹配


6928a5928d8b4657bfaab5794b3581ef.png


(2)有条件连接:on 条件


  • on 后面是连接条件


例:select * from text inner join text2 on text.id=text2.id;



  • 将两个表中id相同的连接在一起

2b2c0cbdaf754c69add84cc031c2cc81.png



2、外连接


(1)左连接:left join


  • 以左表为基础,左表内容全部显示,右表没有的以null值显示


例:select * from text left join text2 on text.id=text2.id;


  • 将相同的两表相同的id连接,以左表为基础,左表全部显示,右表中和左表相同的id显示,不相同的id则用null值显示

550b7efdbffd47388e67edf475528bc1.png


(2)右连接:right join


  • 以右表为基础,右表内容全部显示,左表没有的以null值显示


例:select * from text right join text2 on text.id=text2.id;


  • 将相同的两表相同的id连接,以右表为基础,右表全部显示,左表中和右表相同的id显示,不相同的id则用null值显示。


d6c9187c40ce4795861c0194aad80df2.png


二、表结构的修改--alter


1、修改表名


alter table 原名 rename to 新名;


  • 将text表的名字修改为new_table


a3f924d5338644eab40a466fd658ee5d.png



2、修改字段名


alter table 表名 change 原名 新名 类型;


注意:类型一定要写,且只能对同一类型进行修改,如果将一个字段类型是int型的修改为char型则会报错。


  • 查看表结构可以看到字段的类型

33d2d995d1b1492d8ffc85c200ca7f5d.png

  • 将score改成math_score

5c4aab78c9674fcaa201e53ae64c0a80.png


3、修改字段类型--modify


语法:alter table 表名 modify 字段名 类型;

dbd077738fbf41609818b249b4ec5240.png


4、添加字段


alter table 表名 add 字段名 类型;

132d4011a47741c696451f3bbc3e2967.png

  • (1)添加日期字段:datetime


alter table 表名 add 字段名 datetime;


388136f089df45989d418b397fd8d325.png

向日期字段中写入信息

385dd78de5eb44f0b94b03be1c435588.png

通过now()获取当前时间


f82b24964b20446ca94558a67a92a739.png

  • (2)enum字段

alter table 表名 add 字段名 enum('F', 'M');          (F和M是固定值,自己可以设置)

666d419d80024d8fb909e0fd74fe1d6a.png

当在类型为enum的字段sex中写入数据时,数据必须是F或M,否则就会报错

a683f582e1554c97b64d44eeacb3fffd.png

6ad47da2f92544a3afcce58106d67054.png

5、删除字段

alter table 表名 drop 字段名;

c73974aa2670425e909997dc99f9e237.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 SQL 关系型数据库
PHP与数据库交互:从基础到进阶
【10月更文挑战第9天】在编程的世界里,数据是流动的血液,而数据库则是存储这些珍贵资源的心脏。PHP作为一门流行的服务器端脚本语言,其与数据库的交互能力至关重要。本文将带你从PHP与数据库的基本连接开始,逐步深入到复杂查询的编写和优化,以及如何使用PHP处理数据库结果。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供宝贵的知识和技巧,让你在PHP和数据库交互的道路上更加从容不迫。
|
3月前
|
SQL 关系型数据库 MySQL
MySQL操作利器——mysql-connector-python库详解
MySQL操作利器——mysql-connector-python库详解
858 0
|
1月前
|
关系型数据库 MySQL 数据库连接
python脚本:连接数据库,检查直播流是否可用
【10月更文挑战第13天】本脚本使用 `mysql-connector-python` 连接MySQL数据库,检查 `live_streams` 表中每个直播流URL的可用性。通过 `requests` 库发送HTTP请求,输出每个URL的检查结果。需安装 `mysql-connector-python` 和 `requests` 库,并配置数据库连接参数。
131 68
|
13天前
|
关系型数据库 MySQL 数据库
Python处理数据库:MySQL与SQLite详解 | python小知识
本文详细介绍了如何使用Python操作MySQL和SQLite数据库,包括安装必要的库、连接数据库、执行增删改查等基本操作,适合初学者快速上手。
87 15
|
1月前
|
存储 SQL API
探索后端开发:构建高效API与数据库交互
【10月更文挑战第36天】在数字化时代,后端开发是连接用户界面和数据存储的桥梁。本文深入探讨如何设计高效的API以及如何实现API与数据库之间的无缝交互,确保数据的一致性和高性能。我们将从基础概念出发,逐步深入到实战技巧,为读者提供一个清晰的后端开发路线图。
|
2月前
|
IDE 网络安全 开发工具
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
本文介绍了如何在PyCharm专业版中连接远程服务器并配置远程Python环境解释器,以便在服务器上运行代码。
448 0
IDE之pycharm:专业版本连接远程服务器代码,并配置远程python环境解释器(亲测OK)。
|
2月前
|
关系型数据库 MySQL 数据库
Mysql学习笔记(四):Python与Mysql交互--实现增删改查
如何使用Python与MySQL数据库进行交互,实现增删改查等基本操作的教程。
73 1
|
1月前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
133 0
|
3月前
|
存储 关系型数据库 MySQL
深入解析MySQL数据存储机制:从表结构到物理存储
深入解析MySQL数据存储机制:从表结构到物理存储
330 1
|
3月前
|
关系型数据库 MySQL Python
mysql之python客户端封装类
mysql之python客户端封装类