【数据库】数据库的基础知识

news/2024/4/19 10:16:33/文章来源:https://blog.csdn.net/m0_73067372/article/details/130282075

目录

前言

1、 查看数据库

1.1、查看所有数据库(show databases;) 

1.2、创建数据库之后,查看创建的数据库的基本信息。

2、 创建数据库

2.1、直接创建数据库(create database [数据库名];)

2.2、创建数据库的时候判断是否已存在这个数据库

2.3、创建数据库的时候,可以设置数据库的字符集

3、 选中数据库(use 数据库名;)

4、删除数据库(drop database 数据库名; )

 5、认识字符集

5.1、常见的字符集


前言

  • 数据库是一个客户端-服务器结构的程序!!服务器和客户端可以在一台电脑上也可以在不同电脑上。
  • 数据库服务器是通过数据库(逻辑上的数据集合)来将每一类数据进行分类管理,然后数据库当中存在数据表(每一类数据当中的一组),数据表中由存在很多行,每一行是一个“记录”,针对每一行还有很多列。每一列称为一个字段。

1、 查看数据库

为什么是show databases,不是database,我们直到database的意思是数据库的意思,我们的电脑当中不知一个数据库,所以这里使用复数形式。

1.1、查看所有数据库(show databases;) 

这样就可以看到你的电脑当中有几个数据库 、

❗❗❗注意

在查看数据库的操作的时候。要使用英文分号(;)结尾。像这种情况数据库的客户端是允许一个sql分多行写的,如果不写分号,直接换行。此时客户端认为你一个sql还没写完。就会出现下面的情况。

1.2、创建数据库之后,查看创建的数据库的基本信息。

show create database demo;
  • 创建数据库 

 

  • 查看当前数据库的基本信息

2、 创建数据库

2.1、直接创建数据库(create database [数据库名];)

这样我们的数据库就创建成功了

我们可以通过之前的查看数据的操作,来擦看我们创建的数据库是否存在。

 

