IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【韩顺平老师讲MySQL】创建数据库和表以及备份数据库 -> 正文阅读

[大数据]【韩顺平老师讲MySQL】创建数据库和表以及备份数据库

博客中的MySQL知识都是参照B站韩顺平老师的MySQL视频教程做的笔记,使用到的SQL yog

SQLyog界面:

image-20221017002605710

cmd命令行登入数据库:

  1. 第一种方式:不回显密码,防偷窥
# 第一步:输入要登入的用户名
mysql -u root -p
# 第二步:输入密码:
比如:123456
  1. 第二种方式:回显密码image-20221016232932484

    # 模板:mysql -u 用户名 -p密码    注意:这里-p后直接跟密码,不能带空格,且密码是回显的
    //一气呵成:mysql -u root -p123456
    

    选项含义:-u-p

    image-20221016232949608

P6.数据库的三层结构

这一集主要讲了数据库的三层结构,整体看数据库,揭开神秘面纱.

安装MySQL数据库,实际上是在主机上安装数据库管理系统(DBMS),全称:DataBase Management System,数据库管理系统下可以管理多个数据库,每一个数据库下又可以创建多个表,从而存储数据.

ps:数据库中其实不止有表,还有视图,存储过程,函数,触发器等等

image-20221016201157722

本质:我们写的SQL 语句实际上是发给了3306监听端口,也就是mysqld.exe,翻译后执行相应的文件操作

到了这里就可以和大家解释为什么我们不推荐使用图形界面操作:那是因为我们实际上开发的时候,更多的可能是在Java程序中写入SQL语句,然后进行操作的,甚至是在Linux命令行中操作,这时候就完全用不上图形化操作的方式.

image-20221016201435069

SQL语句的分类:

  • DDL:数据库定义语言,[create 数据库,表]
  • DML: 数据库操作语言,[增加 insert 修改update 删除 delete]
  • DQL:数据库查询语言,[select为主]
  • DCL:数据库控制语言[管理数据库:比如用户权限 grant授予,revoke撤销]

image-20221016201824600

P8.创建数据库

这一集主要讲了如何创建数据库和创建数据库的两个属性:字符集和字符集的校对规则

注意:MySQL中的三种注释方法:

# 注释方式1
-- 注释方式2
/*注释方法3*/

创建数据库分为图形化创建(了解)和语句创建(重点)

image-20221016205748162

以我的SQLyog 5.7为参考:

  1. character set :指定数据库采用的字符集,如果不指定字符集,默认是latin 1,常用的是utf8
  2. collate:指定数据库字符集的校对规则,如果不指定,默认是latin 1_swedish_ci,常用的有两种,一种是utf8_bin[区分大小写],另一种是utf8_general_ci[不区分大小写]

图形化创建数据库:image-20221016211119844

图形化修改数据库的两个属性:

image-20221016211241734

调节字体:[工具]->[首选项]->[字体编辑器设置]->[SQL编辑器之更改]->[粗体]

语句创建数据库:

# 如果数据库syh_db01已经存在就会无法创建失败,而且会报错
create database syh_db01;
# 如果数据库syh_db01之前存在就不会创建失败,但不会报错(也就是说if not exists是可选的,取决于自己写不写)
create database if not exists syh_db01;

image-20221016211934977

图形化创建表:

注:创建表时,如果没有给每一个表指定字符集和字符集的校对规则,表会沿袭所在数据库的这两个属性

image-20221016212231745

图形化查询表,并且在表中插入数据:

image-20221016212401718

创建数据库时的字符集和字符集的校对规则选择不同,在查询的时候,会因为你where条件子句中name=‘tom’,utf8_bin区分大小写就不会显示Tom的信息,utf8_general_ci不区分大小写,就会显示Tom的信息.[可验证]

验证:

数据库syh_db01和syh_db02都存储了下图的这两条记录:

image-20221016213053793

数据库syh_db02中的t2数据库用的是区分大小写的utf8_general_ci的校对规则,查询结果如下:

image-20221016213102071

数据库syh_db01中的t1数据库用的是区分大小写的utf8_bin的校对规则,查询结果如下

image-20221016213108265

P9.查询数据库

# 显示所有的数据库
SHOW DATABASES;# 注意:Databases有复数,所有数据库,没有指定
# 数据库的删除语句
DROP DATABASE IF EXISTS syh_db01;# 注意:Datebase没有复数,已经指定

有时候我们在创建数据库的时候,会出现数据库名称被一对反引号包围:

CREATE DATABASE `syh_db01`;

这个反引号的目的是为了规避关键字,比如

我如果想创建一个名为int的数据库,如果我们没有带反引号,因为和数据类型关键字int发生命名冲突,所以创建失败,但是只要加上反引号就可以创建成功:

CREATE DATABASE INT;//error
CREATE DATABASE `int`;//success

另外,SQL 中都是不区分大小写的,只是MySQL中自动把字符都大写化了

P10.备份恢复数据库

图形化备份与恢复数据库:image-20221016233313509

语句形式备份和恢复数据库:(一般是将一个DBMS中的一个数据库恢复到另一个DBMS中)

# 备份整个数据库:(下面备份的命令必须先切换到mysqldump.exe所在目录后执行---不能登入mysql执行,比如我的mysqldump.exe是位于C:\program files\MySQL\bin目录下)
mysqldump -u 用户名 -p -B 数据库1 数据库2 数据库n > 路径+文件名.sql

# 到这里我们的backup.sql中就写入了SQL语句


# 恢复整个数据库:
方法1:cmd中登入mysql后执行下面语句
source 路径+文件名.sql
方法2:手动在查询编辑器中打开backup.sql文件,然后执行文件里的内容就可以了

image-20221016234118933

ps:windows下文件路径分隔符是,比如你的文件backup.sql位于

F:\

你正确的路径名应该要写成(C语言中的转义字符的知识点)

F:\\backup.sql

ps:cmd中是不区分大小写的,

我这里给大家演示一下我的备份和恢复的操作截图:

备份:(备份成功实际是没有任何提示的,可以在backup.sql文件属性里看文件大小是否变化)image-20221016234929490

恢复:(cmd中演示—如果还是在本DBMS中恢复演示需要先删掉db1再恢复)

image-20221016235614546

恢复成功提示:

image-20221016235626728

P11.创建表

# 请创建一个表
# 表的信息如下:表名 user
# id 整型
# name 字符串
# passwd 字符串
# birthday 日期

图形化创建表:

[表]->右键->[创建表]:

image-20221017003054727

然后;

image-20221017003333382

image-20221017003058994

建立完记得点击右下角的保存哦,才能成功创建表哦~~

刷新找到新创建的表后,[右键]–>[打开表]:在这里还可以图形化加入对象的数据哦

image-20221017003551587

语句建表:

image-20221017002733778

image-20221017004641099

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:22:23  更:2022-10-22 21:24:05 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 -2025/4/22 9:20:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码