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

news2024/11/17 3:04:08

目录

前言

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.coloradmin.cn/o/455853.html

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

相关文章

如何将b站缓存的m4s视频转换成mp4格式

阅读前请看一下:我是一个热衷于记录的人,每次写博客会反复研读,尽量不断提升博客质量。文章设置为仅粉丝可见,是因为写博客确实花了不少精力。希望互相进步谢谢!! 文章目录 阅读前请看一下:我是…

【Unity VR开发】结合VRTK4.0:瞬移

语录: 到不了的地方都叫做远方,回不去的世界都叫做家乡,我一直向往的却是比远更远的地方。 前言: 在VR场景中的移动主要有:瞬移和平移。瞬移相当于在虚拟世界中标记出目标位置,并自动传输到该位置&#xff…

【C++】5. 引用

文章目录 前言一、引用1.1 理解引用1.2 引用的特性1.3 引用的权限1.4 引用的使用场景1.4.1 做参数1.4.2 做返回值 1.5 引用的本质 前言 C语言中什么最难学?那当然就是指针了。不但使用起来麻烦,时不时还会产生一些意料之外的错误。C提供了一种方式&…

Direct local .aar file dependencies are not supported when building an AAR.

前言 起因:项目中含有视频播放功能,使用的是GSYVideoPlayer,因为公司网络问题经常依赖添加不了,所以将关于它的aar包全部下载下来直接本地依赖。 因为多个业务都可能涉及视频播放功能,为了复用,就想着将视频…

XTDrone PX4 仿真平台|使用Docker快速部署仿真环境

XTDrone PX4 仿真平台|使用Docker快速部署仿真环境 Docker简介NVIDIA驱动安装NVIDIA-Docker安装Docker镜像下载与使用Docker与宿主机建立ROS通信宿主机安装 XTDrone 源码 宿主机系统环境Ubuntu20.04 Docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包…

TestNG 中使用 Guice 来进行依赖注入

Guice是Google开发的一个轻量级,基于Java5(主要运用泛型与注释特性)的依赖注入框架(IOC)。 Guice非常小而且快。Guice是类型安全的,它能够对构造函数,属性,方法(包含任意个参数的任意方法&…

3.微服务项目实战---Nacos Discovery--服务治理

3.1 服务治理介绍 先来思考一个问题 通过上一章的操作,我们已经可以实现微服务之间的调用。但是我们把服务提供者的网络地址 ( ip ,端口)等硬编码到了代码中,这种做法存在许多问题: 一旦服务提供者地址…

什么?Python一行命令快速搭建HTTP服务器并公网访问?

文章目录 1.前言2.本地http服务器搭建2.1.Python的安装和设置2.2.Python服务器设置和测试 3.cpolar的安装和注册3.1 Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 转载自远程内网穿透的文章:【Python】快速简单搭建HTTP服务器并公网访问「cpolar内网穿透…

【C++入门必备知识:内联函数+指针空值nullptr】

【C入门必备知识:内联函数指针空值nullptr】 ①.内联函数Ⅰ.概念Ⅱ.宏与内联Ⅲ.总结 ②.指针空值nullptr(C11)Ⅰ.C98中的指针空值Ⅱ.注意: ①.内联函数 Ⅰ.概念 用inline修饰的函数就叫做内联函数,编译时C编译器会在调用内联函数的地方将函数…

密歇根大学,一个被低估的美国公立常春藤名校

密歇根大学(University of Michigan)创建于1817年,是美国历史最悠久的公立大学之一,被誉为“公立常春藤”和“公立大学的典范”,与加州大学伯克利分校和威斯康星大学麦迪逊分校等大学一起代表了美国公立大学的最高水平…

Unity Camera -- (1)概览

Camera章节笔记所用的资源包在这里: https://connect-prd-cdn.unity.com/20230208/a0898204-bc36-4d6e-a3b2-d4b83ae67c1d/CreativeCore_Camera_2021.3LTS.ziphttps://connect-prd-cdn.unity.com/20230208/a0898204-bc36-4d6e-a3b2-d4b83ae67c1d/CreativeCore_Came…

ERTEC200P-2 PROFINET设备完全开发手册(9-1)

9. PROFIDRIVE AC1/AC4参考代码 PROFIdrive是西门子 Profibus 与 Profinet 两种通讯方式针对驱动的生产与自动化控制应用的一种协议框架,也可以称作“行规”, PROFIdrive使得用户更快捷方便实现对驱动的控制。PROFIdrive的最大特点是互操作性 – 不同厂…

低代码平台名声臭,用起来却真香——60%开发者不敢承认

群体盲从意识会淹没个体的理性,个体一旦将自己归入该群体,其原本独立的理性就会被群体的无知疯狂所淹没。——《乌合之众》 不知道从什么时候开始,“低代码不行”的论调充斥着整个互联网圈子,csdn、掘金、知乎、B站、脉脉……到处…

遗传算法求取函数最值问题

目录 1. 关于遗传算法 2. 遗传算法的步骤 3. 代码实现 3.1 工具函数 3.1.1 目标函数 3.1.2 解码 3.1.3 交叉 3.1.4 变异 3.2 主函数部分 3.3 代码 4. 其他 1. 关于遗传算法 遗传算法是根据生物进化论提出的计算最优解的一种算法,核心思想是物竞天择&…

九龙证券|光模块概念股封单资金超3亿元,传媒板块涨停潮来袭

今天A股三大股指低开低走。沪深两市收盘共37股涨停。剔除4只ST股,合计33股涨停。另外,10股封板未遂,整体封板率为78.72%。 涨停战场: 华工科技封单资金超3亿元 从收盘涨停板封单量来看,同方股份封单量最高&#xff0…

【UE】制作简单的山脉地形

在上一篇博客中(【UE】使用Quixel Bridge下载免费贴图),介绍了如何下载免费贴图,本篇博客介绍如何使用这些贴图制作地形贴图。 1. 创建地形 2. 用雕刻工具绘制地形 3. 新建两个材质函数,分别命名为“GrassAuto”、“R…

UWERANSIM - OAI5GC分立部署教程

环境: Ubantu18.04OAI-5GCv1.5.0UERANSIMv3.2.6 网络: Host1:OAI-5GCens37:192.168.12.3Host2:UERANSIMens40:192.168.12.33 确保两台宿主机之间互通! 网络配置 Host1 网络:OA…

掌握 Web3 游戏数据分析,详述 4 个开发者需追踪的关键指标

引入:需要关注的关键指标包括哪些 区块链游戏在开发运营过程中需要追踪的关键指标包括红馆加密市场数据,DAU、MAU 和用户留存相关的用户数据、社交媒体参与数据,以及游戏内资产等生态系统相关数据。 主要观点: GameFi 项目与传统…

我国集成电路行业发展重心逐步转向芯片设计 高端设备材料领域国产化迫在眉睫

1、集成电路概念及其产业链图解 集成电路(integrated circuit)缩写为IC,是一种微型电子器件或部件,其是采用一定工艺将一块电路所需的晶体管、二极管、电阻、电容和电感等电子元器件制做在一块或几小块晶片或晶片上,然…

Navicat连接oracle数据库时报ORA-28547错的解决方法(亲测有效)

​ 文章目录 一. 问题说明二. 问题解决1. 查询Oracl版本2. 下载Oracle对应oci.dll文件3. 修改oci配置4. 重启Navicat并连接Oracle5. 总结navicat配置oci教程步骤 一. 问题说明 这是因为Navicat自带的oci.dll并不支持oracle11g,需要去官网下载对应支持的版本。 二.…