当前位置: 首页 > news >正文

MySQL数据库入门基础知识 【1】推荐

数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。

首先数据有两种,一种是关系型数据库,另一种是非关系型数据库。

关系型数据库是以表的形式来存储数据,表和表之间可以有很多复杂的关系,比如:MySQL、Oracle、SQL Server等;
非关系型数据库是以数据集的形式存储数据,大量数据集中存储在一起,比如:MongDB、Redis、Mencached等
MySQL就是一种开源的关系型数库,也是最受欢迎的数据库之一,今天对MySQL数据的基础知识做了整理,方便自己查看,也欢迎正在学习MySQL数据库的同学参考,谢谢。

目录

1.安装配置连接

2.数据库的增删改查基本操作

2.1 查询显示数据库

2.2  新增创建数据库

2.3 删除数据库

2.4修改数据库

3.SQL数据类型

3.1 整数类型

3.2 定点类型

3.3 字符串类型

3.4 日期时间类型

4.数据表的增删改查

4.1 查询数据表 

4.2 新增数据表

4.3 删除数据表

4.4 修改数据表

5.SQL约束

5.1 主键约束 primary key 数据唯一性 值不可为空 不可重复。

5.2 联合主键约束

5.3 自动递增 auto_increment

5.4 unique 唯一约束

5.5  非空约束 not null 

5.6  default 默认值

6.外键约束



1.安装配置连接

MySQL数据库的安装配置前面已经写过,需要了解的请参考:详细教程 MySQL 数据库 下载 安装 连接 环境配置 全面-CSDN博客

数据库安装包有需要的请去主页资源自行下载!!

2.数据库的增删改查基本操作

连接数据库

在第一步安装的时候我们已经会使用navicat (GUI工具)并成功连接数据库了。

2.1 查询显示数据库

查询显示数据库 show databases;

  1. 输入sql 语句
  2. 选中sql语句,点击查询
  3. 查看查询结果

2.2  新增创建数据库

-- 1.创建数据库 user  这种写法如果当前数据库存在这个表就会报错的
create database user;  


-- 2.如果数据库不存在则会创建;存在就什么也不做 但是不会报错(推荐)
create database if not exists user;

第一种写法当数据库存在user 时报错

第二种写法不会报错

2.3 删除数据库

-- 1.删除数据库 如果数据库不存在会报错
drop database user;

-- 2.如果数据库存在则删除 不存在什么也不会做 但不会报错 (推荐使用)
drop database if exists user;

报错图示

2.4修改数据库

这里我们把创建的user数据库 默认字符集和排序规则进行修改,然后用sql修改成默认值。

-- 这里utf8mb4:字符集 兼容 utf8,且比utf8 能表示更多的字符
-- utf8mb4_0900_ai_ci:字符集对应的排序规则 大小写不影响
alter  database user character set utf8mb4 collate  utf8mb4_0900_ai_ci;

2.5 使用数据库

-- 使用数据库 
select database();
use user;

3.SQL数据类型

sql主要数据类型 :数字、字符串、日期时间等类型。

3.1 整数类型

浮点类型

3.2 定点类型

3.3 字符串类型

3.4 日期时间类型

4.数据表的增删改查

4.1 查询数据表 
-- 查询数据表
select database();
--使用数据库
use demo; -- 查看当前数据库的所有表
show tables;
4.2 新增数据表
--创建数据表 不存在才创建 不会报错 (推荐)
create table if not exists  student (
id int unsigned,
name varchar(20),
age tinyint unsigned,
gender enum('男性','女性','保密'),
createAt timestamp 
)

查询表中的字段信息

4.3 删除数据表
-- 删除数据表  (推荐)drop table if exists student;

4.4 修改数据表

改表名

-- 修改数据表表名
alter table student rename to  students;

加字段

--添加字段
alter table student add updatedAt timestamp;--查看数据表信息
desc student;

 

删除字段

--添加字段
alter table student drop  updatedAt;--查看数据表信息
desc student;

修改字段名称和字段的数据类型

--修改字段的数据类型
alter table student modify createAt datetime;--修改字段的名称和数据类型
alter table student change  createAt createAT TIMESTAMP;

5.SQL约束

对数据表进行约束。

