mysql数据库入门

一、数据库概述

数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享,可以存储、维护和管理数据的集合。

MySQL是一种开放的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。其因速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

二、操作数据库
创建数据库:Create database study character set gbk;

查看所有数据库:Show databases;

查看前面创建的study 数据库的定义信息:Show create database study;

修改数据库study 的字符集修改为utf8:alter database study character set utf8;

删除前面创建的study数据库:Drop database study;

查看当前使用的数据库:Select database();

切换数据库:Use mydb;
三、操作数据库表(以study表为例)

1.创建数据库表

语法:

  create table 表名(

     字段1 字段类型,

     字段2 字段类型,

      ...

     字段n 字段类型

  );

常用数据类型:

int:整型  double:浮点型,例如double(5,2)表示最多5位,其中必须有2位小数,即最大值为999.99;

char:固定长度字符串类型;varchar:可变长度字符串类型;text:字符串类型;

date:日期类型,格式为:yyyy-MM-dd; time:时间类型,格式为:hh:mm:ss

timestamp:时间戳类型 yyyy-MM-dd hh:mm:ss  会自动赋值 datetime:日期时间类型yyyy-MM-dd hh:mm:ss



 CREATE TABLE student(
              stuId  INT(12),
              stuName VARCHAR(12),
              sex  VARCHAR(12),
              major  VARCHAR(12) 
           );

2.插入数据:Insert into student(stuId,stuName,sex,major) value(201701002,“王静”,“女”,“应用物理学”);

3.删除数据:delete from student where stuId=201701002;

4.修改数据:update student set stuName="王晶"where stuId=201701002;

5.查询数据:select * from student where stuId=201701005;

    查询数据语法:SELECT列名FROM表名【WHERE --> GROUP BY -->HAVING--> ORDER BY】

在WHERE子句中可以使用如下运算符及关键字:

    =、!=、<>、<、<=、>、>=;BETWEEN…AND;IN(set);IS NULL; AND;OR;NOT;

a.模糊查询:模糊查询需要使用关键字LIKE。

通配符:
      _ :任意一个字母
      % :任意0~n个字母

eg:  select * from student where stuName like"田%"; 查询田姓所有学生

    b:去除重复记录:两行或两行以上记录中系列的上的数据都相同,使用关键字:DISTINCT

      eg:select distinct sex from student;去除查询结果列中的重复项

     注:1. IFNULL(sal,0); 将NULL转为0,以便进行运算    2.  As:给列名添加别名     3. Order  BY  列名  升/降;ASC:升序    DESC:降序   4.limit:用来限定查询结果的起始行,以及总行数(起始行从0开始)。
四、聚合函数:聚合函数是用来做纵向运算的函数

COUNT():统计指定列不为NULL的记录行数;

 eg:select count(sex) from student;   查询性别不为NULL的学生数目

MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;

MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;

SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;

AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;

注:当需要分组查询时需要使用group by 子句,凡和聚合函数同时出现的列名,则一定要写在group by之后。

having与where的区别:

having是在分组后对数据进行过滤,where是在分组前对数据进行过滤。如果某行记录没有满足WHERE子句的条件,那么这行记录不会参加分组;而HAVING是对分组后数据的约束。

五、连接查询:

连接查询就是求出多个表的乘积,但是连接查询会产生笛卡尔积,这样的结果并不是我们想要的。可以通过条件进行过滤。通常要查询的多个表之间都存在关联关系,那么就通过关联关系去除笛卡尔积。

1.使用主外键关系做为条件来去除无用信息 (连接语句就是内连接,但它不是SQL标准中的查询方式,可以理解为方言)

  eg: select * from a,b where a.column = b.column;

2.内连接(查询结果必须满足条件)

   eg: select * from a join b on a.column = b.column;

3.左连接:左连接是以左表为主,右表中满足条件的显示出来,不满足条件的显示NULL。

   eg: select * from a left join b on a.column = b.column;

4.右连接:右连接是以右表为主,左表中满足条件的显示出来,不满足条件的显示NULL。

   eg: select * from a right join b on a.column = b.column;

5.自然连接:自然连接无需你去给出主外键等式,将连接的表中名称和类型完全一致的列作为条件,它会自动找到这一等式。

   eg: select * from a natural join b;
六、子查询:一个select语句中包含另一个完整的select语句

子查询就是嵌套查询,即SELECT中包含SELECT,如果一条语句中存在两个,或两个以上SELECT,那么就是子查询语句了。

子查询出现的位置:

where后,作为条为被查询的一条件的一部分;
from后,作表;

当子查询出现在where后作为条件时,还可以使用如下关键字:any、all

  eg:SELECT * FROM emp WHERE sal > (SELECT sal FROM emp WHERE ename='JONES')
【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍基于Matlab代码实现的四轴飞行器动力学建模与仿真方法。研究构建了考虑非线性特性的飞行器数学模型,涵盖姿态动力学与运动学方程,实现了三自由度(滚转、俯仰、偏航)的精确模拟。文中详细阐述了系统建模过程、控制算法设计思路及仿真结果分析,帮助读者深入理解四轴飞行器的飞行动力学特性与控制机制;同时,该模拟器可用于算法验证、控制器设计与教学实验。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及无人机相关领域的工程技术人员,尤其适合从事飞行器建模、控制算法开发的研究生和初级研究人员。; 使用场景及目标:①用于四轴飞行器非线性动力学特性的学习与仿真验证;②作为控制器(如PID、LQR、MPC等)设计与测试的仿真平台;③支持无人机控制系统教学与科研项目开发,提升对姿态控制与系统仿真的理解。; 阅读建议:建议读者结合Matlab代码逐模块分析,重点关注动力学方程的推导与实现方式,动手运行并调试仿真程序,以加深对飞行器姿态控制过程的理解。同时可扩展为六自由度模型或加入外部干扰以增强仿真真实性。
基于分布式模型预测控制DMPC的多智能体点对点过渡轨迹生成研究(Matlab代码实现)内容概要:本文围绕“基于分布式模型预测控制(DMPC)的多智能体点对点过渡轨迹生成研究”展开,重点介绍如何利用DMPC方法实现多智能体系统在复杂环境下的协同轨迹规划与控制。文中结合Matlab代码实现,详细阐述了DMPC的基本原理、数学建模过程以及在多智能体系统中的具体应用,涵盖点对点转移、避障处理、状态约束与通信拓扑等关键技术环节。研究强调算法的分布式特性,提升系统的可扩展性与鲁棒性,适用于多无人机、无人车编队等场景。同时,文档列举了大量相关科研方向与代码资源,展示了DMPC在路径规划、协同控制、电力系统、信号处理等多领域的广泛应用。; 适合人群:具备一定自动化、控制理论或机器人学基础的研究生、科研人员及从事智能系统开发的工程技术人员;熟悉Matlab/Simulink仿真环境,对多智能体协同控制、优化算法有一定兴趣或研究需求的人员。; 使用场景及目标:①用于多智能体系统的轨迹生成与协同控制研究,如无人机集群、无人驾驶车队等;②作为DMPC算法学习与仿真实践的参考资料,帮助理解分布式优化与模型预测控制的结合机制;③支撑科研论文复现、毕业设计或项目开发中的算法验证与性能对比。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,重点关注DMPC的优化建模、约束处理与信息交互机制;按文档结构逐步学习,同时参考文中提及的路径规划、协同控制等相关案例,加深对分布式控制系统的整体理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值