从零开始的MySQL(1)

news2024/9/21 12:32:24

目录

  • 1.MySQL的安装
  • 2.MySQL的基本操作
    • 2.1 展示数据库
    • 2.2 创建数据库
    • 2.3 选中数据库
    • 2.4 删除数据库
    • 2.5 常用数据类型
      • 2.5.1 整形
      • 2.5.2 浮点数
    • 2.6 创建表
    • 2.7 查看表
    • 2.7 查看表结构
    • 2.8 删除表
  • 3.数据库增删改查
    • 3.1 单行插入
    • 3.2 多行插入
    • 3.3 插入日期
    • 3.4 select查询
      • 3.4.1 select
      • 3.4.2 查询一列或多列
      • 3.4.3 查询字段为表达式
      • 3.4.4 查询字段指定别名
      • 3.4.5 查询结果去重
      • 3.4.6 排序
      • 3.4.7 where筛选
      • 3.4.8 模糊查询:like
      • 3.4.9 NULL 的查询:IS [NOT] NULL
  • 4.分页查询
  • 5.update
  • 6.delete删除
    • 6.1 delete和drop的区别

1.MySQL的安装

    可以参考这篇博客:https://blog.51cto.com/aiilive/2116476
安装包放在下方链接:

链接: https://pan.baidu.com/s/1JYlUx0Hv6kpm384qw1VwYA 提取码: ybbb

2.MySQL的基本操作

    MySQL是一个“客户端-服务器”结构的程序.
    网络通信的时候,通信双方,主动发起请求的一方,称为客户端.
 被动接受请求的一方,称为服务器.
 客户端给服务器发送的数据称为请求,服务器给客户端返回的数据,称为响应.
 安装好了MySQL,相当于既是安装了客户端,也是安装了服务器,客户端和服务器之间是通过网络来通信的

2.1 展示数据库

    SQL语句单词之间要有空格,最后别忘记加一个分号;

show databases;

在这里插入图片描述

    databases少写了一个s就会报错
在这里插入图片描述

2.2 创建数据库

create database 数据库名字;

在这里插入图片描述

    注意:这里的database不用加s

2.3 选中数据库

选中数据库后就可以对其进行操作

use 数据库名字;

在这里插入图片描述

2.4 删除数据库

drop  database 数据库名字;

在这里插入图片描述

2.5 常用数据类型

2.5.1 整形

在这里插入图片描述
在这里插入图片描述
    TINYINT,SMALLINT,INT,BIGINT对应java的byte,short,int,long

2.5.2 浮点数

在这里插入图片描述

    Float为单精度,M指定长度,表示有效数字,D指定小数位数。会发生精度丢失.
    DECIMAL为双精度,M指定长度,D表示小数点位数,平时提到的float和double类型是根据IEEE754标准来使用的,基于这个标准表示的浮点数,有些数字可能无法精确表示一个小数,比如在算钱的时候,两个浮点数比较的时候,不能使用大于小于,而是要作差比较.

2.6 创建表

create table 表名 (
	字段名字 字段类型,
	字段名字 字段类型,
	字段名字 字段类型.....
);
create table teacher(
	id int,
	name varchar(50),
	age int
);

在这里插入图片描述

2.7 查看表

    需要先选中数据库,之后才能查看表.

show tables;

在这里插入图片描述

2.7 查看表结构

    查看某个表里面有几列,每一列都是啥类型,每一列是啥名字.

desc 表名;

在这里插入图片描述

2.8 删除表

drop table 表名

在这里插入图片描述

3.数据库增删改查

3.1 单行插入

INSERT INTO 表名 VALUES(属性 类型)

在这里插入图片描述
    insert 进行插入的时候 可以只插入其中的某一列或者某几个列的.此时其他的列将采用默认值
在这里插入图片描述
在这里插入图片描述

3.2 多行插入

在这里插入图片描述
    多行插入的效率是比单个分别插入效率高的,如果分开来一个个插入数据,客户端把sql语句包装成请求发送给服务器,服务器收到后作出响应再把数据传回来,这样要返回多次,而一次性把sql语句都传过去,就可以减少响应次数.
在这里插入图片描述

3.3 插入日期

    如果某一列是 datetime,此时如何进行插入呢?
