【MySQL】数据库的介绍以及数据库基础

目录

🌳介绍

🎄数据库操作

🚩显示当前数据库

🚩创建数据库

​编辑🚩使用/选中 数据库 

🚩删除数据库

🌴常用的数据类型

🚩数值类型

🚩字符串类型

🚩日期类型

🎄表操作

🚩列出当前数据库的表

🚩创建表

🚩查看表结构

🚩删除表


🌳介绍

SQL本质是一个"编程语言",专门用来操作数据库的编程语言,和Java,C之类的画风差别很大。

SQL是各个数据库之间通用的,各种数据库使用的语言都是SQL

MySQl是一个"客户端-服务器"结构的程序,很多场景,是需要多个程序相互配合,完成一系列的工作,这个过程中,多个程序之间,往往会使用网络进行通信(这些在前面已经具体讲述过)。

  • 客户端(Client):主动发起请求的一方
  • 服务器(Server):被动接收请求的一方
  • 请求(Request):客户端主动给服务器发送的数据
  • 响应(Response):服务器给客户端返回的数据

MySQL其实涉及到两个部分,既有客户端,也有服务器。

MySQL服务器:

MySQL客户端:

输入密码之后,看到红色框框里面的了,此时就是客户端连上数据库服务器了

MySQL存储数据,是存储在硬盘上的。

一个MySQL服务器上,可以有多个数据库(这里指数据集合),每个数据库里可以有多个数据表,每个数据表里可以有很多行,每个行中可以有很多列。

🎄数据库操作

针对数据集合的操作

🚩显示当前数据库

show databases;

使用如下:

🚩创建数据库

创建一个新的数据集合

create database 数据库名;

collate: 指定数据库字符集的校验规则

使用如下:

注意:数据库名要求不能和SQL中的关键字重复,也就是带有特定含义的单词,例如create,database....但是MySQL也给我们留了个口子,如果实在想用关键字作为数据库名,可以使用反引号(`),把这个名字引起来。

在创建数据库的时候,还可以指定字符集

字符集:在计算机中,一个汉字没有固定的字节个数,和字符编码是密切相关的,例如在ASCII中,约定了某个数字就表示某个字符(A=>65),对于汉字来说,数目远远超过ASCII字符,汉字大概有6w多个,这里也是搞了一个表格使用不同的数字表示不同的汉字,但是在市面上这样的表格不止一个,实际上有多个,并且编码规则不同,到今天,当下主流的汉字编码方式有两种,GBK(两个字节表示一个汉字),utf-8(变长编码,对于汉字来说表示三个字节,广泛使用,能表示世界上各种语言的文字)。

后续创建数据库的时候,建议使用utf8作为字符集,mysql 5.7默认的字符集是拉丁文,不支持中文

create database 数据库名 charset 字符集名;

🚩使用/选中 数据库 

上述显示数据库,看到有各种数据库,就需要选中某个数据库在进行操作

use 数据库名;

使用如下: 

接下里的操作都是针对这个被选中的数据库进行的。

🚩删除数据库

drop database 数据库名;

使用如下:

注意:这是一个高风险的操作,在工作中删除数据库饭碗也没了。

🌴常用的数据类型

🚩数值类型

注意:float和double存在精度误差,不适合用来表示对于"精度要求"很高的场景,如算钱,科学计算等。也慎重使用浮点数进行比较,例如 0.1 + 0.2 == 0.3 => false

DECIMAL(M,D)就能解决上述问题了,可精确的存储小数,但是也会付出一些代价,相对于float和double来说,存储的时候会消耗更多的空间,计算的时候也需要更多的时间。

🚩字符串类型

VARCHAR(SIZE)可变长的字符串,例如SIZE为256,那么这个长度可能比256少,不会超过256;TEXT为长文本数据,单位是字符,一个汉字就是一个字符。

🚩日期类型

数据类型小结:

表示整数 => int ; 表示小数 => double ; 表示字符串 => varchar ;表示时间日期 => datetime 重点掌握,其他简单了解即可

🎄表操作

注意:再进行对数据库的表操作之前,一定要先 use 选中数据库。

🚩列出当前数据库的表

show tables;

由于当前的数据库中没有创建任何的表,所以是空的 

 

🚩创建表

create table 表名(列名 类型,列名 类型......);

设定表名/列名的时候,也是不能和SQL的关键字重复的,若要重复,也需要反引号(``)引起来,同一个数据库中,表名不能重复(不同数据库中就可以了)。 

显示当前数据库的表:

🚩查看表结构

desc 表名;

 

🚩删除表

drop table 表名;

这个操作不仅删除了表的本身,里面的数据也都删除了。

 注意:删除表是一个比删除数据库还要危险的操作!!!

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

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

相关文章

【自用软件】IDM下载器 Internet Download Manager v6.42 Build 10

下载IDM&pj安装教程 Internet Download Manager,简称 IDM,是国外的一款优秀下载工具。目前凭借着下载计算的速度优势在外媒网站中均受好评,现在已被多数国人熟知。Internet Download Manager 提升你的下载速度最多达5倍,安排下…

【HarmonyOS】深入理解LocalStorage之逻辑处理存取

【HarmonyOS】深入理解LocalStorage 一、前言 鸿蒙应用中关于状态管理的处理机制有很多。从状态装饰器State prop等,LocalStrong,AppStrong到首选项,再到数据库。内存到持久化。轻量级到重量级。全方位覆盖。 学习和记忆技术点&#xff0c…

Java-数据结构-Map和Set-(二)-哈希表 |ू・ω・` )

