《MySQL之魅力无限:数据库世界的瑰宝》

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 《MySQL之魅力无限:数据库世界的瑰宝》

前言


MySQL,作为一款开源的关系型数据库管理系统,一直以来都扮演着数据库世界中的瑰宝角色。本文将探讨MySQL的卓越之处,从其高性能、可扩展性、安全性,以及开发者友好的特点入手,展示了为何MySQL成为众多企业和开发者的首选数据库解决方案。无论您是刚刚入门数据库领域,还是寻求更深入的数据库知识,MySQL都将带您踏上一场充满惊喜和挑战的冒险旅程。快来一起探索MySQL的魅力,开启数据库世界的无限可能!


什么是SQL?


结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名


操作数据库需要使用SQL语句,而并非Java




SQL标准:SQL99即99年制定的标准


(1)操作所有关系型数据库的规则;


(2)是第4代语言

(3)是一种结构化的查询语言

(4)只需发出合理合法的语句,就有结果显示

注意:不同的DBMS(mysql,oracle)不会只支持SQL99,还会有自己的一些独有的语法,比如limit只在mysql中可以使用。



SQL语法


1,SQL语句可以在单行或多行书写,以分号结尾,

有些时候可以不用分号结尾,比如在代码中。


2,可以使用空格或缩进来增强语句的可读性


3,SQL不区分大小写,建议大写。

结构化查询语言(Structured Query Language)。操作数据库的。



SQL99标准的四大分类


DDL语言:数据定义语言(用于定义数据的表结构)Data Definition Language

创建数据表:create table 表名
修改数据表:alter table 表名
删除数据表:drop table 表名


DML语言:数据操纵语言(用于操作数据表中的数据)DML - Data Mainpulation Language

添加数据:insert
修改数据:update
删除数据:delete


DQL语言:数据查询语言(专门用于数据的查询)DQL - Data Query Language

查询数据:select

DCL语言:数据控制语言(Data Control Language)

grant 权限 to scott, remove 权限 from scott



五、约束


约束:用于限制数据表中某列的数据的存储内容。

默认值:default
非空约束:not null
唯一约束:unique
主键约束:primary key
外键约束:foreign key


主键约束:非空+唯一

用作这个表中,主键所在的字段是该表的唯一标识。一个表中最多只能有一个主键约束。


语法:

create table stu(
  sid int primary key auto_increment,#定义sid作为stu表的主键
    sname vachar(20),
    age int,
    gender varchar(10)
);
或者
create table stu(
  sid int auto_increment,
    sname varchar(20),
    age int,
    gender varchar(10),
    [constraint [sid_pk]] primary key (sid) #指明sid作为stu的主键
)


删除主键

alter table stu drop primary key;

添加主键

alter table stu add primary key(sid);


主键自增:auto_increment

要求该字段数值不允许为空,而且数值唯一。所以我们通常会指定主键类型为整型,然后设置其自动增长,这样可以保证在插入数据的时候主键列的唯一和非空特性。



外键约束:保证数据的完整性和有效性。

两张表:
  父表:主表
    主键
  子表:从表
    外键


演示外键约束

子表中设置外键的列,是父表中主键。那么子表中外键的列,的数值,就会受到父表中主键的数值的约束。

外键设置语法:

references 父表(主表)
constraint classno_FK foreign key (classno) references class(classno)


或者:

alter table student add constraint stu_classno foreign key (classno) references class(classno);


创建父表:

mysql> create table class(
    -> classno int(4) primary key,
    -> classname varchar(20));
insert into class(classno,classname) values (1,'java'),(2,'python'),(3,'html5');


创建子表:

mysql> create table student(
    -> sid int(4) primary key auto_increment,
    -> sname varchar(30),
    -> age int(3),
    -> sex varchar(3),
    -> classno int(4),
    -> constraint fk_stu foreign key (classno) references class(classno));
insert into student(sid,sname,age,classno) values (1,'张三',20,1),(2,'李四',34,2),(3,'张五',32,3);




最后


本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
8天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
23 4
|
6天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
20 1
|
15天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
81 1
|
17天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
59 2
|
20天前
|
存储 关系型数据库 MySQL
MySQL vs. PostgreSQL:选择适合你的开源数据库
在众多开源数据库中,MySQL和PostgreSQL无疑是最受欢迎的两个。它们都有着强大的功能、广泛的社区支持和丰富的生态系统。然而,它们在设计理念、性能特点、功能特性等方面存在着显著的差异。本文将从这三个方面对MySQL和PostgreSQL进行比较,以帮助您选择更适合您需求的开源数据库。
80 4
|
3天前
|
运维 关系型数据库 MySQL
安装MySQL8数据库
本文介绍了MySQL的不同版本及其特点,并详细描述了如何通过Yum源安装MySQL 8.4社区版,包括配置Yum源、安装MySQL、启动服务、设置开机自启动、修改root用户密码以及设置远程登录等步骤。最后还提供了测试连接的方法。适用于初学者和运维人员。
27 0
|
26天前
|
存储 关系型数据库 MySQL
如何在MySQL中创建数据库?
【10月更文挑战第16天】如何在MySQL中创建数据库?
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第26天】数据库作为现代应用系统的核心组件,其性能优化至关重要。本文主要探讨MySQL的索引策略与查询性能调优。通过合理创建索引(如B-Tree、复合索引)和优化查询语句(如使用EXPLAIN、优化分页查询),可以显著提升数据库的响应速度和稳定性。实践中还需定期审查慢查询日志,持续优化性能。
47 0
|
25天前
|
存储 监控 关系型数据库
MySQL并发控制与管理:优化数据库性能的关键
【10月更文挑战第17天】MySQL并发控制与管理:优化数据库性能的关键
108 0
|
25天前
|
存储 SQL 关系型数据库
MySQL Workbench支持哪些数据库引擎
【10月更文挑战第17天】MySQL Workbench支持哪些数据库引擎
17 0