1)通过指定格式的字符串来插入一个指定时间
2)通过 now0函数来插入一个当前系统时间

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.4 select查询

    首先创建表,将表中插入数据

 create table exam(id INT,
    -> name VARCHAR(20),
    -> chinese DECIMAL(3,1),
    -> math DECIMAL(3,1),
    -> english DECIMAL(3,1));

 insert into exam values (1,'唐三藏', 67, 98, 56),
    -> (2,'孙悟空', 87.5, 78, 77),
    -> (3,'猪悟能', 88, 98.5, 90),
    -> (4,'曹孟德', 82, 84, 67),
    -> (5,'刘玄德', 55.5, 85, 45),
    -> (6,'孙权', 70, 73, 78.5),
    -> (7,'宋公明', 75, 65, 30);

3.4.1 select

    最基础的查找全列查找直接把一个表的所有的列,和所有的行都查询出来

select * from 表名;

    其中* 为通配符,表示一个表的所有列,把一个表里面的所有的行和所有的列都查找到,查找的结果是一个“临时表”之前咱们说的数据库的表都是在硬盘上的,而此处的这个查询结果临时表不是在硬盘上而是在内存中,随着进行了输出之后,数据也就被释放了

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

3.4.2 查询一列或多列

    指定列查询,查询出自己想要的列

select 列名 from 表名;

在这里插入图片描述
    查询结果,只是一个临时表.(在客户端内存临时保存的一个数据表,随着打印的进行,内存就释放了),临时表的结果对于数据库服务器的原始数据没有任何影响.

3.4.3 查询字段为表达式

在这里插入图片描述
临时表中的结果的数据类型不一定和原始的表的数据类型完全一致。
临时表的类型会自动的适应,保证计算结果是正确的.

3.4.4 查询字段指定别名

    查询字段指定别名,相当于是给查询结果的临时表,指定新的列名,as最好不要省略,查询语句一多可能会混淆
在这里插入图片描述

3.4.5 查询结果去重

在这里插入图片描述
    如果是针对多个列来进行去重,就得这多个列的值都相同的时候才视为相同.

3.4.6 排序

    排序会针对查询结果(临时表) 进行排序(不会影响到数据库服务器上的原始据的),order by 有升序(asc)和降序(desc),asc如果省略不写,默认也是升序.如果有的表中是带NULL的,在排序的时候,NULL是最小的(升序就排在最前面,降序就排在最后面)

select 列名 from 表名 order by 列名 asc/desc;

在这里插入图片描述

根据别名来排序
在这里插入图片描述
    排序的时候还可以通过 order by 来指定多个列进行排序,先根据第一个列进行排序.如果第一个列结果相同,相同结果之间再通过第二个列排序…,先按照数学排序.如果数学成绩相同,再按照英语排序,多个列排序的时候是有明确优先级的~~,先进行筛选,如果where子句条件不成立,前面的select就不会执行

在这里插入图片描述

3.4.7 where筛选

    where条件就会针对查询结果进行筛选,服务器就会遍历表中的每一条记录,如果记录符合条件,就返回给客户端.如果不符合条件,就跳过

在这里插入图片描述
    where子句不能使用别名
在这里插入图片描述
    表达式里如果有 and 和 or, 先计算 and 后计算 or ,如果要想打破优先级,就需要加( )
在这里插入图片描述

select 列名 from 表名 where 列名 between 值 and 值 

    between and 两边的值是闭区间的.
在这里插入图片描述

    只要数学成绩是()中的任意的值,都可以被查询出来
在这里插入图片描述

3.4.8 模糊查询:like

     % 匹配任意多个(包括0个)字符, _ 匹配严格的一个任意字符
在这里插入图片描述
在这里插入图片描述

3.4.9 NULL 的查询:IS [NOT] NULL

在这里插入图片描述
    上述的sql语句是有问题的,NULL表示不可知不确定,NULL不与任何值相等(包括其本身),返回为false,所以就没有执行,在使用NULL要使用<=>NULL 或者 is NULL.
在这里插入图片描述

4.分页查询

    在使用百度搜索的时候,搜索结果会分页显示出一页中最多显示多少个结果,假设一页显示 20 条记录.第一页就显示1-20,第二页就显示21-40,第三页就显示41-60.SQL中可以通过 limit 来实现分页查询,假设一页里面就显示3条记录.