文本目录: ❄️一、哈希表: ☑ 1、概念: ☑ 2、冲突-概念: ☑ 3、冲突-避免: ☞ 1)、避免冲突-哈希函数的设计: ☞ 2)、避免冲突-负载因子调节(重点): ☑ 4、冲突-解决&…

那年我双手插兜,使用IPv6+DDNS动态域名解析访问NAS

估计有很多科技宅和我一样,会买一个NAS存储或者自己折腾刷一下黑群晖玩玩,由于运营商不给分配固定的公网IP,就导致我在外出的时候无法访问家里的NAS,于是远程访问常常受到IP地址频繁变动的困扰。为了解决这一问题,结合…

Python 统计学

Python 统计学 Python 是一种广泛使用的编程语言,尤其在数据科学和统计学领域。它提供了丰富的库和工具,使得进行统计分析变得更加容易和高效。本文将介绍 Python 在统计学中的应用,包括基本统计概念、常用的统计函数和库,以及如何使用 Python 进行数据分析。 基本统计概…

git本地分支落后于远程分支,因此推送被拒绝怎么办?

error: failed to push some refs to https:// 这个错误提示表明你的本地分支落后于远程分支,因此推送被拒绝。你需要先将远程分支的更改合并到本地分支,然后再推送。 以下是解决方法: 拉取远程分支的更改并合并: git pull orig…

【Kubernetes】常见面试题汇总(三十八)

目录 91. Docker 的网络通信模式。 特别说明: 题目 1-68 属于【Kubernetes】的常规概念题,即 “ 汇总(一)~(二十二)” 。 题目 69-113 属于【Kubernetes】的生产应用题。 91. Docker 的网络通信模式…

element 输入框文字+对应签进行长度 和 的判断

输入文字长度 指定标签的长度 &#xff08;判断长度并提示&#xff09; <div style"position: relative;" classchangyongyu><el-input type"textarea" :autosize"{ minRows: 8, maxRows: 8 }" style"margin-bottom:10px;"…

计算机网络面试题——第一篇

1. 常见的HTTP状态码有哪些 1xx&#xff1a;信息响应 100 continue&#xff1a; 服务器已经接受请求的初步部分&#xff0c;客户端应继续请求。101 switching protocols&#xff1a;服务器统一切换协议&#xff0c;如从HTTP切换到websocket。 2xx&#xff1a;成功 200 OK&a…

pytest - 多线程提速

