MySQL数据库(基础篇一)

一、数据库基本知识

1.1 基础知识:

数据库的作用:

  • 用于存储网页中接收到的数据

数据库:

  • 就是用来存储数据的那个文件

常见的数据库管理软件:MySQL、Oracle、SqlServer、DB2...,通过使用数据库管理软件可以更高效的管理数据

1.2 关系型数据库

Oracle、DB2、MySQL、SqlServer、PostgreSQL

1.3 非关系型数据库

Redis、Memcached、MongoDB

1.4 如何理解数据库

  • 数据库是一个目录
  • 数据库目录下会存放一个/多个数据文件),每个数据文件都是一个表
  • 每个数据文件中(也就是每个表中)会存储具体的数据

1.5 对数据进行的操作

二、MySQL基本概念

MySQL的用户

  • 默认用户
  • 自定义用户

库、表、数据

  • 库:其实就是一个目录【文件夹】
  • 表:其实就是目录中的一个文件
  • 数据:其实就是文件中的内容

表示数据的时候,两个概念

  • 记录
    • 每一行就是一条记录
  • 字段
    • 每一列就是一个字段

使用MySQL的方法

  • 第一种:用MySQL自带的客户端工具
    • 优点:不需要安装额外的软件就可以使用,跟方便
    • 缺点:只能通过命令阿里完成操作,操作过程有一定的门槛
  • 第二种:用第三方客户端工具【Navicat】
    • 优点:可以用图形化带的方式来操作,门槛更低
    • 缺点:软件收费

2.1 MySQL用户管理基础

MySQL的用户格式:

  • 用户名@主机地址

MySQL创建用户:

  • 格式1:授权用户可以管理所有的库和表
    • grant all on *.* to "用户名"@"主机名" identified by "密码"
  • 格式2:授权用户仅仅可以管理指定的库中的全部表
    • grant all on 库名.* to "用户名"@"主机名" identified by "密码"
  • 格式3:授权用户可以管理指定的库中指定的表
    • grant all on 库名.表名 "用户名"@"主机名" identified by "密码"

三、数据库基础操作

3.1 简介

对于数据库的操作有四类:增删改查

  • 增:添加新的行
  • 删:删除表中的行、表本身、库
  • 改:修改(修改表中的数据、修改表)
  • 查:查看库中的有哪些

对于数据库的操作对象

  • 数据

3.2 操作库

操作1:查看系统中有哪些数据库

        show databases;

操作2:创建数据库

        create database 库名 character set 字符集 collate 排序规则;

操作3:删除数据库

        drop database 库名

3.3 操作表

  • 查看当前库中有哪些表【提前选定一个库】
  • 新建表【提前选定一个库】
  • 删除表【提前选定一个库】

1、选定数据库

        use 库名

2、查看选定的数据库

        select database()


3、查看当前库中有哪些表

        show tables


4、查看一个已经存在的表的表结构

  • 在查看表的时候,除了可以查看表名之外,也可以查看表结构
  • 表结构:表中有几个字段,字段分别叫什么名字,字段有什么属性
  • 查看表名:show tables
  • 查看表结构:desc 表名


5、删除表

        drop table 表名

3.4 新建表

  • 表中的每一列都是一个字段
  • 每个字段只能存储一种类型的数据
  • 数据类型
    • int
    • float
    • char
    • varchar

创建表的格式

create table 表明 (字段名 类型 属性..,字段名 类型 属性..,字段名 类型 属性..);

字段的修饰【属性】

  1. int:整形【整数类型】
  2. float:浮点型【小数类型】
  3. char:字符类型【无论存储多少个数据,占用内存空间大小固定】
  4. varchar:字符类型【内存空间会随着存储的数据变多,而变大】
  5. unsigned:表示这个数字是无符号数子【只能是正数】
  6. enum:枚举类型【给用户一个选择范围,用户仅仅可以选择其中的一个】
  7. null:这个字段可以为空【这个字段可以不写入内容】
  8. not null:这个字段不可以为空【这个字段中必须得写数据,否则报错】
  9. primary key:主键,用来唯一标识表中的一条记录【主键的内容不能重复】
  10. auto_increment:设置主键自增
  11. default:设置字段的默认值

