数据库(MySQL库表操作)

目录

1.1 SQL语句基础(SQL命令)

1.1.1 SQL的简介

1.1.2 SQL语句的分类

1.1.3 SQL语句的书写规范

1.2 数据库操作

1.2.1 查看

1.2.2 自建库

1.2.3 切换数据库

1.2.4 删库

1.3 MySQL字符集

1.3.1 MySQL字符集包括:

1.3.2 utf8 和 utf8mb4 的区别

1.4 数据库设计与数据库对象

1.4.1 数据库设计的步骤

1.4.2 如何绘制 E-R图

1.4.3 使用三大范式实现数据库设计规范化


1.1 SQL语句基础(SQL命令)

1.1.1 SQL的简介

SQL:

        结构化查询语言,在关系型数据库上执行数据操作,数据检索以及数据维护的标准化语言

程序员和数据库管理员可以完成以下任务:

        1、改变数据库的结构

        2、更改系统的安全设置

        3、增加用户对数据库或表的许可权限

        4、在数据库中检索需要的信息

        5、对数据库的信息进行更新、备份、还原

1.1.2 SQL语句的分类

在MySQL数据库中,SQL语句主要分为以下几类:

        1、DDL(Data Definition Language):

                数据库定义语言。定义对数据库对象(库、表、列、索引)的操作

                关键字CREATE、DROP、ALTER、RENAME等

        2、DML(Data Manipulation Language):

                数据操作语言。定义对数据库记录的操作

                关键字:INSERT、DELETE、UPDATE等

        3、DCL(Data Control Language):

                数据控制语言。定义对数据库、表、字段、用户的访问权限和安全级别

                关键字:GRANT、REVOKE等

        4、DQL(Data Query Language):

                数据查询语言。检索并获取数据

                关键字:SELECT

1.1.3 SQL语句的书写规范

在数据库系统中,SQL语句是不区分大小写的

字符串常量区则分大小写

SQL语句支持单行 | | 多行 书写,但是 必须以 ; 结尾

关键字 | | 词汇不能跨行书写

支持空格或缩进 以便提升语句的可读性

子语句通常位于独立行,便于编辑,提高可读性

1.2 数据库操作

1.2.1 查看

SHOW DATABASES [LIKE wild] ;

 功能:

        列出MySQL主机上的数据库

MySQL自带数据库(系统库):

        information_schema:

                主要存储了系统中的一些数据库对象信息,如用户信息、列消息、权限信息、字符集信息、分区信息等(数据字典)

        performance_schema:

                主要存储了数据库服务器的性能参数

        mysql:

                主要存储了系统的用户权限信息和帮助文档

        sys:

                5.7后新增加的产物,是 information_schema 和  performance_schema 的结合体,而且是以视图的形式显示出来的,查询出更加令人容易理解的数据

注意:

        原则:不轻易访问!不轻易修改!不轻易删除!

1.2.2 自建库

创建个人数据库

语法如下:CREATE DATABASE IF NOT EXISTS 数据库名;CREATE DATABASE IF NOE EXISTS MySchool_db;

一个数据库的构成由:

        表、视图、函数、查询、备份   所构成

        其中,表  则是重中之重

1.2.3 切换数据库

使用 USE  关键字进行切换

语法如下:USE 数据库名;

作用:

        指定数据库作为我们的默认数据库,用于后期建表或者其他的使用

其他:

        1、查看当前访问的数据库

SELECT DATABASE();

        2、查看当前数据库服务器的版本

SELECT VERSION();

        3、查看当前登录的用户

SELECT USER();

        4、查看用户详细信息

SELECT User,Host [,PassWord] FROM mysql.user;

1.2.4 删库

功能:

        删除当前数据库>>>里面的结构  数据  全部都会消失

语法如下;DROP DATABASE [IF EXISTS] 数据库名;

1.3 MySQL字符集

1.3.1 MySQL字符集包括:

        基字符集(CHARACTER)、校对规则(COLLATION)

latin1 支持西欧字符、希腊字符等
gbk 支持中文简体字符
big5 支持中文繁体字符
utf8 几乎支持全世界所有国家的字符
utf8mb4 是真正意义上的 uft-8

可以使用命令查看当前数据库默认的字符集

SHOW VARIABLES like 'character%';

 character_set_client MySQL :

        客户机字符集

character_set_connection:

        数据通信链路字符集,当MySQL客户机向服务器发送请求时,请求数据以该字符集进行编码

character_set_database:

        数据库字符集

1.3.2 utf8 和 utf8mb4 的区别

utf8mb4是MySQL 5.5.3后才增加的,其中 mb4 的意思是 most bytes 4 的意思,专门用来兼容四字节的 unicode

utf8mb4 是 utf8 的超集,除了将编码改为 utf8mb4 以外,不需要做任何其他的转换,但是为了节省空间一般使用 utf8 就行了

