文章目录
博客中的MySQL知识都是参照B站韩顺平老师的MySQL视频教程做的笔记,使用到的SQL yog
SQLyog界面:
cmd命令行登入数据库:
- 第一种方式:不回显密码,防偷窥
# 第一步:输入要登入的用户名
mysql -u root -p
# 第二步:输入密码:
比如:123456
- 第二种方式:回显密码
# 模板:mysql -u 用户名 -p密码 注意:这里-p后直接跟密码,不能带空格,且密码是回显的//一气呵成:mysql -u root -p123456
选项含义:-u-p
P6.数据库的三层结构
这一集主要讲了数据库的三层结构,整体看数据库,揭开神秘面纱.
安装MySQL数据库,实际上是在主机上安装数据库管理系统(DBMS),全称:DataBase Management System,数据库管理系统下可以管理多个数据库,每一个数据库下又可以创建多个表,从而存储数据.
ps:数据库中其实不止有表,还有视图,存储过程,函数,触发器等等
本质:我们写的SQL 语句实际上是发给了3306监听端口,也就是mysqld.exe,翻译后执行相应的文件操作
到了这里就可以和大家解释为什么我们不推荐使用图形界面操作:那是因为我们实际上开发的时候,更多的可能是在Java程序中写入SQL语句,然后进行操作的,甚至是在Linux命令行中操作,这时候就完全用不上图形化操作的方式.
SQL语句的分类:
- DDL:数据库定义语言,[create 数据库,表]
- DML: 数据库操作语言,[增加 insert 修改update 删除 delete]
- DQL:数据库查询语言,[select为主]
- DCL:数据库控制语言[管理数据库:比如用户权限 grant授予,revoke撤销]
P8.创建数据库
这一集主要讲了如何创建数据库和创建数据库的两个属性:字符集和字符集的校对规则
注意:MySQL中的三种注释方法:
# 注释方式1
-- 注释方式2
/*注释方法3*/
创建数据库分为图形化创建(了解)和语句创建(重点)
以我的SQLyog 5.7为参考:
- character set :指定数据库采用的字符集,如果不指定字符集,默认是latin 1,常用的是utf8
- collate:指定数据库字符集的校对规则,如果不指定,默认是latin 1_swedish_ci,常用的有两种,一种是utf8_bin[区分大小写],另一种是utf8_general_ci[不区分大小写]
图形化创建数据库:
图形化修改数据库的两个属性:
调节字体:[工具]->[首选项]->[字体编辑器设置]->[SQL编辑器之更改]->[粗体]
语句创建数据库:
# 如果数据库syh_db01已经存在就会无法创建失败,而且会报错
create database syh_db01;
# 如果数据库syh_db01之前存在就不会创建失败,但不会报错(也就是说if not exists是可选的,取决于自己写不写)
create database if not exists syh_db01;
图形化创建表:
注:创建表时,如果没有给每一个表指定字符集和字符集的校对规则,表会沿袭所在数据库的这两个属性
图形化查询表,并且在表中插入数据:
创建数据库时的字符集和字符集的校对规则选择不同,在查询的时候,会因为你where条件子句中name=‘tom’,utf8_bin区分大小写就不会显示Tom的信息,utf8_general_ci不区分大小写,就会显示Tom的信息.[可验证]
验证:
数据库syh_db01和syh_db02都存储了下图的这两条记录:
数据库syh_db02中的t2数据库用的是区分大小写的utf8_general_ci的校对规则,查询结果如下:
数据库syh_db01中的t1数据库用的是区分大小写的utf8_bin的校对规则,查询结果如下
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.备份恢复数据库
图形化备份与恢复数据库:
语句形式备份和恢复数据库:(一般是将一个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文件,然后执行文件里的内容就可以了
ps:windows下文件路径分隔符是,比如你的文件backup.sql位于
F:\
你正确的路径名应该要写成(C语言中的转义字符的知识点)
F:\\backup.sql
ps:cmd中是不区分大小写的,
我这里给大家演示一下我的备份和恢复的操作截图:
备份:(备份成功实际是没有任何提示的,可以在backup.sql文件属性里看文件大小是否变化)
恢复:(cmd中演示—如果还是在本DBMS中恢复演示需要先删掉db1再恢复)
恢复成功提示:
P11.创建表
# 请创建一个表
# 表的信息如下:表名 user
# id 整型
# name 字符串
# passwd 字符串
# birthday 日期
图形化创建表:
[表]->右键->[创建表]:
然后;
建立完记得点击右下角的保存哦,才能成功创建表哦~~
刷新找到新创建的表后,[右键]–>[打开表]:在这里还可以图形化加入对象的数据哦
语句建表:
版权归原作者 每天都要坚持刷题 所有, 如有侵权,请联系我们删除。