MySql基础(基于自己的理解,有错请各位大佬指正)

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: `MySQL`基础介绍,包括数据库概念,如DataBase(DB)是数据存储仓库,有组织地存储数据。`MySQL`由AB公司开发,后被Sun(再被Oracle收购)接管。其优点包括永久存储、操作便捷、保证数据完整性和一致性、确保安全性。关系型数据库(RDBMS)基于关系模型,常用如`MySQL`、Oracle、SQL Server,用SQL语言统一操作。SQL支持创建、操作、查询和控制数据,语句可单行或多行书写,不分大小写,有注释功能。数据库操作流程包括登录、表结构分析、DDL(数据库和表的操作)、DQL(数据查询)。

MySql基础

一.数据库的概念
1.什么是数据库
数据库:DataBase(DB),是存储和管理数据的仓库
数据库里的数据是有组织的存储的
MySQL由瑞典 MySQL AB 公司开发, 后来Sun公司收购了MySQL,而Sun公司又被Oracle收购。
优点:永久储存,操作方便,可以确保数据的完整性和一致性,可以保护数据的安全性。
2.关系型数据库
关系型数据库是现在开发的时候用的挺多的一种数据库,现在常见的关系型数据库有:
(MySQL,Oracle,SQL Sever),特别是MySQL是中小型公司或者少数大公司用的一个数据库

二、关系型数据库(MySQL举例)数据库、表、数据的关系
1.关系型数据库
关系型数据库(RDBMS)建立在关系模型基础上,由多张相互连接的二维表组成的数据库。
特点:
使用表存储数据,格式统一,便于维护
统一使用SQL语言操作,标准统一,使用方便,可用于复杂的数据查询



2.数据库,表,数据之间的关系
MySQL里面可以创建多个数据库
数据库里面可以创建多张表
表里面可以存储多个数据
客户端可以通过数据库管理系统来操作MySQL数据库对数据进行增删改查



三、SQL的简介
SQL:一门操作关系型数据库的编程语言,定义所有关系型数据库的统一标准
简单的来说:SQL为所有的关系数据库制定了一套操作标准,比如数据查询、数据更新、数据插入、数据删除等操作,都要按照SQL给的标准来做,这样无论是不同的关系型数据库产品,都能很快上手。
1、SQL的通用语法
SQL语句可以单行,多行书写以分号结尾。
SQL语句可以使用空格/缩进来增强语句可读性
MySQL语句不分大小写
注释:单行注释:--注释的内容 或者  #注释的内容(MySQL特有)
   多行注释:/*注释的内容*/(跟Java的注释一样)




2、SQL的分类
SQL的分类分为四大类
一、DDL(Data Definition Language)数据定义语言,创建数据库,设计表。
二、DML(Data Manipulation Language)数据操作语言,用来对数据库的数据进行增删改的操作
三、DQL(Data Query Language)数据查询语言,用来对数据库的数据进行查询
四、DCL(Data Control Language)数据控制语言,用来创建数据库用户,控制数据库访问权限





四、DDL对数据库和数据表的操作(重要)
1、数据库的登录
对数据库进行操作的时候我们要登录我们的MySQL才能进行操作,那么怎么登录呢?
第一种方式(没有可视化界面,用起来很难受):
win + R  输入cmd  打开命令行  输入命令 mysql  -u后面写你的mysql的用户名  -p后面写你的密码



第二种方式(借用MySQL的图形化工具):我用的Navicat这个图形化工具




2、表结构分析(重点)
在我们设计表的时候,要分析我们的表的字段到底怎么写,长度写多少,需要什么类型的字段等等.......
首先,我们要从页面的一个增删改查去分析,其次从要求规则去分析,另外有三个默认的字段是要加上的
(id,添加时间,修改时间)这三个字段虽然没说,但是在开发中默认加上。

3、DDL操作数据库
创建数据库:create  database  数据库名;
查询所有的数据库:show  databases;
查询当前数据库:select  databases();
使用数据库:user  数据库名;
删除数据库:drop  database  数据库名;
注意:上述的语法database可以改成schema  例如:show  schema;

