MySQL数据库 数据库基本操作(一):数据库的认识与基本操作

news2024/11/19 14:33:33

1. 数据库的基本认识

1.1 什么是数据库

专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据库可以提供远程服务,即通过远程连接来使用数据库,因此也称为数据库服务器。

1.2 数据库的分类

数据库可以大体分为:关系形数据库(eg:mysql)和非关系型数据库(eg:radis)

1.3 数据库的组成结构

  1. 整体结构

整体结构是客户端-服务器结构,数据库客户端和服务器通过网络来连接.客户端和服务器可以在同一台主机上,也可以在不同的机器上,在日常开发中,第二种较为常见.

  • 客户端(client):主动发起请求的一方
  • 服务器(server):被动接收请求的一方
  • 请求(request):客户端主动发送给服务器的数据
  • 相应(response):服务器给客户端返回的数据
    服务器
    在这里插入图片描述
  1. 分布式系统

在我们日常开发中,大部分的服务器都是给多个客户端提供服务(也有专属服务器,但是不多),服务器很有可能出现崩溃的情况,这是为了不给用户带来损失,我们便引出了分布式系统,说的直白一点就是不止有一台服务器在为用户提供服务,一台服务器挂掉其实问题也不大.
在这里插入图片描述

1.4 数据库的组织形式

服务器->数据库->数据表->行->列
在这里插入图片描述

2. 数据库的操作

  1. 显示当前数据库
    show databases;
    在这里插入图片描述

  2. 创建数据库
    create database 数据库名
    eg: 创建一个名为test1的数据库
    create database test1;
    在这里插入图片描述

说明:
当书数据库没有指定字符集和校验规则时,系统默认使用字符集utf8,这个字符集特殊的地方就是不包含emoji表情