为什么 utf8 能够存储下大部分的中文汉字,为什么还要推出 utf8mb4 并且使用呢?

        因为MySQL支持的 utf8 编码最大字符长度为 3字节 ,如果遇到 4字节的宽字符就会插入异常。3字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中基本多文种平面(BMP)

        也就是说,任何不在基本多文本平面的 Unicode 字符,都无法使用 MySQL 的 utf8 字符集存储,包括Enoji表情,和很多不常用的汉字,以及任何新增的 Unicode 字符

        所以在8.0之后,都建议使用 utf8mb4 编码

1.4 数据库设计与数据库对象

1.4.1 数据库设计的步骤

为什么要进行数据的设计:

糟糕的数据库设计 VS 成熟的数据库设计

数据冗余,存储空间造成浪费 VS 节省数据的存储空间

内存、日志、空间浪费 VS 完整性高,数据原子性强

数据的更新和插入时时刻刻伴随着风险和异常 VS 方便进行数据库应用和系统开发

数据库设计的步骤如下:

        1、需求分析阶段:旨在分析客户的业务和数据处理的需求

        2、概要设计阶段:设计出数据库的E-R图,确认需求信息的 正确性 和 完整性

        3、详细设计阶段:运用数据库三大范式越泽,规范审核数据库结构,形成数据库模型图

        4、代码编写阶段:物理实现数据库,代码实现应用

        5、测试阶段:实践 || 实验

        6、备份还原阶段

1.4.2 如何绘制 E-R图

绘制 E-R实体关系图的三要素:

矩形   含义:实体,一般是名词
椭圆图    含义:实体,一般是名词
菱形    含义:关系,一般是动词

例题:酒店管理系统的基本功能

第一步:收集信息

        客人办理入住手续:后台数据库需要存放入住客人的信息以及客房信息

        客房信息:后台数据库需要存放客房的相关信息,如:客房号、床位数量、房间价格等

        客房管理信息:后台数据需要保存 客房类型信息 和 客房当前的状态信息

第二步:标识出实体

        客人:入住的旅客,办理入职手续时所填写的客户信息

        客房:酒店为客人提供休息的住所

第三步:标识出每个实体的属性

        客人属性:姓名,身份证号等

        客房属性:编号,名称,床位等

第四步:标识出实体和实体之间的关系

        实体和实体之间的关系,通常使用动词去描述

        入住关系

        客人和客房之间存在主从关系        客房为主  是 1   客人为从  是N

        1对N关系        被引用  引用关系

关系型数据库常见的映射基数

转化成 E-R图形成数据库模型图

        1、将各实体转化为对应的各表,将各属性对应成为各表的列

        2、标识出每个表的主键列(非空 + 唯一),一张表有且只有一个主键列

        3、在表之间建立主外键,形成引用被引用关系

1.4.3 使用三大范式实现数据库设计规范化

三大范式原则:

第一范式:

目标:

        确保每列的原子性

        如果每列都是不可再分的最小数据单元(也称为最小的原子单元),则满足第一范式

第二范式:

        第二范式要求每个表只描述一件事情

第三范式:

        如果一个关系满足2 NF,并且除了主键意外的其他列都不传递依赖于主键列,则满足第三范式

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

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

相关文章

汽车制动器行业调查:市场将继续呈现稳中向好发展态势

汽车制动器是汽车的制动装置,汽车所用的制动器几乎都是摩擦式的,可分为鼓式和盘式两大类。鼓式制动器摩擦副中的旋转元件为制动鼓,其工作表面为圆柱面;盘式制动器的旋转元件则为旋转的制动盘,以端面为工作表面。 目前市场上主流的…

JAVA和C++ SECS/GEM300开发和概念

编译SECS示例程序 1. 示例程序使用默认路径: D:\SECS 稳定版\SECS Debug\ 2. 该操作分为俩步 ① 将C#的Secs库编译成设备相同Net版本。 如.net3.5、4.0、4.5等等 ② 编译金南瓜SECS demo程序 编译C#的SecsEquip.dll 1. 找到SecsEquip项目 项目文件 使用Visua…

麒麟V10挂载iso,配置yum源

本文介绍yum 如何挂载本地镜像源 1) 拷贝镜像到本地 2) 执行以下命令: # mount -o loop 镜像路径及镜像名字 /mnt(或 media) 挂载前 挂载后 3) 进入/etc/yum.repos.d(yum.repos.d 是一个目录,该目录是分析 RPM 软件…

操作系统的一些知识

一、操作系统 1、操作系统的定义 操作系统是一个搞管理的软件。 对下,要管理硬件设备;对上,要给软件提供稳定的运行环境。 操作系统是软件、硬件、用户之间交互的媒介。 2、常见的操作系统 Windows、Linux、Mac 3、操作系统的定位 我们平…

视频剪辑教程:如何批量制作滚动字幕,提升画面质感的方法

在视频剪辑中,字幕的处理是至关重要的一环。合适的字幕不仅能提供必要的信息,还能增强画面的视觉效果。下面详解云炫AI智剪如何批量制作滚动字幕,提升画面质感的方法,助您更好地完成视频剪辑工作。 批量制作滚动字幕的方法&#x…

Mysql详细安装步骤