import timedef test1_test1():time.sleep(1)assert 1 1, "11"def test1_test2():time.sleep(1)assert 1 1, "11" 上面2个函数&#xff0c;执行情况&#xff1a; 正常执行时&#xff0c;花费 2.08s2个进程执行时&#xff0c;花费 1.18s2个线程执行时&a…

k8s篇之数据挂载类型及区别

一、K8S集群数据挂载类型及区别 在 Kubernetes 中,数据挂载类型主要有以下几种,每种类型适用于不同的场景。以下是主要的挂载类型及其应用场景的详细说明: 1. emptyDir 描述:emptyDir 是一个空目录,其生命周期与 Pod 相同。 它在 Pod 创建时被创建,并在 Pod 删除时被清…

NLP:命名实体识别及案例(Bert微调)

1. 命名实体识别 1.1 序列标注 序列标注(Sequence Labeling)是NLP中最基础的任务之一&#xff0c;其应用十分广泛。它指的是对给定的序列(如文本中的单词或字符)中的每个元素进行标注&#xff0c;以识别出该元素在序列中的特定角色或属性。 1.2 命名实体识别 命名实体识别(Na…

【React】useEffect

1. 基本介绍 概念 语法 副作用函数依赖项数组&#xff08;空数组时&#xff0c;只会在组件渲染完毕后执行一次副作用函数&#xff09; 2. 使用 import { useEffect, useState } from reactfunction App() {const [value, setValue] useState(0)useEffect(() > {console…

如何使用ssm实现小区物业管理系统

TOC ssm733小区物业管理系统jsp 第一章 绪论 1.1 研究背景 在现在社会&#xff0c;对于信息处理方面&#xff0c;是有很高的要求的&#xff0c;因为信息的产生是无时无刻的&#xff0c;并且信息产生的数量是呈几何形式的增加&#xff0c;而增加的信息如何存储以及短时间分析…

Quill Editor 富文本编辑器的高度问题

问题现象 1. 编辑框只有一行高&#xff1b; 2. 编辑框高度足够&#xff0c;但显示不全&#xff0c;左侧有滚动条。向下拉滚动条&#xff0c;编辑框把工具栏向上顶出去&#xff0c;工具栏看不见了。 网上搜出来一大堆各种说法&#xff0c;照猫画虎&#xff0c;有时候对&#…

基于微信小程序的美食外卖管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目…

SPI驱动学习七(SPI_Slave_Mode驱动程序框架)

目录 一、SPI_Slave_Mode驱动程序框架1. Master和Slave模式差别1.1 主设备 (Master)1.2 从设备 (Slave)1.3 示例 2. SPI传输概述2.1 数据组织方式2.2 SPI控制器数据结构 3. SPI Slave Mode数据传输过程4. 如何编写程序4.1 设备树4.2 内核相关4.3 简单的示例代码4.3.1 master和s…

Anaconda虚拟环境默认路径在C盘怎么更改

笔者已经新建好了虚拟环境并且安装了对应库&#xff0c;输入conda env list查询发现虚拟环境竟然安装到了C盘(&#xff61;•́︿•̀&#xff61;)&#xff0c;为避免下一次创建虚拟环境出错&#xff0c;笔者现在修改默认路径置D盘&#xff08;软件安装盘&#xff09; 参考两…

二分——二分查找

题目描述 输入n个不超过109的单调不减的&#xff08;就是后面的数字不小于前面的数字&#xff09;非负整数a1,a2,…,an&#xff0c;然后进行m次询问。对于每次询问&#xff0c;给出一个整数q&#xff0c;要求输出这个数字在序列中第一次出现的编号&#xff0c;如果没有找到的话…

【Oauth2整合gateway网关实现微服务单点登录】

文章目录 一.什么是单点登录&#xff1f;二.Oauth2整合网关实现微服务单点登录三.时序图四.代码实现思路1.基于OAuth2独立一个认证中心服务出来2.网关微服务3产品微服务4.订单微服务5.开始测试单点登录 一.什么是单点登录&#xff1f; 单点登录&#xff08;Single Sign On&…