首页 > 数据库 >MySql基础

MySql基础

时间:2024-04-10 22:02:45浏览次数:16  
标签:数据库 MySql 基础 查询 SELECT 表名 列名 字段名

文章目录


数据库相关概念

数据库

存储数据的仓库,数据是有组织的进行存储
英文:DataBase简称DB

数据的存储方式

  1. 内存中

在Java程序中编写的数据都保存在内存中
优点:存储速度快
缺点:断电/程序退出,数据就清除了

  1. 硬盘的普通文件中

使用IO流技术
优点:永久保存
缺点:IO流的查找,增加,修改,删除比较麻烦,操作效率低

  1. 数据库

优点:永久保存,通过SQL语句比较方便的操作数据库,是方式一和方式二的结合,可以解决上诉俩种方式的缺点

优点

数据库是按照特定格式将数据存储到数据库中,通过SQL语句可以方便的对大量数据进行增删改查操作,数据库是对大量的信息进行管理的高效的解决方案

数据库管理系统

管理数据库的大型软件
英文:DataBase Management System,简称DBMS

常见的关系型数据库管理系统

Snipaste_2024-04-10_16-20-44.png

MySQL数据库

安装

我这里用的是windows免安装的,需要的可以私信我

目录结构

Snipaste_2024-04-10_16-26-18.png

数据模型

关系型数据库

概念:是建立在关系模型基础上的数据库,简单说,关系型数据库是由多张能互相连接的二维表组成的数据库
优点

  1. 都使用表结构,格式一致,易于维护
  2. 使用通用的SQL语言操作,使用方便,可用于复杂查询
  3. 数据存储在磁盘中,安全

描述图

Snipaste_2024-04-10_16-32-11.png

E-R图

Snipaste_2024-04-10_16-33-31.png
Snipaste_2024-04-10_16-33-57.png

SQL

简介

英文:Structured Query Language,简称SQL
结构化查询语言,是一门操作关系型数据库的编程语言
定义操作所以非关系型数据库的统一标准
对于同一个需求,每一种数据库操作的方式可能会存在一些不一样的地方,我们称为"方言"

通用语法

  1. SQL语句可以单行写或多行书写,以分号结尾
  2. MySQL数据库的SQL语句不区分大小写,关键字建议用大写
  3. 注释
    1. 单行注释:–注释内容 或 #注释内容(MySQL特有)
    2. 多行注释: /* 注释内容 */

分类

  • DDL(definition) 数据定义语言,用来定义数据库对象:数据库,数据表等
  • DML(manipulation)数据操作语言,用来对数据库中表的数据进行增删改
  • DQL(query)数据库查询语言,用来查询数据库中表的数据
  • DCL(control)数据控制语言,用来定义数据库的访问权限和安全级别,及创建用户

Snipaste_2024-04-10_16-54-24.png

DDL

–操作数据库

  1. 查询

SHOW DATABASES;

  1. 创建

CREATE DATABASE 数据库名称;
CREATE DATABASE IF NOT EXISTS 数据库名称;(不存在则创建)

  1. 删除

DROP DATABASE 数据库名称;
DROP DATABASE IF EXISTS 数据库名称;(存在则删除)

  1. 使用数据库

SELECT DATABASE(); 查看当前使用的数据库名称
USE 数据库名称; 使用数据库

–操作表

  1. 查询表

SHOW TABLES; 查询当前数据库下所有表名称
DESC 表名称; 查询表结构

  1. 创建表

CREATE TABLE 表名(
字段名1 数据类型1,
字段名2 数据类型2,

字段名n 数据类型n
);
MySQL支持多种类型,分为三类
数值,日期,字符串

类型描述
int整型
double浮点型
varchar字符串型(可变长度)
date日期类型,yyyy-MM-dd
datetimeyyyy-MM-dd HH-ss-mm
char固定长度的字符串(缺少补空格)
  1. 修改表

ALTER TABLE 表名 RENAME TO 新的表名; 修改表名
ALTER TABLE 表名 ADD 列名 数据类型; 添加一列
ALTER TABLE 表名 MODIFY 列名 新数据类型; 修改数据类型
ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型; 修改列名和数据类型
ALTER TABLE 表名 DROP 列名; 删除列

  1. 删除表

DROP TABLE 表名;
DROP TABLE IF EXISTS 表名;

DML --操作表

  1. 添加

INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…); 给指定列添加数据
INSERT INTO 表名(全部列名) VALUES(全部值和列名对好); 给全部列添加数据
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…; 批量添加数据
给字符串,日期类型添加值时建议使用英文单引号

  1. 修改

UPDATE 表名 SET 列名1=值1,列名2=值2,…[WHERE 条件];
不加where条件就是修改所有语句

  1. 删除

DELETE FROM 表名 [WHERE 条件];
DELETR FROM 表名 WHERE id in (2,3); 删除多行记录
不加条件就是删除所有数据
在开发中通常用下面那条语句来进行删除所有数据
TRUNCATE TABLE 表名; (属于DDL,删除表记录)