[注意]

  • 如果数据库中已经有了该数据库,则不创建该数据库,否者创建.
  • 如果数据库名字与mysql关键字重合的时候,则使用反引号`引起来.
  1. 使用数据库(选中数据库)
    use 数据库名
    eg:选中test1
    use test1;
    在这里插入图片描述

  2. 删除数据库
    drop database 数据库名
    eg: 删除test1
    drop database test1;
    在这里插入图片描述

[说明]

  • 删除数据库是一个危险操作,操作时候需要谨慎
  • 删除数据库之后,里面的表和数据全部被删除

3. 常用数据类型

3.1 数据类型

分为整形和浮点型

数据类型大小说明对应Java类型
bit(m)m指定位数,默认为1二进制数字,m范围从1~64boolean
tinyint1字节byte
smallint2字节short
int4字节int
bigint8字节long
float(m,d)4字节单精度,m指定长度,d指定小数位数float
bouble(m,d)8字节double
decimal(m,d)m,d最大值+2双精度,m表示长度,d表示小数位数.精确数值
numeric(m,d)m,d最大值+2的decimal一样

[说明]

  • decimal相比于float和double数值是精确的值,没有小数尾数的偏差,自然他的计算需要花费更多的时间.
  • 在我们日常开发中,常用的数据类型,整数类型int,浮点类型decimal(m,d).

3.2 字符串类型

数据类型大小说明对应Java类型
varchar(size)0~65535字节size为字符串长度,长度可变String
text0~65535字节长文本数据String
mediumtext0~16777215字节中等长度文本数据String
blob0~65535字节二进制形式的长文本数据byte[]

[注意]

  • size代表的是字符串的长度,不是字节数.
  • varchar的大小为底层自适应,但是不超过规定的最大容量.
  • 中等长度文本可以用来储存更长的文本,但是增删查改的效率相对较低
  • 在日常开发中,一般用varchar(size)比较多.

3.3 日期类型

数据类型大小说明
datetime8字节1000~9999年,不会进行时区的检索和转换
timestamp4字节1970~2038年,自动检索当前时区并进行转换

[说明]

  • 第二个我们叫时间戳,其内部其实存储的是一个整数,只不过通过时间的转换对时间进行了格式化.
  • 在日常开发中,一般用datetime.

4. 表的操作

  1. 需要对数据库中的表进行操作的时候,必须先选中数据库.比如对test数据库进行表操作.
    use test
    在这里插入图片描述

  2. 展示表
    show 表名,eg: show tables展示test数据库中的所有表.
    在这里插入图片描述

  3. 查看表的结构
    desc 表名,eg: desc emp;
    在这里插入图片描述

这些内容包括:有哪些列,都叫啥,啥类型,以及有啥注意的.

  1. 创建表
    create table 表名 (列名1 数据类型,列名2 数据类型…);

实例:
create table test(id int,name varchar(5),age int,sex varchar(2));

在这里插入图片描述

  1. 删除
    drop table 表名;

实例:
drop table test;
在这里插入图片描述

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

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

相关文章

基于Python的简单颜色替换

当我们临时需要改变一个照片的颜色,使其符合我们想要的主题色时,对于不会PS的我就只能使用一下Python来实现这个简单的过程 比如我想要中国农大农学院的院徽,但在官网上提取出来的图片是白色的 而我想要符合农学主题的绿色,将图片…

产品经理知识地图:与NPDP国际资格认证知识体系相吻合的实践探索

在数字化时代的浪潮下,产品经理的角色愈发关键。作为连接市场、技术与用户的桥梁,产品经理需要拥有全面的知识体系与多元化的能力。本文旨在构建与NPDP产品经理国际资格认证知识体系相吻合的产品经理知识地图,并结合实际案例,探讨…

VSCode安装及Python、Jupyter插件安装使用

VSCode 介绍 Visual Studio Code(简称VSCode)是一个由微软开发的免费、开源的代码编辑器。VSCode是一个轻量级但是非常强大的代码编辑器,它支持多种编程语言(如C,C#,Java,Python,PHP&#xff0…

jupyter notebook 配置默认文件路径

Jupyter是一种基于Web的交互式计算环境,支持多种编程语言,如Python、R、Julia等。使用Jupyter可以在浏览器中编写和运行代码,同时还可以添加Markdown文本、数学公式、图片等多种元素,非常适合于数据分析、机器学习等领域。 安装 …

Redis底层数据结构-Dict

1. Dict基本结构 Redis的键与值的映射关系是通过Dict来实现的。 Dict是由三部分组成,分别是哈希表(DictHashTable),哈希节点(DictEntry),字典(Dict) 哈希表结构如下图所…

arm的状态寄存器

目录 一、arm 的 PSRs二、CPSR2.1 CPSR_cxsf 三、SPSR四、APSR 一、arm 的 PSRs arm 中有很多程序状态寄存器(Program Status Registers,PSRs)用于存储处理器的状态信息,包括 CPSR\SPSR\FPSR\APSR 等: CPSR&#xff…

基于vscode Arduino插件开发Arduino项目

基于vscode Arduino插件开发arduino项目 插件配置问题记录1. 指定编译输出文件夹2. 编译下载时不输出详细信息3. 输出端口信息乱码4. 通过串口输出中文,vscode对应的串口助手上会显示乱码(未解决) 插件配置 环境:Arduino插件版本…

【leetcode】将x减到0的最小操作数/水果成篮/找到字符串中所有字母异位词{史上最容易懂的解析}

文章目录 1.将x减到0的最小操作数2.水果成篮3.找到字符串中所有字母异位词 1.将x减到0的最小操作数 分析题目 x不断地减去数组两端的值 看能否减到0;是不是就是在问:nums数组中存不存在【左端右端】组成的连续区间,区间上数的和为x 继续分析 …

VSCode 插件 Template String Converter

1. 插件介绍 点击安装 Template String Converter 插件 Template String Converter 翻译后:模板字符串转换器。 插件作用:当 JavaScript 字符串中键入 ${ 时自动将引号转为反引号,当删除 ${ 时自动将反引号转为普通引号 功能示例&#xff…

Verilator入门11:仿真玄铁测试case

这一节,介绍下如何使用verilator仿真玄铁,之前有相关介绍,本节将进一步介绍下玄铁具体case的仿真,首先需要clone玄铁代码: git clone https://github.com/kknet/openc910.git 同时下载交叉编译工具,网站地…

YOLOv8 UI界面设计+热力图显示

进入可视化设计界面,设计UI pyside6-designer 设计好UI保存,然后通过以下命令将ui文件保存为py pyside6-uic myui.ui > myui.py 通过以下命令将资源文件qrc保存为py pyside6-rcc my_rc.qrc > my_rc.py 写主窗口函数实现功能... 项目基于yol…

vue 数据埋点

最近菜鸟做项目,需要做简单的数据埋点,不是企业级的,反正看渡一的视频,企业级特别复杂,包括但不限于:错误收集、点击地方、用户行为…… 菜鸟的需求就是简单收集一下用户的ip、地址、每个界面的访问时间&a…

Ubuntu20.04使用Neo4j导入CSV数据可视化知识图谱

1.安装JDK( Ubuntu20.04 JDK11) sudo apt-get install openjdk-11-jdk -y java -version which java ls -l /usr/bin/java ls -l /etc/alternatives/java ls -l /usr/lib/jvm/java-11-openjdk-amd64/bin/java确认安装路径为/usr/lib/jvm/java-11-openjd…

【VUE+ElementUI】el-table表格固定列el-table__fixed导致滚动条无法拖动

【VUEElementUI】el-table表格固定列el-table__fixed导致滚动条无法拖动 背景 当设置了几个固定列之后,表格无数据时,点击左侧滚动条却被遮挡,原因是el-table__fixed过高导致的 解决 在index.scss中直接加入以下代码即可 /* 设置默认高…

最优算法100例之26-翻转单词顺序

专栏主页:计算机专业基础知识总结(适用于期末复习考研刷题求职面试)系列文章https://blog.csdn.net/seeker1994/category_12585732.html 题目描述 牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句…

【北京迅为】《iTOP-3588开发板系统编程手册》第1章 系统编程初探

RK3588是一款低功耗、高性能的处理器,适用于基于arm的PC和Edge计算设备、个人移动互联网设备等数字多媒体应用,RK3588支持8K视频编解码,内置GPU可以完全兼容OpenGLES 1.1、2.0和3.2。RK3588引入了新一代完全基于硬件的最大4800万像素ISP&…

基于单片机的超声波测距仪设计_kaic

摘 要 如今社会持续深化转型,在人工智能领域,传感器采集外部数据,经过处理器对数 据运算和处理,从而实现相应的功能。比如自动驾驶技术中,超声波传感器应用广泛, 超声波是一种频率在 20khz 以上的声波&…

STM32-04基于HAL库(CubeMX+MDK+Proteus)中断案例(按键中断扫描)

文章目录 一、功能需求分析二、Proteus绘制电路原理图三、STMCubeMX 配置引脚及模式,生成代码四、MDK打开生成项目,编写HAL库的按键检测代码五、运行仿真程序,调试代码 一、功能需求分析 在完成GPIO输入输出案例之后,开始新的功能…

如何防止IP泄露,安全匿名上网?

当互联网成为每个家庭的重要组成部分后,IP地址就成了你的虚拟地址。您的请求从该地址开始,然后 Internet 将消息发送回该地址。那么,您担心您的地址被泄露吗? 对于安全意识高或者某些业务需求的用户,如果您正在寻找保护…

用户认证安全性测试

用户认证安全性测试 认证与会话管理认证--Authentication01 常见认证方式02 session认证Session Fixation攻击Session保持攻击 03 Token认证多因素认证session和token区别 04 暴力破解密码的那些事密码设置推荐策略 会话--Authorization 权限控制权限管理方式垂直权限管理水平权…