Linux 安装 MySQL【超详细版】 ​编辑 我叫BuGu    2023-05-11 16:48:10 发布 一、安装 MySQL 的准备工作 1. 查看系统版本 cat /etc/redhat-release2. 查看系统是否已经安装过 MySQL 查看是否安装了 MySQL rpm -qa | grep mysql查看是否有安装 mariadb,该软件与 MySQ…

逆向分析C++类的本质

面向对象的语言中,类这种语言特性是最基本也是最重要的东西。这篇博客记录下从汇编角度去理解类的本质是什么。创建一个对象的本质又是什么。 一.C语言中的结构体和C的类有啥区别 我们知道在C语言中,有语言本身自带的一些内置类型。比如int&#xff0c…

kafka(一)——简介

简介 Kafka 是一种分布式、支持分区、多副本的消息中间件,支持发布-订阅模式,多用于实时处理大量数据缓存的场景,类似于一个“缓存池”。 架构 Producer:消息生产者;Consumer:消息消费者;Brok…

SpringCloud之Nacos的学习、快速上手

1、什么是Nacos Nacos是阿里的一个开源产品,是针对微服务架构中的服务发现、配置管理、服务治理的综合型解决方案,用来实现配置中心和服务注册中心。 Nacos 快速开始 2、安装运行nacos nacos下载地址 下载地址: https://github.com/alibaba/nacos/rel…

【Linux】Linux系统的生态

Linux中安装软件 Linux中安装软件一般有三种方式: 源代码安装rpm包安装yum安装 1.源代码安装 有些软件本来就是开源的,如果不想用别人直接发布好的软件,我们就可以把源代码下载下来,在我们的环境中编译,自己安装 …

防伪技术行业研究:年复合增长率约为10%

近年来,我国各种新的防伪技术不断涌现,部分防伪技术已经达到国际先进水平,并广泛应用于产品防伪、票证防伪等领域,推动了防伪行业的持续、健康发展。 常见的产品防伪技术有:隐形分子技术、二维码防伪、揭开留底防伪、安…

「Kafka」Broker篇

「Kafka」Broker篇 主要讲解的是在 Kafka 中是怎么存储数据的,以及 Kafka 和 Zookeeper 之间如何进行数据沟通的。 Kafka Broker 总体工作流程 Zookeeper 存储的 Kafka 信息 启动 Zookeeper 客户端: [atguiguhadoop102 zookeeper-3.5.7]$ bin/zkCli.sh通…

使用 Docker 部署 的WAF: 雷池社区版

Web应用防火墙(WAF)是保护网站不受恶意攻击的关键组件。 使用 Docker 部署雷池社区版,可以大大简化安全管理工作。 一、WAF 雷池社区版简介 雷池社区版是一种流行的开源 Web 应用防火墙,它提供基本的安全保护,如防止…

多维表格产品vika多维表、Flowus、Wolai体验记录

昨天从下午6点肝到凌晨2点多体验低代码平台多维表格产品,体验了3个国内产品,vika多维表、Flowus、Wolai。 具有多维表格新型关系数据库的鼻祖是 Airtable,国内模仿产品有vika多维表、飞书多维表格等。 还有一种类型就是以在国内鼎鼎大名的N…

细讲Labview条件结构用法及易错点

本文讲解Labview条件结构的常用情景及易错点注意事项。帮助大家深刻理解并使用该结构,欢迎点赞关注加评论,有问题可以私聊或在下方评论区留言。 本文程序均附在文章结尾,可自行下载学习。 博主之前讲过Labview事件结构、For循环等的基础知识介…

第十四章 MyBatis

第十四章 MyBatis 1.入门-课程介绍2.入门-快速入门程序3.配置SQL提示4.入门-JDBC5.入门-数据库连接池6.入门-lombok工具包介绍7.基础操作-环境准备8.基础操作-删除9.基础操作-删除(预编译SQL)10.基础操作-新增11.基础操作-新增(主键返回&…

Python初识——小小爬虫

一、找到网页端url 打开浏览器,打开百度官方网页点击图片,打开百度图片 鼠标齿轮向下滑,点击宠物图片 进入宠物图片网页,在网页空白处点击鼠标右键,弹出的框中最下方显示“检查”选项,点击(我是…

安全帽识别-赋能深圳自贸中心智慧工地

在当今的建筑行业中,安全管理一直是一个至关重要的议题。深圳自贸中心项目在这方面进行了一次有益的尝试——实施智慧工地安全帽识别系统。本文将对这一创新举措进行简要介绍。 项目背景 深圳自贸中心,作为一项标志性建设项目,承载着城市发展…

怎么用小程序将身份证转为结构化Excel?

随着科技的不断发展,我们的生活变得越来越智能化。现在,我们可以使用金鸣表格文字识别小程序来识别身份证并转为结构化的excel,并且可自动核对真伪,保留头像。金鸣表格文字识别小程序是一种基于人工智能技术的应用程序&#xff0c…

将字符串中的制表符替换为指定数量的空格expandtabs()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将字符串中的制表符 替换为指定数量的空格 expandtabs() [太阳]选择题 请问以下代码text3的空白处是? text1 "这里有一个\t制表符" text2 "这里有一个12345制表符…