select 列名 from 表名 limit 数字

    下图就是显示3条记录

在这里插入图片描述
    offset 3的意思是从下标为 3 的记录开始(下标从0开始)再往后找 3 条.
在这里插入图片描述

5.update

    update是会修改数据库服务器上的原始数据的

update 表名 set  column = expr [, column = expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...]

在这里插入图片描述

-- 将孙悟空同学的数学成绩变更为 80 分

在这里插入图片描述

-- 将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分

在这里插入图片描述

-- 将总成绩倒数前三的 3 位同学的数学成绩加上 30 分

在这里插入图片描述

-- 将所有同学的语文成绩更新为原来的 1/2 倍

在这里插入图片描述

6.delete删除

DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
-- 删除孙悟空同学的考试成绩

在这里插入图片描述
在这里插入图片描述

6.1 delete和drop的区别

    delete主要是删除数据,数据没有了,但是表还在.
    drop主要用于删除结构,例如删除数据库:drop database XX,删除表 drop table XX,删除之后表和数据都没有了.
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jprofiler监控服务器的cpu

现象&#xff1a;压测过程中&#xff0c;发现应用服务器的cpu使用率比较高>80%&#xff0c;我们就可以判断服务器的cpu使用率太高了。 一般cpu太高有两种情况&#xff0c; 1.接口的性能非常好&#xff0c;比如响应时间<10ms&#xff0c;tps很高&#xff0c;此时的cpu使用…

CSDN官方插件猿如意可以用ChatGPT啦!

什么是 ChatGPT Chat GPT 是一种由 AI 技术驱动的自然语言处理工具&#xff0c;可让您与聊天机器人进行类似人类的对话等它是基于OpenAI的GPT-3架构进行构建的&#xff0c;并经过训练&#xff0c;以便能够回答人类的问题并进行自然对话ChatGPT可以回答关于各种话题的问题&#…

基于SSM广州旅游攻略网站的设计与实现

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;

【Unity】摄像机跟随鼠标移动以物体为中心旋转 物体根据视线方向移动

描述 实现摄像机根据鼠标移动跟随物体旋转&#xff0c;以摄像机前物体为中心&#xff0c;摄像机围绕物体旋转&#xff0c;并使摄像机时刻指向物体 实现效果 Unity 组件设置 Camera 组件设置 Body 组件设置 实现代码 CameraRotateMove.cs 摄像机跟随和旋转 using System.Co…

神经网络常用的训练方式,什么是神经网络训练法

1、神经网络中的模型训练是什么意思? 无导师学习网络 神经网络中的模型训练是通过自动寻找样本中的内在规律和本质属性,自组织、自适应地改变网络参数与结构。 神经网络在系统辨识、模式识别、智能控制等领域有着广泛而吸引人的前景&#xff0c;特别在智能控制中&#xff0c;…

寄存器内存读写指令(二) —— 多寄存器读写 LDM / STM

有的时候&#xff0c;CPU可能会遇到 a; b; c&#xff0c;这个时候为了提升效率&#xff0c;CPU可能会一次将多个寄存器里的变量保存到内存中。这个时候之前介绍的 LDR / STR 指令虽然也能实现&#xff0c;但只能操作一个寄存器的读写。 因此&#xff0c;考虑到这点&#xff0c…

基于FPGA的PWM发生器设计

目录 引言 设计说明 设计特点 设计思路 设计源码 整数除法模块

超级好看的 Edge 浏览器新标签页插件:好用、好看、免费浏览器必备

BdTab 新标签页 BdTab新标签页扩展是一款免费无广告、简单好用的的高颜值新标签页扩展。 BdTab它颜值高、简单好用、支持高度自定义&#xff1a; 在登录之后支持云备份&#xff0c;支持快速切换搜索引擎&#xff0c;支持快速查看浏览历史记录和书签&#xff0c;用起来非常方便…

数据结构与算法——Java实现排序算法(一)

