学习数据库的基础部分,mysql数据库是由数据库、数据表、数据组成的
数据库更像是文件夹,里面放置了我们所有的笔记本
数据表就是每一本笔记本,记录着不同的笔记,每本笔记的结构都不同
数据就是存储的具体笔记内容,数据的存储受不同的结构scheam
约束,就好像每篇笔记里面的日期、正文、心情…规定你往什么位置填写什么类型(时间,数字,字符串)的内容
第一句sql
虽然上面我们安装了可视化工具,但是初学阶段还是会使用控制台的方式
在基础部分我们主要学习的是一些基础的sql(structured query language:结构化查询语言)语句,sql语句使用定义用来操作数据相关的规则,比如增加数据,查询数据,删除…
sql语句可以在控制台执行,也可以是各种编程语言去操作,比如Java里面的JDBC,在学习基础的时候还是通过控制台的方式学习
可以直接cmd连接
mysql -uroot -p
也可以使用Navicat连接以后,使用查询工具

sql语句可以换行,以;
号结尾,关键字不要求大小写,但是最好使用大写
比如我们使用 SHOW DATABASES;
来查询所有数据库

sql的分类
- DDL(Data Definition language):用来操作数据库、表
- DQL(Data Manipulation Language):查询数据
- DML(Data query Language):增加、删除、修改数据
- DCL(Data Control Language):数据控制语言
查询数据库
前面的show databases
其实就是一个DDL查询语句;查询出了所有的数据库,在我们没有创建任何的数据库之前,里面就有一些默认的数据库了
我们可以通过show create database xxx
来查看一个具体的数据库创建详情:
showcreate database mysql;
详情里面就有这个数据库的字符集

创建数据库
通过create database xxx
来创建数据库
-- 直接创建名为test的数据库create database test
-- 先判断是否已经存在了数据库create database if notexists test
-- 创建数据库并指定它的字符集create database if notexists test characterset gbk
什么是字符集
什么是字符集、字符序?简单的来说:
- 字符集(character set):定义了字符以及字符的编码。
- 字符序(collation):定义了字符的比较规则。
字符集确定了文字的存储方式,MySQL可以使用多种字符集和检验规则来组织字符,其实就是说我们的内容它存入具体的数据库是需要进行编码的,不同的字符集可以存储不同的内容
比如GBK
就是汉字内码扩展规范,ASCII
就是美国标准信息交换代码,utf8mb4
可以直接存储表情
我们可以通过SHOW CHARACTER SET;
来查看数据库支持的全部字符集

修改数据库
可以使用alter
来修改已经创建的数据库
比如:
-- 修改test数据库的字符集为utf-8alter database test characterset utf8;
删除数据库(破坏性操作)
注意删除数据库这个操作非常的重要!需要考虑后果删库跑路不可取啊!
-- 删除test数据库drop database test;
-- 先判断是否存在再继续删除drop database if exists test;
选择数据库
在操作数据表之前我们需要选择一个数据库
可以通过use
-- 选择test数据库
use test
-- 查看当前正在使用的数据库select database();
数据库备份还原
在控制台执行,此时并灭有mysql的控制台,这是linux的控制台!
# mysqldump -u用户名 -p密码 数据库名称 > 备份文件名称
mysqldump -uroot -p123456 test > ./go_back.sql
还原的时候需进入mysql控制台
# 创建数据库
create database test# 还原数据source /root/mysql/go_back.sql