4、DDL操作数据表
创建数据表:create  table  表名(
字段  类型  [约束] [comment  字段的注释]   ,

查看当前数据库的所有表:show tables;
查询表结构:desc 表名
查询建表语句:show create table 表名;
添加字段:alter table 表名 add  字段名 类型(长度)  [注释] [约束]
修改字段类型:alter table 表名 modify  字段名  新数据类型(长度)
修改字段名和字段类型:alter  table 表名  change 旧字段名  新字段名  新数据类型(长度)
删除字段:alter table 表名 drop column 字段名
修改表名:rename table 表名 to 新表名
删除表: drop table 表名(注意:删除表的时候表的数据也会一并被删除)



5、操作数据添加数据注意:插入数据时添加的值要与表中的字段的顺序要对应才行    插入时间类型的数据时,要在加上''(单引号)    插入的数据长度,不能超过字段的长度范围指定字段添加数据:insert into 表名 (字段名,字段名.....) values (值1, 值2, ........)全部字段添加数据:insert into 表名 values (值1,值2) (注意:字段名有多少就要写多少个值)批量添加数据(指定字段):insert into 表名 (字段名,字段名.....) values (值1, 值2, ........), (值1, 值2, ........)批量添加数据(全部字段):insert into 表名 values (值1, 值2, ........), (值1, 值2, ........)修改数据修改数据:update 表名 set 字段名 = 值1 ,字段名 = 值2  [where 条件]删除数据

删除数据:delete from 表名 [where 条件]



6、约束

主键约束:一行数据的唯一标识、要求唯一并且不为空(primary key auto_increment)

非空约束:限制这个字段不能为空 (not null)

唯一约束:限制这个字段是唯一的(unique)

默认约束:给字段添加一个默认的值(default)


五、DQL对数据进行查询(重要)

1.DQL的基本查询

查询多个字段:select  字段名,字段名 from  表名;

查询所有字段(通配符):select * from  表名;(在开发中不建议使用,效率太差 ,用这个可能会有被骂的风险)

设置别名:select  字段名 as 别名 , 字段名 as 别名  from 表名 (tips:as可以不写)

去除重复记录:select  distinct  字段列表  from 表名;2.DQL条件查询

select  字段名  from  表名  where  条件



3.聚合函数
select  count(字段) from  表 (统计个数)
select  max(字段) from  表 (求最大值)
select  min(字段) from  表 (求最小值)
select  avg(字段) from  表 (求平均值)
select  sum字段) from  表 (求和)

4.分组查询(关键字group by,select后面只能写分组的字段和聚合函数,分组之后还想对分好组的数据进行过滤的话要用having 然后写条件)
格式:select 分组后的字段,聚合函数 from 表 where 条件 group by 字段  having 过滤条件

5.排序查询(asc升序,desc降序)
格式:select 字段名,字段名 from 表 where 条件 order by 字段 排序规则

排序查询



-- 1.根据入职时间, 对员工进行升序排序

select id, username, password, name, gender, image, job, entrydate, create_time, update_time  from emp order by entrydate asc ;

select * from emp order by entrydate asc ;


-- 2.根据入职时间, 对员工进行降序排序

select id, username, password, name, gender, image, job, entrydate, create_time, update_time  from emp order by entrydate desc;

select * from emp order by entrydate desc ;


-- 3.根据 入职时间 对公司的员工进行 升序排序, 入职时间相同, 再按照 ID 进行降序排序

select * from emp order by entrydate asc , id desc ;


6.分页查询
格式:select  * from 表 limit 起始索引,分页展示的条数
计算起始索引公式:(当前页码-1)* 分页展示的条数


-- 公式:select * from 表 limit 起始索引,10;

-- 起始索引:(当前页 - 1 ) * 分页数;

-- 1.每页展示10条记录, 查询第1页, 跳过0条, 获取10条

select * from emp limit 0,10;

-- 1.每页展示5条记录, 查询第1页, 获取5条

select * from emp limit 0,5;


-- 2.每页展示10条记录, 查询第2页, 跳过10条, 获取10条

select * from emp limit 10,10;

-- 2.每页展示5条记录, 查询第2页,获取5条

select * from emp limit 5 , 5;


-- 3.每页展示10条记录, 查询第3页, 跳过20条, 获取10条

select * from emp limit 20,10;

-- 3.每页展示5条记录, 查询第3页,获取5条

select * from emp limit 10 , 5;


