当前位置: 首页 > 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 的安装…...

使用 OpenSearch 的 K-NN 向量搜索来增强搜索功能

使用 OpenSearch 的 K-NN 向量搜索来增强搜索功能 许多应用程序都依赖于提供精确且相关的搜索结果的能力。尽管传统关系数据库的全文搜索功能在某些情况下已经足够,但这些数据库在从文本中提取语义含义或搜索结构化程度较低的数据方面可能会出现不足。在这篇博文中&…...

Less-2(闭合)

我们使用第一关的测试方法尝试一下,打咩 直接看源码&#xff0c;看到&#xff0c;尝试一下闭合 <?php ini_set("display_errors", 0); $str $_GET["keyword"]; echo "<h2 aligncenter>没有找到和".htmlspecialchars($str)."相…...

mysql介绍

MySQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;广泛用于存储和管理数据。它支持多种操作系统&#xff0c;如Linux、Windows、MacOS等。MySQL的特点包括&#xff1a; 1.开源免费&#xff1a;MySQL是开源的&#xff0c;可以免费使用和分发。 2…...

【ROS学习】ROS中 use_sim_time 参数的含义与作用

文章目录 写在前面一、背景描述二、 use_sim_time 参数的含义与作用三、举例说明1. 不设置use_sim_time (也即 use_sim_time false)&#xff0c;播放数据集使用rosbag play **.bag 2. 不设置use_sim_time (也即 use_sim_time false)&#xff0c;播放数据集使用rosbag play **…...

python-查找元素3(赛氪OJ)

[题目描述] 有n个不同的数&#xff0c;从小到大排成一列。现在告诉你其中的一个数x&#xff0c;x不一定是原先数列中的数。你需要输出最后一个<x的数在此数组中的下标。输入&#xff1a; 输入共两行第一行为两个整数n、x。第二行为n个整数&#xff0c;代表a[i]。输出&#x…...

苹果 Safari 的隐私保护与广告追踪问题 :技术进展与挑战

隐私保护的进展与挑战 近年来&#xff0c;浏览器行业在隐私保护技术方面取得了显著进展&#xff0c;尤其是在广告追踪领域。谷歌的 Chrome 浏览器推广了隐私沙盒&#xff0c;通过将用户可能感兴趣的主题分类并推送给广告商。Mozilla Firefox 和 Meta Facebook 则推出了一种名为…...

pytest之fixture

Pytest 中 Fixture 的 yield 用法 在软件测试中&#xff0c;设置和清理测试环境是一个重要的环节。Pytest 作为一个功能强大的测试框架&#xff0c;通过 Fixture 机制简化了这一过程。特别是yield语句的使用&#xff0c;使得 Fixture 能够在测试前进行设置&#xff0c;并在测试…...

Rancher

文章目录 Rancher1. 安装和配置2. 服务部署和管理3. 容器自动化缩容和扩容 Rancher Rancher 是一个开源的企业级容器管理平台&#xff0c;旨在简化容器化应用的部署、管理和运维。它支持多种容器编排引擎&#xff0c;如 Kubernetes、Docker Swarm 等&#xff0c;并提供了统一的…...

Wordpress建站问题记录

从一月到七月因为工作的情况没有进行太深入的开发,想着整理一下把做一个独立站把博客多个渠道发布一下,遇到几个问题在这里记录一下. 先写一下我的配置 系统: centos7 php: 7.4 wordpress: 6.6.1 mysql:8.0.6 1. HTTP 500 Internal 这个问题出现在我将wordpress的文件夹全部…...

JavaFx中通过线程池运行或者停止多个周期性任务

在JavaFX中&#xff0c;要实现点击按钮启动多个周期性任务并通过多线程执行&#xff0c;并在任务结束后将结果写入多个文本组件中&#xff0c;同时提供另一个按钮来停止这些任务&#xff0c;你可以使用ScheduledExecutorService来管理周期性任务&#xff0c;并使用AtomicBoolea…...

德阳网站制作/seo建设招商

圈套模式之投资 在触发器篇&#xff0c;我们讨论了内部触发器的重要性。通过外部触发器产品设计者可以引诱用户做出下一步行动。在行动篇&#xff0c;我们知道用户的一小步行动都是想立即实现潜在的期望。在奖励篇&#xff0c;我们知道不确定的奖励会使用户不断来使用产品。 投…...

小型购物网站开发/苏州百度推广公司

ESC 退出 0 进度条开关 1 屏幕原始大小 2 屏幕1/2大小 3 屏幕1/3大小 4 屏幕1/4大小 S 下一帧 [ -2秒 ] 2秒 ; -1秒1秒 < -0.05秒 > 下一个帧 -> -5秒ffmpeg-20160811-bin.7z转载于:https://www.cnblo…...

现在的官方网站怎么做的/百度网站优化软件

笔记内容整理自mooc上北京理工大学嵩天老师python系列课程数据分析与展示&#xff0c;本人小白一枚&#xff0c;如有不对&#xff0c;多加指正 1.python自带的图像库PIL 1.1常用API Image.open() Image.fromarray() im.save() convert(L) b.astype(uint8)(这个API用于处理后的数…...

wordpress上传文件类型限制/深圳高端seo公司助力企业

写在前面 嗯...打算开始每天写点啥了&#xff0c;不知道能坚持多久。 准备以一周为单位来进行更新&#xff0c;周一~周三写一些图形方面的内容&#xff0c;四~六是和图形没有什么太大关联的内容&#xff08;意会就好&#xff09;&#xff0c;周日作为一个更新重点试着写一些乱七…...

万宁网站建设/b站推广app大全

shell 在计算机科学中&#xff0c;Shell俗称壳&#xff08;用来区别于核&#xff09;&#xff0c;是指“提供使用者使用界面”的软件&#xff08;命令解析器&#xff09;。它类似于DOS下的command和后来的cmd.exe。它接收用户命令&#xff0c;然后调用相应的应用程序。 同时它又…...

学做网站会员/拼多多网店代运营要多少费用

1、控件的生命周期——控件消隐之后&#xff0c;会不会依然可点&#xff0c;导致出现进一步的响应&#xff1f;这个之前没想过&#xff0c;之后需要加入到测试点中 2、在登录界面同时出现弹窗&#xff1a; 如&#xff1a;特殊情况下&#xff0c;同时出现弹窗&#xff0c;又刚好…...