当前位置: 首页 > news >正文

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分类

  1. DDL数据定义语言,用来维护存储数据的结构(data definition language)
  2. DML数据操纵语言,用来对数据(数据行)进行操作(data manipulation language)
  3. 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

http://www.lryc.cn/news/417520.html

相关文章:

  • 关于Redis的集群面试题
  • 带头双向循环链表(一)
  • 深入理解Win32K.sys的工作原理
  • 力扣面试经典算法150题:删除有序数组中的重复项
  • 文本加密工具类-支持MD5、SHA1、SHA256、SHA224、SHA512、SHA384、SHA3、RIPMD160算法
  • LVS集群中的负载均衡技术
  • Java网络编程——HTTP协议原理
  • java之多线程篇
  • 【深度学习】TTS,CosyVoice,训练脚本解析
  • 《Unity3D网络游戏实战》学习与实践
  • Machine_Matrix打靶渗透【附代码】(权限提升)
  • 代码随想录算法训练营Day22 | Leetcode 77 组合 Leetcode 216 组合总和Ⅲ Leetcode17 电话号码的字母组合
  • 【微信小程序实战教程】之微信小程序中的 JavaScript
  • K-近邻算法(一)
  • 从零开始之AI视频制作篇
  • Java之TCP编程综合案例
  • 【数据分析---Pandas实战指南:精通数据查询、增删改操作与高效索引和列名操作管理】
  • Spring Cloud全解析:注册中心之Eureka服务获取和服务续约
  • 三相整流电路交流侧谐波仿真分析及计算
  • 了解Java中的反射,带你如何使用反射
  • 【c++】基础知识——快速入门c++
  • AI学习记录 - 自注意力机制的计算流程图
  • JavaScript快速入门,满满干货总结,快速掌握JS语法,DOM,BOM,事件
  • 【C++】C++入门基础【类与对象】
  • Qt | QScatterSeries 散点图
  • 无缝协作的艺术:Codigger 视频会议(Meeting)的用户体验
  • C基础练习(学生管理系统)
  • 网络安全抓包封包WEB
  • Spring Boot - 在Spring Boot中实现灵活的API版本控制(上)
  • 普中51单片机:DS18B20温度传感器操作指南(十三)