0


【韩顺平老师讲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-pimage-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

标签: 数据库 mysql sql

本文转载自: https://blog.csdn.net/qq_64428099/article/details/127355959
版权归原作者 每天都要坚持刷题 所有, 如有侵权,请联系我们删除。

“【韩顺平老师讲MySQL】创建数据库和表以及备份数据库”的评论:

还没有评论