❗❗❗ 注意:

  • 数据库名字的命名格式为:数字、字母、下划线构成。数字不能开头(和Java的变量命名同理),名字不能是sql中的关键字。
  • 如果就是想拿关键字作为数据库名,可以使用反引号(`)把数据库名引起来。
  • 不知道有没有同学注意到,在写数据库的创建格式时,数据库名被[ ]包裹,但是在创建的时候,并没有使用[ ] ,[ ]是可选项,可以存在,也可以不要。
  • 写sql 的时候,sql的关键字都是大小写不敏感的,(也就是说,我们在写数据库的时候,可以不区分大小写)。create databases与CREATE DATABASES是相同的结果,使用那种方式,根据个人的喜好。

2.2、创建数据库的时候判断是否已存在这个数据库

来看一下这个问题:当已经存在demo这个数据库的时候,我们在创建这样一个数据库,客户端就会报错,显示这个数据库已存在,不能再创建。 

我们可以使用下面的语句来操作,这样当要创建的数据库存在的时候,客户端也不会报错

  • 语法格式:
create database if not exists demo;
  • 这句语法的语义为:如果MySQL中不存在相关的数据库,则创建数据库;如果存在MySQL中已经存在相关的数据库,则忽略创建语句,不在创建数据库。 

2.3、创建数据库的时候,可以设置数据库的字符集

  • 语法格式
create database demo_1 charset utf8;
//或者下面这种
create database if not exists demo_1 charset utf8;

表示将demo_1这个数据库的字符集设置为utf8.

  • 将demo_1这个数据库创建好之后,我们可以通过show  create  database demo_1;来查看创建的数据库中的信息

3、 选中数据库(use 数据库名;)

想要针对某个数据库进行后续操作(增删改查),此时就得先明确是针对那个数据库进行的,毕竟我们由很多数据库。

4、删除数据库(drop database 数据库名; )

  • 删除数据库demo_1

 

  • 通过显示数据库来查看数据库demo_1是否已被删除

❗❗❗ 特别注意:

删除数据库这个操作非常危险!!!

如果数据库当中存在非常重要的数据的时候,将数据库删除,数据没了,就很难恢复!!!

如果数据库中存在的数据是实时更新的数据,虽说可以备份,但是备份的只是某个时段的数据,从删除数据库开始,产生的数据都会丢失掉,这样的数据丢失,损失是非常大的。

 删除了数据库之后,有办法恢复吗?

理论上来说有,但是恢复比较复杂,不能保证100%恢复回来!!

如果真删库了,赶紧停机,把硬盘拿下来,交给专门的人员让其恢复。

计算机删除硬盘数据,是逻辑删除,只是将这些数据标记为无效,并不是直接把数据抹掉。

 5、认识字符集

问题:这里有个问题,一个汉字占几个字节???


答案:我想这里会有很多同学认为是2个字节。但是这个答案是错的。

 这个问题并没有规定字符集,所以汉字占两个字符集是错误的。下面我们来了解一下常见的字符集。

5.1、常见的字符集

gbk:windows简体中文版,默认的字符集。这个字符集中一个汉字占两个字节。

utf8:更通用的字符集,不仅仅能表示中文。通常三个字节表示一个汉字。

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

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

相关文章

Pytest接口自动化测试实战演练

结合单元测试框架pytest数据驱动模型allure 目录 api: 存储测试接口conftest.py :设置前置操作目前前置操作:1、获取token并传入headers,2、获取命令行参数给到环境变量,指定运行环境commmon:存储封装的公共方法connect_mysql.p…

解决方案:Zotero实现参考文献中英文混排,将英文文献中的“等”转成“et al.”

Zotero 是一款非常实用且易于使用的参考文献管理工具,可帮助用户收集、整理和引用各种类型的文献,包括图书、期刊文章、网页等。在学术写作中起着重要作用。 但是其在中文世界中,运行起来偶尔会出现问题,这里记录一个问题及其解决…

隋唐洛阳“西宫”:上阳宫的GIS视角

隋唐洛阳城简介 营建 隋大业元年(605年),在隋炀帝的授意下,隋代著名城市设计师宇文恺,在汉魏故城以西重新选址,历时8个月,日役劳工200万,兴建新都洛阳城。 城和苑 隋唐洛阳城采用…

eBPF技术介绍

前言 eBPF起源于linux内核,它可以以砂箱程序运行在操作系统内核的特权上下文,高效,安全,易于扩展而不需要修改内核源码或者加载内核模块。 操作系统一直是实现观测,安全和网络功能的最理想的地方,因为内核的…

优思学院|精益管理的理念是什么?

作为一个企业,我们都希望拥有高效率和优异的竞争力。但是,如何才能在竞争激烈的市场中脱颖而出?这时,精益管理理念的出现可以帮助我们。 精益管理的基本概念是什么? 精益管理的核心理念是通过消除浪费来实现生产效率…

Java线程间通信方式(3)

前文了解了线程通信方式中的CountDownLatch, Condition,ReentrantLock以及CyclicBarrier,接下来我们继续了解其他的线程间通信方式。 Phaser Phaser是JDK1.7中引入的一种功能上和CycliBarrier和CountDownLatch相似的同步工具,相…

辛弃疾最经典的10首词

他,文能挥笔填词,武能上马杀敌; 他,被称为“词中之龙”, 他,一生赤子,追求收复山河; 他,是与苏轼齐名的豪放派词人; 他是辛弃疾。 辛弃疾一生怀着赤子之…

IO多路复用——select函数

1.select函数原型和fd_set结构体说明 1.1 select函数原型 ​ 使用 select 这种 IO 多路转接方式需要调用一个同名函数 select,这个函数是跨平台的,Linux、Mac、Windows 都是支持的。程序员通过调用这个函数可以委托内核帮助我们检测若干个文件描述符的…

【MCS-51】51单片机结构原理

至今为止,MCS-51系列单片机有许多种型号的产品:其中又分为普通型51(8031、8051、89S51)和增强型52(8032、8052、89S52等)。它们最大的区别在于存储器配置各有差异。下面我举例子的都是8051这一系列的单片机…

STM32-HAL-定时器(无源蜂鸣器的驱动)

文章目录 一、蜂鸣器的介绍二、常用的无源蜂鸣器的电路三、测试准备四、初始化片上外设4.1 初始化定时器4的通道2为PWM输出模式4.2 编写驱动代码4.3 Logic分析仪查看波形4.4 代码分析 一、蜂鸣器的介绍 有源蜂鸣器: 有源蜂鸣器内部有一个发声电路,也就是“源”&…

数据湖Iceberg-Hive集成Iceberg(3)

文章目录 Hive集成Iceberg环境准备Hive与Iceberg的版本对应关系如下上传jar包,拷贝到Hive的auxlib目录中修改hive-site.xml,添加配置项启动 HMS 服务启动 Hadoop 创建和管理 Catalog默认使用 HiveCatalog指定 Catalog 类型使用 HiveCatalog使用 HadoopCa…

C++学习记录——이십 map和set

文章目录 1、setmultiset 2、map3、map::operator[] 1、set vector/list/deque等是序列式容器,map,set是关联式容器。序列式容器的特点就是数据线性存放,而关联式容器的数据并不是线性,数据之间有很强的关系。 它们的底层是平衡…

在当前互联网行情下,Android想转音视频开发,会有前景吗?

前言 近年来,由于三年疫情的影响,很多公司都开始陆陆续续的在裁员,Android开发工作岗位也是,可能有些从事Android开发的朋友还没有意识到,Android开发岗位正在变少,求职者,僧多粥少&#xff0c…

视频大文件传输的演变:从“卷轴男孩”到自动化

200年前,从纽约市到英国伦敦的单程旅行需要乘坐一艘跨大西洋轮船将近三周——如果你能负担得起的话,那就是。那些不能在满是汗水、狭窄的帆船上安顿大约一个半月的人。 今天,视频专业人士能够在几小时甚至几分钟内跨越相同的物理距离传输大量…

《用于估计血压变化的光电体积描记图和心电图的特征》阅读笔记

目录 一、摘要 二、十大问题 Q1论文试图解决什么问题? Q2这是否是一个新的问题? Q3这篇文章要验证一个什么科学假设? Q4有哪些相关研究?如何归类?谁是这一课题在领域内值得关注的研究员? Q5论文中提…

微信小程序第五节——登录那些事儿(超详细的前后端完整流程)

📌 微信小程序第一节 ——自定义顶部、底部导航栏以及获取胶囊体位置信息。 📌 微信小程序第二节 —— 自定义组件 📌 微信小程序第三节 —— 页面跳转的那些事儿 📌 微信小程序第四节—— 网络请求那些事儿 😜作 …

MFC之CRect详解

2023年4月25日,周二晚上。 今天查了不少关于CRect类及其相关内容的资料,学到了不少东西,所以我决定写一篇详细的关于CRect类及其相关内容的文章,以记录今天所学。 CRect类 在 MFC 中,CRect 类表示一个矩形区域。它是…

linux 命令之 tar -czvf和 tar -xzvf

文章目录 一、概述:二、基础知识 一、概述: tar 用于linux 系统中压缩和解压 二、基础知识 tar常用命令参数说明 tar命令的czvf/xzvf参数分别代表的意义如下: -c 或–create 建立新的备份文件。 -x或–extract或–get 从备份文件中还原文件…

SparkStreaming学习之——无状态与有状态转化、遍历kafka的topic消息、WindowOperations

目录 一、状态转化 二、kafka topic A→SparkStreaming→kafka topic B (一)rdd.foreach与rdd.foreachPartition (二)案例实操1 1.需求: 2.代码实现: 3.运行结果 (三)案例实操2 1.需求: 2.代码实现: 3.运行结果 三、W…

Eclipse代码提示突然失灵的解决方案

不知道改动了啥,突然间Eclipse的代码提示就失效了,发现缺少后极不方便。 使用快捷键:Alt/ 提示 No Default Proposals 为什么使用快捷键:Alt/ 会提示“No Default Proposals。”呢? 网上提示可能是热键冲突 但是一套…