3.5 在表中插入数据

格式1:向表中的全部字段都添加数据

        insert into 表名 values(值1,值2,值3)

格式2:向表中的指定的几个字段添加数据

        insert into 表名(字段,字段,字段...)  values(值1,值2,值3...)

3.6 查看表中的数据

方法1:鼠标在界面中查看

方法2:执行sql命令

        select * from 表名;

3.7 删除表中的数据

关于删除

  1. drop database 库名                   # 删除一个数据库
  2. drop table 表明名                      # 删除一个表
  3. delete from 表名                        # 删除表中的数据【全部数据】
  4. delete from 表名 where 条件     # 删除表中的数据【仅仅删除符合条件的数据】
  5. truncate 表名                             # 删除表中的数据,而且会截断表【id会重新开始自增】

截断表

  • 表的主键可能会自增,如删除表中的数据后,主键依然会在前面的基础继续自增
  • 截断表:删除表中的数据,同时让重新从1开始自增

截断表的格式

truncate 表名

3.8 修改表中的数据

格式1:修改表中的全部记录

        update 表名 set 字段 = 值

格式2:修改表中符合条件的记录

        update 表名 set 字段 = 值 where 条件

3.9 修改数据库

  • 修改名字
  • 修改字符集

数据库的名字无法直接修改

1、修改数据库的名字可以先将原有的数据库导出

2、然后删除原来的库

3、然后创建一个新的数据库

4、最后将导出的数据导入到新数据库中

修改数据的字符集

alter database 库名 character set "字符集" collate "排序规则";

3.10修改表

增加字段

alter table 表名 add column 字段名 字段属性 afte 字段名;

删除字段

建议不要删除字段

alter table 表名 drop column 字段名

修改字段名

alter table 表名 change column 字段名 新字段名 属性约束;

修改字段的默认值

alter table 表名 modify column 字段名 属性 默认值

案例:将job的默认值设置“Student”

alter table tb001 modify column addr char(55) default 'Student'

修改字段顺序

alter table 表名 modify column 字段名 属性 位置

案例:将job字段放到name字段后面

alter table tb001 modify column job char(30) default "student" after name

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

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

相关文章

如何解决Layui后台接口返回数据,但是table.render不渲染表格数据的问题

我这边进行了pareData数据格式转换,response重新定义了layui的参数格式规范 接口正常返回了数据 但是就是不渲染,我这个郁闷啊!! 忽然,我把后台重新定义的layui规定的格式参数,有个参数名叫data&#xff0…

sql注入五-WEB攻防-注入工具SQLMAPTamper编写指纹修改高权限操作目录架构

演示案例: 数据猜解-库表列数据&字典权限操作-文件&命令&交互式提交方法-POST&HEAD&JSON绕过模块-Tamper脚本-使用&开发分析拓展-代理&调试&指纹&风险&等级 #参考: https://www.cnblogs.com/bmjoker/p/9326258.…

自动化的免下车服务——银行、餐厅、快餐店、杂货店

如果您在20世纪70年代和2020年分别驾车经过免下车服务餐厅(汽车穿梭餐厅),您会发现,唯一的不同是排队的车型。50多年来,免下车技术一直为我们提供着良好的服务,但现在也该对它进行现代化改造了。 乘着AI和自…

【Spring Boot 3】【YAML】读取YAML文件

【Spring Boot 3】【YAML】读取YAML文件 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花…

LeetCode 2657.找到两个数组的前缀公共数组

给你两个下标从 0 开始长度为 n 的整数排列 A 和 B 。 A 和 B 的 前缀公共数组 定义为数组 C ,其中 C[i] 是数组 A 和 B 到下标为 i 之前公共元素的数目。 请你返回 A 和 B 的 前缀公共数组 。 如果一个长度为 n 的数组包含 1 到 n 的元素恰好一次,我…

FPGA与以太网相关接口知识