六、多表设计
1.一对多关系的表结构
要多的一方设置一个外键关联“一”的一方的主键
2.一对一关系的表结构
在任意一个表创建一个外键,外键用unique(唯一)修饰(通常来说一对一设置外键是在不常用的表上设置主键)
3.多对多关系的表结构
这个时候就要创建一个中间表来记录两个表的主键


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
前端开发 Java 测试技术
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
|
2天前
|
人工智能 自然语言处理 JavaScript
2026年Windows+Ollama本地部署OpenClaw保姆级教程:本地AI Agent+阿里云上快速搭建
2026年OpenClaw凭借本地部署、私有化运行的特性,成为打造个人智能体的核心工具,而Ollama作为轻量级本地大模型管理工具,能让OpenClaw摆脱对云端大模型的依赖,实现**本地推理、数据不泄露、全流程私有化**的智能体验。本文基于Windows 11系统,从硬件环境准备、Ollama安装与模型定制、OpenClaw部署配置、技能扩展到常见问题排查,打造保姆级本地部署教程,同时补充阿里云OpenClaw(Clawdbot)快速部署步骤,兼顾本地私有化需求与云端7×24小时运行需求,文中所有代码命令均可直接复制执行,确保零基础用户也能快速搭建属于自己的本地智能体。
4201 18
|
9天前
|
存储 人工智能 负载均衡
阿里云OpenClaw多Agent实战宝典:从极速部署到AI团队搭建,一个人=一支高效军团
在AI自动化时代,单一Agent的“全能模式”早已无法满足复杂任务需求——记忆臃肿导致响应迟缓、上下文污染引发逻辑冲突、无关信息加载造成Token浪费,这些痛点让OpenClaw的潜力大打折扣。而多Agent架构的出现,彻底改变了这一现状:通过“单Gateway+多分身”模式,让一个Bot在不同场景下切换独立“大脑”,如同组建一支分工明确的AI团队,实现创意、写作、编码、数据分析等任务的高效协同。
3587 27
|
13天前
|
人工智能 自然语言处理 监控
OpenClaw skills重构量化交易逻辑:部署+AI全自动炒股指南(2026终极版)
2026年,AI Agent领域最震撼的突破来自OpenClaw(原Clawdbot)——这个能自主规划、执行任务的智能体,用50美元启动资金创造了48小时滚雪球至2980美元的奇迹,收益率高达5860%。其核心逻辑堪称教科书级:每10分钟扫描Polymarket近千个预测市场,借助Claude API深度推理,交叉验证NOAA天气数据、体育伤病报告、加密货币链上情绪等多维度信息,捕捉8%以上的定价偏差,再通过凯利准则将单仓位严格控制在总资金6%以内,实现低风险高频套利。
7181 62
|
3天前
|
人工智能 JSON JavaScript
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
手把手教你用 OpenClaw(v2026.2.22-2)+ 飞书,10分钟零代码搭建专属AI机器人!内置飞书插件,无需额外安装;支持Claude等主流模型,命令行一键配置。告别复杂开发,像聊同事一样自然对话。
1556 5
手把手教你用 OpenClaw + 飞书,打造专属 AI 机器人
|
3天前
|
人工智能 网络安全 数据安全/隐私保护
Docker部署OpenClaw(Clawdbot)攻略+阿里云部署OpenClaw 2026版教程
OpenClaw(前身为Clawdbot、Moltbot)作为一款高性能的AI代理平台,凭借自然语言驱动的任务自动化、多平台无缝协作、轻量化容器化架构等核心优势,成为2026年办公自动化、智能协作、跨端指令执行的主流工具,可实现邮件处理、日程管理、航班值机、多IM平台消息联动等丰富功能,无需复杂开发即可快速搭建专属AI助手。Docker作为轻量级容器化技术,能完美解决OpenClaw部署过程中的环境冲突、依赖配置、跨平台兼容等问题,实现一键搭建、快速启动、灵活迁移的部署体验。
1123 2
|
1月前
|
人工智能 自然语言处理 Shell
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
本教程指导用户在开源AI助手Clawdbot中集成阿里云百炼API,涵盖安装Clawdbot、获取百炼API Key、配置环境变量与模型参数、验证调用等完整流程,支持Qwen3-max thinking (Qwen3-Max-2026-01-23)/Qwen - Plus等主流模型,助力本地化智能自动化。
46269 159
🦞 如何在 OpenClaw (Clawdbot/Moltbot) 配置阿里云百炼 API
|
4天前
|
存储 人工智能 BI
2026年OpenClaw(Clawdbot)极简部署:接入小红书全自动运营,一个人=一支团队
2026年的小红书运营赛道,AI自动化工具已成为核心竞争力。OpenClaw(原Clawdbot)凭借“Skill插件化集成、全流程自动化、跨平台联动”的核心优势,彻底颠覆传统运营模式——从热点追踪、文案创作、封面设计到自动发布、账号互动,仅需一句自然语言指令,即可实现全链路闭环。而阿里云作为OpenClaw官方推荐的云端部署载体,2026年推出专属秒级部署方案,预装全套运行环境与小红书运营插件,让零基础用户也能10分钟完成部署,轻松拥有7×24小时在线的“专属运营团队”。
1312 6
|
8天前
|
人工智能 自然语言处理 安全
2026年OpenClaw Skills安装指南:Top20必装清单+阿里云上部署实操(附代码命令)
OpenClaw(原Clawdbot)的强大之处,不仅在于其开源免费的AI执行引擎核心,更在于其庞大的Skills生态——截至2026年2月,官方技能市场ClawHub已收录1700+各类技能插件,覆盖办公自动化、智能交互、生活服务等全场景。但对新手而言,面对海量技能往往无从下手,盲目安装不仅导致功能冗余,还可能引发权限冲突与安全风险。
1965 9

热门文章

最新文章