目录 一、排序算法 1.1 排序算法基本介绍 1.2 衡量程序执行的方法 1.2.1 事后统计法 1.2.2 事前估算的方法 二、 时间复杂度 2.1 时间频度 2.2 时间复杂度 2.2.1 常见的时间复杂度 2.2.2 常数阶O(1) 2.2.3 对数阶O(log2底n) 2.2.4 线性阶O(n) 2.2.5 线性对数阶O(n…

2022年PAT冬季甲级考试 25 A-3 Articulation Points

A-3 Articulation Points 分数 25 In graph theory, given a connected graph G, the vertices whose removal would disconnect G are known as articulation points. For example, vertices 1, 3, 5, and 7 are the articulation points in the graph shown by the above fi…

WAYON维安功率肖特基二极管,适配器领域的助推器

WAYON维安功率肖特基二极管&#xff0c;适配器领域的助推器。 维安功率肖特基二极管&#xff0c;适配器领域的助推器 导言 肖特基二极管&#xff0c;是以它的发明人肖特基博士名字而命名的&#xff0c;又被称作是肖特基势垒二极管。它是金属与半导体材料相互接触&#xff0c;且…

C++:类和对象:C++对象模型和 this指针

1&#xff1a;成员变量和成员函数分开存储 在C中&#xff0c;类内的成员变量和成员函数分开存储&#xff0c;只有非静态成员变量才属于类对象。 案例&#xff1a;我们写一个空类&#xff0c;然后创建一个对象&#xff0c;看看这个空对象占用多大空间。 #include<iostream…

做全表扫描时数据表的内存大于 MySQL 内存,会不会被打爆?

我查这么多数据&#xff0c;会不会把数据库内存打爆&#xff1f; 我的数据库内存只有10G&#xff0c;现在我要对一个20G的大表做全表扫描&#xff0c;会不会把数据库内存&#xff08;buffer pool&#xff09;占满然后报OOM的错误&#xff1f; 答案是不会的。 InnoDB的数据是…

【图像处理 -1图像恢复】非线性过滤器修复图像

【论文参考】文章地址&#xff1a; https://www.researchgate.net/publication/303996052_Image_Restoration_Technique_with_Non_Linear_Filter Image Restoration 一、摘要 在本文中&#xff0c;提出了一种新的处理方法图像使用不同的过滤方法 实现Image恢复。目的是增强数…

计算机网络原理第4章 网络层

目录~ 4.1 网络层提供的两种服务 面向连接&#xff1a;让网络负责可靠交付&#xff0c;通信之前先建立虚电路 无连接&#xff1a;网络提供数据报服务&#xff0c;网络层提供简单灵活的、无连接的、尽最大努力交付的数据报服务 4.2 网际协议 IP 网际协议 IP 是 TCP/IP 体系…

基于JAVA的校友录

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 网站前台&#xff1a;关于我们、联系我们、校园通知、组织信息、活动信息 管理员功能&#xff1a; 1、管理关于我们、联…

java方法耗时统计,JavaAgent javassist bytebuddy统计方法耗时,jvm监控prometheus

前言介绍 JavaAgent是在JDK5之后提供的新特性&#xff0c;又叫叫java代理。开发人员可通过这种机制(Instrumentation)在jvm加载class文件之前修改类的字节码&#xff0c;动态更改类方法实现AOP&#xff0c;提供监控服务如&#xff1a;方法调用时长、jvm内存等。修改字节码领域…

jsp+ssm计算机毕业设计大学生校园新闻发布系统【附源码】

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JSPSSM mybatis Maven等等组成&#xff0c;B/S模式 Mave…

色温及其相关参数

光学膜层和大多数着色表面不是自发光的。为了看到它们&#xff0c;我们需要一个光源。显然&#xff0c;对颜色的任何评估都将包括光源的属性。在计算颜色时&#xff0c;我们通常使用标准光源&#xff0c;其中大部分是由CIE根据其相对光谱输出来定义的&#xff0c;并且尽可能地表…

java计算机毕业设计springboot+vue在线选课系统

项目介绍 本系统是针对目前在线选课系统管理的实际需求,从实际工作出发,对过去的在线选课系统系统存在的问题进行分析,完善用户的使用体会。采用计算机系统来管理信息,取代人工管理模式,查询便利,信息准确率高,节省了开支,提高了工作的效率。 本系统结合计算机系统的结构、概…