5.1 主键约束 primary key 数据唯一性 值不可为空 不可重复。
//没有primary key约束的
create table if not exists use_1(id int unsigned,name varchar(20)
);-- primary key 主键约束 数据的唯一性 值不可重复 不可为空
create table if not exists use_2(id int unsigned primary key,name varchar(20)
);--主键也可以这样设置
create table if not exists use_3(id int unsigned,name varchar(20),primary key(id)
);

5.2 联合主键约束
-- 联合主键 就是两个字段一起约束数据的唯一性  这里id 和name 两个字段
create table if not exists use_4(id int unsigned,name varchar(20),primary key(id,name)
);

当联合主键约束中的其中一个字段重复不会提示,两个字段完全重复会约束。

5.3 自动递增 auto_increment

设置自动递增的字段,当我们新增数据时,该字段会自动填充数据。

-- 自动递增 auto_increment
create table if not exists use_6(id int unsigned primary key auto_increment,name varchar(20)
);
5.4 unique 唯一约束
-- unique 唯一约束
-- 保证某个字段的值永远不重复 但允许有多个null值存在
-- 一张表可以只能有一个主键,但是可以有多个unique create table if not exists use_7(id int unsigned primary key auto_increment,name varchar(20) unique 
);

5.5  非空约束 not null 
--非空约束 not null 
create table if not exists use_8(id int unsigned primary key auto_increment,name varchar(20) not null  
);
5.6  default 默认值
-- default 默认值
create table if not exists use_9(id int unsigned primary key auto_increment,name varchar(20) not null,gender enum('男性','女性','保密') default('保密'),cerateAt timestamp default crrent_timestamp,updateAt timestamp default crrent_timestamp on update current_timestamp
);

6.外键约束

有关MySQL数据库外键默认约束和外键操作的restrict严格模式、set null置空操作、cascade级联操作的基础知识请参考:MySQL数据库 外键默认约束和action 基础知识【2】推荐-CSDN博客


MySQL数据库数据的增删改查,包括基础查询、where条件查询、排序、分页、聚合、分组、having以及多表查询基础知识请参考:MySQL数据的增删改查 where 条件查询 基础知识 【3】推荐-CSDN博客


相关文章:

MySQL数据库入门基础知识 【1】推荐

数据库就是储存和管理数据的仓库,对数据进行增删改查操作,其本质是一个软件。 首先数据有两种,一种是关系型数据库,另一种是非关系型数据库。 关系型数据库是以表的形式来存储数据,表和表之间可以有很多复杂的关系&a…...

Anaconda下的 jupyter notebook安装及使用

安装 打开Anaconda Powershell Prompt或Anconda Prompt 输入命令conda install jupyter notebook进行安装 启动 切换到工作目录,输入命令jupyter notebook等待浏览器打开网页 命令行启动jupyter notebook的链接复制到浏览器同样可以打开jupyter notebook 在Ancon…...

C语言初阶(11)

1.结构体定义 结构体就是一群数据类型的集合体。这些数据类型被称为成员变量。结构的成员可以是标量、数组、指针,甚至是其他结构体。 2.结构体的声明和结构体变量命名与初始化 结构体声明由以下结构组成 struct stu {char name[12];int age; }; 结构体命名有两…...

Unity获取Animator动画播放完成事件

整理了一些在日常经验中处理动画播放完成事件的方法 方法: 1.Dotween配合异步实现 2.状态机计时方法实现 3.原生动画行为方法实现 方法一:Dotween异步方法 using UnityEngine; using System.Threading.Tasks; using DG.Tweening;public class PlayerAnimAsync : M…...

git submodule 使用

在Git中,子模块(submodule)是一种将一个Git仓库作为另一个Git仓库的子目录嵌入的方式。这使得主仓库能够跟踪和管理对外部依赖的更改。 添加子模块 初始化父仓库:如果你还没有创建父仓库,先创建它。 添加子模块&…...

【Jenkins未授权访问漏洞 】

默认情况下 Jenkins面板中用户可以选择执行脚本界面来操作一些系统层命令,攻击者可通过未授权访问漏洞或者暴力破解用户密码等进入后台管理服务,通过脚本执行界面从而获取服务器权限。 第一步:使用fofa语句搜索 搜索语句: port&…...

前端处理 Excel 文件

引入XLSX XLSX 是一个流行的 JavaScript 库,用于处理 Excel 文件(包括 .xls 和 .xlsx 格式)。它可以在 Node.js 环境和浏览器中运行,提供了丰富的 API 来读取、写入、修改 Excel 文件。当你使用 import * as XLSX from xlsx; 这行…...

(vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束

(vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束 需求:按勾选的顺序给后端传值 难点:在 Element UI 的 el-cascader 组件中,默认的行为是根据数据的层级结构来显示选项,用户的选择也会基于这种层级结构,el-…...

Redis进阶(四):哨兵

为了解决主节点故障,需要人工操作切换主从的情况;因此需要一种方法可以自动化的切换:哨兵的引入大大改变这种情况。 哨兵的基本概念 自动切换主从节点 哨兵架构 1、当一个哨兵节点发现主节点挂了的时候,还需要其他节点也去检测一…...

蓝屏事件:网络安全的启示

“微软蓝屏”事件暴露了网络安全哪些问题? 近日,一次由微软视窗系统软件更新引发的全球性“微软蓝屏”事件,不仅成为科技领域的热点新闻,更是一次对全球IT基础设施韧性与安全性的深刻检验。这次事件,源于美国电脑安全技…...

技术方案评审原则

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录 系列文章目录前言技术方案评审原则1.理论突破阶段2.技术突破阶段3.工程化阶段自动驾驶行业的技术方案分析前言 认知有限,望大家多多包涵,有什么问题也希望能够与大…...

117页PPT埃森哲-物流行业信息化整体规划方案

一、埃森哲-物流行业信息化整体规划方案 资料下载方式,请看每张图片右下角信息 埃森哲在物流行业信息化整体规划项目中的核心内容,旨在帮助物流企业通过信息技术的应用实现业务流程的优化、运营效率的提升以及市场竞争力的增强。以下是埃森哲在此类项目…...

百度网盘不下载怎么直接打印文件?

在数字化时代,百度网盘作为我们存储和分享文件的重要工具,承载了大量的文档、图片和资料。然而,当需要打印这些文件时,很多用户会面临一个共同的问题:不想下载到本地再打印,既占用空间又浪费时间。那么&…...

设置了 robots.txt 禁止爬虫抓取,为什么还是能被百度搜索出来

虽然设置了 robots.txt 禁止爬虫抓取,但网页仍可能被百度搜索出来,主要有以下几个原因: robots.txt 只是一种建议性协议,并非强制性[2]。虽然大多数搜索引擎会遵守 robots.txt 的规则,但并不是所有爬虫都会严格遵守。 …...

DedeCMS-V5.7.82-UTF8织梦管理系统漏洞

将靶场环境放到www目录下——访问/dedecms/uploads 安装程序 - 织梦内容管理系统 V5.7 UTF8SP2 同意协议——继续 继续 配置后——点击继续 进入后台 登录后台——填写用户名密码。 方法一:上传shell文件 后台——核心——附件管理——上传新文件。 访问/dedecms…...

【Python】字符串练习题及代码示例

1、使用while循环实现对字符串中每个字符进行输出。 代码示例: 2、请将代码实现如下进制的转换。 (1)v1675,请将v1转换为二进制。 代码: 注意:将十进制数转换为二进制数的方法是:bin(a),a是整型&#x…...

fluent动网格profile udf 注意事项

案例一: ((profile_name transient 2 0) ....第一行 (time 0 15.0) ....第二行 (v_x 1.2 1.2)) …...

【doghead】mac构建 2: player 端 clion构建

准备工作 【doghead】mac构建 1 【doghead】mac: clion2024.1启动崩溃 mbp的 uv 构建ok zhangbin@zhangbin-mbp-2  ~/tet/Fargo/zhb-bifrost/Bifrost-202403/worker/third_party/libuv   main clion使用lldb cmake构建 更...

论网络流(最大流篇)--新手入门超详解--包教包会

论网络流--新手入门超详解--包教包会 1 前言2 什么是最大流3最大流问题的求解(1)问题转化--增广路的引入(2)走回头路--EK算法(3)EK的弊端(4)化图为树--DINIC算法 4后记 1 前言 网络…...

环境搭建:全面详尽的 MongoDB Shell MongoDB Server介绍、安装、验证与配置指南(以 Windows 系统为主)

环境搭建:全面详尽的 MongoDB Shell & MongoDB Server介绍、安装、验证与配置指南(以 Windows 系统为主) MongoDB 是一个基于文档的 NoSQL 数据库,以其高性能、灵活性和可扩展性而受到广泛欢迎。本文将带您完成 MongoDB 的安装…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...