一:一般硬件架构;(对于1000m网一般都使用普通io口,普通管脚能跑800M(正点技术说的))) 1:FPGA普通管脚——phy芯片(pcspma)——rg45 2:FPGA(GT)光口(利用fpga的GT,直接节约了phy芯片…

先进电机技术 —— 长线缆驱动电机面临哪些问题?

一、长线驱动问题简述 电机变频驱动器(VFD)输出侧采用长线缆驱动电机运行时,将会面对多种问题,主要包括但不限于: 此图片来源于网络 1. **电压降**: - 长线缆的电阻会导致电压降增大,当电…

53 initrd/initramfs 相关

前言 呵呵 这里主要是 探究一下 根文件系统 相关的东西 以及 附加了一些 系统启动的相关信息 计算机启动 硬件重置寄存器 设置初始化数据 计算机访问 0xffff0, 执行 bios 的代码, bios 选择启动设备, 然后执行 启动设备 boolloader 的代码 bootloader 将 boot.img 加载…

你可敢信这是 AI 写的歌?suno 真的惊到我了!

你可敢信这是 AI 写的歌?suno 真的惊到我了! AI 音乐平台 suno 横空出世,效果惊人,我赶紧试了一下,amazing!!! suno创作 - 背叛 这是我随意创作的,这几天对诅咒前男友那首…

MySQL常用函数整理,建议收藏!

常见函数 字符串函数数字函数日期函数聚合函数流程控制函数 一、字符串函数 concat(s1,s2...,sn) --将s1,s2...,sn连接成字符串,如果该函数中的任何参数为 null,返回结果为 null concat_ws(sep,s1,s2...,sn) --将s1,s2...,sn连接成字符串,并用sep字符…

数据分析-Pandas分类数据的类别排序和顺序

数据分析-Pandas类别的排序和顺序 数据分析和处理中,难免会遇到各种数据,那么数据呈现怎样的规律呢?不管金融数据,风控数据,营销数据等等,莫不如此。如何通过图示展示数据的规律? 数据表&…

【暴刷力扣】15. 三数之和

15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三…

xilinx的高速接口构成原理和连接结构

本文来源: V3学院 尤老师的培训班笔记【高速收发器】xilinx高速收发器学习记录Xilinx-7Series-FPGA高速收发器使用学习—概述与参考时钟GT Transceiver的总体架构梳理 文章目录 一、概述:二、高速收发器结构:2.1 QUAD2.1.1 时钟2.1.2 CHANNEL…

【阅读论文】When Large Language Models Meet Vector Databases: A Survey

摘要 本调查探讨了大型语言模型(LLM)和向量数据库(VecDB)之间的协同潜力,这是一个新兴但迅速发展的研究领域。随着LLM的广泛应用,出现了许多挑战,包括产生虚构内容、知识过时、商业应用成本高昂…

【Godot4.2】基础知识 - Godot中的2D向量

概述 在Godot中,乃至一切游戏编程中,你应该都躲不开向量。这是每一个初学者都应该知道和掌握的内容,否则你将很难理解和实现某些其实原理非常简单的东西。 估计很多刚入坑Godot的小伙伴和我一样,不一定是计算机专业或编程相关专…

利用sealos安装k8s集群

1. 环境准备 准备三台干净(未安装过k8s环境)的虚拟机 # 所有的主机都要配置主机名和域名映射 # 设置主机名 hostnamectl set-hostname k8s-master01 # vim /etc/hosts 192.168.59.201 k8s-master01 192.168.59.202 k8s-worker01 192.168.59.203 k8…

基于ssm停车场管理系统(程序+文档+数据库)

** 🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅** 一、项目概述…

腾讯云GPU云服务器_并行计算_弹性计算_AI_深度学习

腾讯云GPU服务器是提供GPU算力的弹性计算服务,腾讯云GPU服务器具有超强的并行计算能力,可用于深度学习训练、科学计算、图形图像处理、视频编解码等场景,腾讯云百科txybk.com整理腾讯云GPU服务器租用价格表、GPU实例优势、GPU解决方案、GPU软…

java数据结构与算法基础-----字符串------正则表达式的练习案例---持续补充中

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 正则表达式基础:https://blog.csdn.net/grd_java/article/det…

【学不动系列】lint-staged 使用教程

lint-staged 使用教程 lint-staged 是一个在git暂存文件上运行linters的工具,当然如果你觉得每次修改一个文件就给所有文件执行一次lint检查不恶心的话,这个工具对你来说就没有什么意义了,请直接关闭即可。 npx mrm lint-staged它将根据pac…