MySQL:初识数据库初识SQL建库
目录
1、初识数据库
1.1 什么是数据库
1.2 什么是MySQL
2、数据库
2.1 数据库服务&数据库
2.2 C/S架构
3、 初识SQL
3.1 什么是SQL
3.2 SQL分类
4、使用SQL
4.1 查看所有数据库
4.1.2 语句解析
4.2 创建数据库
4.2.1 if not exists校验
4.2.2 手动明确字符集和排序规则
4.2.3 SQL语句创建数据库
4.3 查看当前数据库服务的全局默认字符集
1、初识数据库
1.1 什么是数据库
首先,我们之前所学的如Java、C++等编程语言是用来处理用户数据的;而数据库是用来保存用户数据的,其底层应用了一些合适的数据结构对数据进行管理。
数据库可以将数据保存在磁盘(外存)中,实现了对数据的持久化,解决了程序重启或开关机后数据丢失的问题。
1.2 什么是MySQL
MySQL就是一个开源、免费、应用广泛的数据库软件。
MySQL是一个关系型数据库。

2、数据库
2.1 数据库服务&数据库
机器提供的数据库服务中可以存在多个数据库,而每个数据库中又存在着多张数据表,每张数据表都有相关的信息:
在表中,每一列称为字段、列,可以理解为Java中的属性;每一行,即所有列组成的一条记录(一行数据)称为一个数据行。
故,总结如下:
- 数据库服务中可以创建多个数据库
- 每个数据库中有多个数据表
- 每个数据表中有多个数据行
- 每个数据行由多个列组成
- (即依次包含关系)
2.2 C/S架构
C- Client(客户端),S-Serve(服务端)
理解C/S架构,我们需要先了解以下定义:
- 请求:当客户端向服务器发送请求时,明确指定自己要操作的目标(访问哪个库中的哪个表,哪个表中的哪些行,哪些行中的哪些列)的过程叫做请求。
- 相应:服务器接收到客户端的相应后,把处理的结果返回给客服端的过程叫做相应。

请求与响应是成对出现的。
对于客户端与服务器之间的交互模型,我们称之为C/S架构。
注意:客户端与服务器之间是通过网络进行交互的。127.0.0.1 这个IP始终代表本机IP(无论是否有网络)。
3、 初识SQL
3.1 什么是SQL
数据库用来保存数据,如果要操作数据库需要使用SQL。
SQL是一门语言,专门针对操作数据库的语言,我们只需掌握增删查改操作即可。
3.2 SQL分类
- DDL数据定义语言,用来维护存储数据的结构(data definition language)
- DML数据操纵语言,用来对数据(数据行)进行操作(data manipulation language)
- DCL数据控制语言,主要负责权限管理和事务(data control language)
我们只需学习DDL与DML,DCL主要使用于运维相关。

4、使用SQL
4.1 查看所有数据库
查看当前所有数据库:show databases;
如下图所示:

其中,红色标记出来的都是MySQL自带的数据库记录是一些关于MYSQL自身的一些配置,性能,系统变量信息:

4.1.2 语句解析

输入技巧:
1.Ctrl+C 重新开始新一行的输入。
2.若语句太长,只要没有遇见;回车即可在下一行继续上一行的输入。
4.2 创建数据库

SQL语句是大小写不敏感的,所以以下两种语句是相同的:
create database if not exists Java113;
CREAT DATABASE IF NOT EXISTS JAVA113;
4.2.1 if not exists校验
其中,if not exists的作用是检查要创建的数据库是否存在,若不存在则创建,若存在则提示警告信息。

查看警告信息:show warnings;
注意:
在实际的工作中,执行SQL语句时,不是手动一条一条执行的,而是批量一起执行,为了不让某一条语句的错误影响整个执行流程,都会加上一些类似于if not exists 的校验,防止因为某条SQL出错导致整个SQL中断执行。
4.2.2 手动明确字符集和排序规则
在创建数据库时,强烈建议大家手动明确字符集和排序规则!!!

4.2.3 SQL语句创建数据库
故完整创建数据库的SQL语句如下(if not exists校验 && character set ... collate...):