delete和truncate区别
delete是一行一行数据删除
truncate是先删除表,在创建一张相同结构的表(先drop table 表,然后再create table 表)

DQL --查询表

基础查询

  1. 查询多个字段

SELECT 字段列表 FROM 表名;
SELECT * FROM 表名; 查询所有数据

  1. 去除重复记录

SELECT DISTINCT 字段名,字段名,…FROM 表名;
当有多个字段一起去重,字段值全部一样才会被去重

  1. 别名

SELECT 字段名1 AS 别名,字段名2 AS 别名… FROM 表名AS 表别名; 其中AS可以省略 用双引号

条件查询

SELECT 字段列表 FROM 表名 WHERE 条件列表;
Snipaste_2024-04-10_21-08-30.png

排序查询

SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1],排序字段名2 [排序方式2] …;
排序方式:ASC:升序(默认) DESC: 降序
注意:如果有多个排序条件,当前边的条件值一样时,才会根据第二条件进行排序

分组查询

聚合函数
概念:
将一列数据作为一个整体,进行纵向计算
分类:
Snipaste_2024-04-10_21-28-11.png
语法:
SELECT 聚合函数名(列名) FROM 表;
注意:null值不参与所有聚合函数运算
如果字段值有null,mysql中null值和任何值相加为null,在聚合函数中不做统计,这时要用到mysql自带的函数ifnull函数
Snipaste_2024-04-10_21-37-45.png
分组定义
就是按照某一列或者某几列,把相同的数据进行合并输出
查询语法
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤];
Snipaste_2024-04-10_21-49-55.png

分页查询

SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询条目数;
Snipaste_2024-04-10_21-53-39.png

标签:数据库,MySql,基础,查询,SELECT,表名,列名,字段名
From: https://blog.csdn.net/m0_69266818/article/details/137612806

相关文章

  • 解决MySQL安装错误:`The server quit without updating PID file`
    在MySQL安装或启动过程中,你可能会遇到如下错误信息:TheserverquitwithoutupdatingPIDfile(/var/lib/mysql/your_hostname.pid).这个错误通常表明MySQL服务器尝试启动时遇到了问题,导致它异常终止而未能更新PID文件。PID文件用于存储启动的MySQL服务进程的ID。本文旨......
  • java基础
    jdk卸载删除jdk安装目录删除java_HOME删除path下关于java的目录java-versionjava编译和运行javacHelloWorld.java编译java文件,生成.class字节码文件javaHelloWorld运行字节码文件编译型与解释型java数据类型基本类型:整数类型(byte(1),shor......
  • Java基础_13多态、异常和String类
    今天的内容1.多态2.异常3.String类1.多态多种形态。同一个事件,在不同的对象操作事件的时候,会有不同的结果!!!需要三个条件:​1.继承​2.重写​3.父类的引用指向子类的对象1.1向上转型父类的引用指向子类的对象Personperson=newMan();向上转型案例......
  • 网上图书商城的设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行源码+数据库+LW)图
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读300套最新项目持续更新中.....最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm......
  • 游戏分享网站的设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行源码+数据库+LW)手
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读300套最新项目持续更新中.....最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm......
  • 汽车车辆租赁系统的设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行源码+数据库+L
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读300套最新项目持续更新中.....最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm......
  • 智慧外贸系统的设计与实现|SpringBoot+ Mysql+Java+ B/S结构(可运行源码+数据库+LW)买
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。推荐阅读300套最新项目持续更新中.....最新ssm+java项目文档+视频演示+可运行源码分享最新jsp+java项目文档+视频演示+可运行源码分享最新SpringBoot项目文档+视频演示+可运行源码分享2024年56套包含java,ssm......
  • MySQL的下载、安装和配置
    ​一、MySQL的下载下载地址:http://dev.mysql.com/downloads/mysql进入下载页面,选择所需版本,这里示范MySQL8.0图一选择版本,下载MSI(软件安装和配置一同进行)图二二、MySQL的安装双击下载好的mysql-installer-community-8.0.34.0.msi,进入安装页面要安装的服务器版本图三......
  • python基础-数据类型、字典、集合、文件操作(打开、关闭、读写、追加等)
    前言!!!注意:本系列所写的文章全部是学习笔记,来自于观看视频的笔记记录,防止丢失。观看的视频笔记来自于:哔哩哔哩武沛齐老师的视频:​​2022Python的web开发(完整版)入门全套教程,零基础入门到项目实战​数据结构数据类型字符串列表元组集合字典整型布尔None浮点型字节类......
  • 零基础到精通,Postman安装使用教程(一)
    postman的介绍和安装Postman的介绍Postman是一款谷歌开发的接口测试工具,使API的调试与测试更加便捷。它提供功能强大的WebAPI&HTTP请求调试。它能够发送任何类型的HTTP请求(GET,HEAD,POST,PUT..),附带任何数量的参数+headers。postman是一款支持http协议的接口调......