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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS PostgreSQL,高可用系列 2核4GB
简介: 《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);




最后


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

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

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
1月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
84 3
|
1月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
1月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
1月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
|
1月前
|
关系型数据库 分布式数据库 数据库
阿里云数据库收费价格:MySQL、PostgreSQL、SQL Server和MariaDB引擎费用整理
阿里云数据库提供多种类型,包括关系型与NoSQL,主流如PolarDB、RDS MySQL/PostgreSQL、Redis等。价格低至21元/月起,支持按需付费与优惠套餐,适用于各类应用场景。
|
1月前
|
SQL 关系型数据库 MySQL
Mysql数据恢复—Mysql数据库delete删除后数据恢复案例
本地服务器,操作系统为windows server。服务器上部署mysql单实例,innodb引擎,独立表空间。未进行数据库备份,未开启binlog。 人为误操作使用Delete命令删除数据时未添加where子句,导致全表数据被删除。删除后未对该表进行任何操作。需要恢复误删除的数据。 在本案例中的mysql数据库未进行备份,也未开启binlog日志,无法直接还原数据库。
|
1月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
311 7
|
1月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(上)
最终建议:当前系统是完美的读密集型负载模型,优化重点应放在减少行读取量和提高数据定位效率。通过索引优化、分区策略和内存缓存,预期可降低30%的CPU负载,同时保持100%的缓冲池命中率。建议每百万次查询后刷新统计信息以持续优化
150 6
|
1月前
|
缓存 监控 关系型数据库
使用MYSQL Report分析数据库性能(中)
使用MYSQL Report分析数据库性能
109 1
|
1月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎
阿里云数据库RDS支持MySQL、SQL Server、PostgreSQL和MariaDB引擎,提供高性价比、稳定安全的云数据库服务,适用于多种行业与业务场景。

推荐镜像

更多