注:MySQL中允许开发者使用关键字命名,但是在使用的时候要用反引号把关键字引起来
如:create database if not exists `database` character set utf8mb4 collate utf8mb4_0900_ai_ci;
反引号在键盘上的位置为:ESC下边,TAB上边,1的左边,要用英文字符 (`)
关键字:database、create、user、from、to、password......
4.3 删除数据库
删除数据库:drop database if exists 数据库名;
注:drop删除语句的使用一定要谨慎,删除数据库是一个非常非常危险的操作,在自己的项目或是公司中千万不要这么做,使用之前一定要慎之又慎!!!
4.4 查看当前数据库服务的全局默认字符集
查看当前数据库服务的全局默认字符集:show variables like ‘%character%’;

使用MySQL的帮助信息的SQL语句为:\? 或者 ?

END
相关文章:
MySQL:初识数据库初识SQL建库
目录 1、初识数据库 1.1 什么是数据库 1.2 什么是MySQL 2、数据库 2.1 数据库服务&数据库 2.2 C/S架构 3、 初识SQL 3.1 什么是SQL 3.2 SQL分类 4、使用SQL 4.1 查看所有数据库 4.1.2 语句解析 4.2 创建数据库 4.2.1 if not exists校验 4.2.2 手动明确字符集…...
关于Redis的集群面试题
问题一:Redis的多数据库机制,了解多少? Redis支持多个数据库,并且每个数据库是隔离的不能共享,单机下的redis可以支持16个数据库(db0~db15);若在Redis Cluster集群架构下,则只有一个…...
带头双向循环链表(一)
今天我们来学习带头双向链表 带头双向循环链表的解释 带头双向链表顾名思义就是: 1、带了一个“头”在数据结构中的意思就是加了一个"哨兵位"。 2、这个链表是双向循环的链表即可以通过任意的节点访问它的上一个和下一个的节点也能通过链表的头直接访…...
深入理解Win32K.sys的工作原理
https://download.csdn.net/download/sitelist/89621815 Windows Resource Kits 2003.rar工具下载,因为有windows server 2003源代码,并可以编译成iso,所以对于研究windows系统很有帮助,上吗是2003的研究工具,不知道源…...
力扣面试经典算法150题:删除有序数组中的重复项
删除有序数组中的重复项 今天的题目是力扣面试经典150题中的数组的简单题: 删除有序数组中的重复项 题目链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array/description/?envTypestudy-plan-v2&envIdtop-interview-150 题目描述 给定一…...
文本加密工具类-支持MD5、SHA1、SHA256、SHA224、SHA512、SHA384、SHA3、RIPMD160算法
文本加密工具类 1.算法简介1.1 MD51.2 SHA-11.3 SHA-2(推荐使用)1.4 SHA-3(推荐使用)1.5 RIPEMD-160 2.工具类案例2.1POM导入2.2代码编写2.3 输出示例 1.算法简介 1.1 MD5 MD5 (Message-Digest Algorithm 5) 描述:M…...
LVS集群中的负载均衡技术
目录 一、LVS技术原理 二、NAT模式原理及部署方法 1、工作原理 2、部署方法 1、网络配置 2、软件安装与启用 3、测试 三、DR模式原理及部署方法 1、工作原理 2、部署方法 1、网络配置 2、解决vip响应问题 3、测试 四、ipvsadm命令及参数 1、管理集群服务&#x…...
Java网络编程——HTTP协议原理
协议 我们在网上冲浪时,会在浏览器地址栏输入一个网址,然后就能打开网页了。比如,输入 https://www.douban.com/就可以访问到豆瓣的主页: 那么大家是否好奇:https 是什么意思,作用又是什么呢?…...
java之多线程篇
一、基本概念 1.什么是线程? 线程就是,操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。简单理解就是:应用软件中互相独立,可以同时运行的功能 2.什么是多线程? 有了多线…...
【深度学习】TTS,CosyVoice,训练脚本解析
https://github.com/FunAudioLLM/CosyVoice/blob/main/examples/libritts/cosyvoice/run.sh Bash 脚本是一个语音合成(TTS)训练和推理的完整流水线。让我们逐步解析这个脚本的各个部分。 初始化部分 #!/bin/bash # Copyright 2024 Alibaba Inc. All Rights Reserved. . ./…...
《Unity3D网络游戏实战》学习与实践
纸上得来终觉浅,绝知此事要躬行~ Echo 网络上的两个程序通过一个双向的通信连接实现数据交换,这个连接的一端称为一个Socket “端口”是英文port的意译,是设备与外界通信交流的出口。每台计算机可以分配0到65535共65536个端口 每一条Sock…...
Machine_Matrix打靶渗透【附代码】(权限提升)
靶机下载地址: https%3A%2F%2Fdownload.vulnhub.com%2Fmatrix%2FMachine_Matrix.zip 1. 主机发现端口扫描目录扫描敏感信息获取 1.1. 主机发现 nmap -sn 192.168.7.0/24|grep -B 2 08:00:27:D9:36:81 1.2. 端口扫描 nmap -p- 192.168.7.155 1.3. 目录扫描 dir…...
代码随想录算法训练营Day22 | Leetcode 77 组合 Leetcode 216 组合总和Ⅲ Leetcode17 电话号码的字母组合
前言 回溯算法中递归的逻辑不重要,只要掌握回溯的模板以及将问题转化为树形图,整个问题就很好解决了,比二叉树简单。 Leetcode 77 组合 题目链接:77. 组合 - 力扣(LeetCode) 代码随想录题解:…...
【微信小程序实战教程】之微信小程序中的 JavaScript
微信小程序中的 JavaScript 微信小程序的业务逻辑都是通过JavaScript语言来实现的,本章我们将详细的讲解JavaScript的基本概念,以及在小程序中如何使用JavaScript语言。JavaScript是一种轻量的、解释型的、面向对象的头等函数语言,是一种动态…...
K-近邻算法(一)
一、 K- 近邻算法 (KNN) 概念 1.1 K- 近邻算法 (KNN) 概念 K Nearest Neighbor 算法⼜叫 KNN 算法,这个算法是机器学习⾥⾯⼀个⽐较经典的算法, 总体来说 KNN 算法是相对⽐ 较容易理解的算法 定义 : 如果⼀个样本在特征空间中的k 个最相似 ( 即特征空间…...
从零开始之AI视频制作篇
从零开始之AI视频制作篇 文章目录 从零开始之AI视频制作篇前言一、工具列表二、成片展示三、制作流程1、获取图片素材2、图片生成视频2.1 Runway操作流程 3、文本生成语音3.1 Fish Audio操作流程 4、视频剪辑4.1 音频素材4.2 字幕生成 四、Runway提示词参考:参考 前…...
Java之TCP编程综合案例
1.反转案例 搭建一个TCP客户端,从键盘录入整行数据(遇到quit结束录入)然后发送给服务器,再接收服务器返回的数据并输出。 package com.briup.chap12;public class Test064_ReversalClient {public static void main(String[] ar…...
【数据分析---Pandas实战指南:精通数据查询、增删改操作与高效索引和列名操作管理】
前言: 💞💞大家好,我是书生♡,本阶段和大家一起分享和探索数据分析,本篇文章主要讲述了:数据查询操作,数据增删改操作,索引和列名操作等等。欢迎大家一起探索讨论&#x…...
Spring Cloud全解析:注册中心之Eureka服务获取和服务续约
服务获取和服务续约 eureka客户端通过定时任务的方式进行服务获取和服务续约,在com.netflix.discovery.DiscoveryClient类中,启动了两个定时任务来进行处理 private void initScheduledTasks() {// 是否需要拉取if (clientConfig.shouldFetchRegistry(…...
三相整流电路交流侧谐波仿真分析及计算
一、三相桥式全控整流电路和功率因数测量电路SIMULINK 模型 如图4-1,根据高频焊机的主电路机构和工作原理,可将高频焊机三相整流部分等效为阻感负载的三相桥式全控整流电路模型,其由三相交流电压源、三相晶闸管整流桥、同步六脉冲触发器和阻感…...
多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
C++:std::is_convertible
C++标志库中提供is_convertible,可以测试一种类型是否可以转换为另一只类型: template <class From, class To> struct is_convertible; 使用举例: #include <iostream> #include <string>using namespace std;struct A { }; struct B : A { };int main…...
PHP和Node.js哪个更爽?
先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...
Typeerror: cannot read properties of undefined (reading ‘XXX‘)
最近需要在离线机器上运行软件,所以得把软件用docker打包起来,大部分功能都没问题,出了一个奇怪的事情。同样的代码,在本机上用vscode可以运行起来,但是打包之后在docker里出现了问题。使用的是dialog组件,…...
佰力博科技与您探讨热释电测量的几种方法
热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏
一、引言 在深度学习中,我们训练出的神经网络往往非常庞大(比如像 ResNet、YOLOv8、Vision Transformer),虽然精度很高,但“太重”了,运行起来很慢,占用内存大,不适合部署到手机、摄…...

