MySQL数据库基础
MySQL数据库认知
数据库一般指的是,在磁盘或者内存中存储的特定结构组织的数据;
本质上,数据库是对数据内容存储的一套解决方案,用户给出字段或要求,数据库直接反馈结果。
MySQL是一种基于C(mysql)S(mysqld)模式的一种网络服务。
mysql是数据库服务的客户端,mysqld是数据库服务的服务器端。
mysql -h 145.0.0.1 -P 3306 -u root -p //连接MySQL服务器
-h 指明登录部署了mysql服务的主机
-P 指明我们要登访问的端口号
-u 指明登录用户
-p 指明需要输入密码
简洁写法:mysql -u root -p
SQL的分类:
show、desc、select功能区分
show: 展示已经建立的库或表
show databases; //展示账户下建立的全部数据库
show tables; //展示所使用库内的所有表
show create database 数据库名; //展示建立该数据库的语法细节
show create table 表名; //展示创建该表的语法细节
desc: 显示表的结构和各种属性
desc 表名;
select: 查看写入表内的具体数据
对数据库的操作
创建数据库
语法:
CREATE DATABASE [if not exists] db_name [create_specification]
eate_specification:
[DEFAULT] CHARACTER SET character_name
[DEFAULT] COLLATE collation_name
简洁版:create database db_name;
说明:
- MySQL指令不区分大小写
- [ ]内的是可选项,写的时候可加可不加
- CHARACTER SET:指定数据库采用的字符集
- COLLATE:指定数据库字符集的校验规则
实例:
字符集和校验规则
数据库字符(编码)集:数据库存储字符所遵循的规则;
数据库校验集:查询读取数据库内数据所遵循的规则。
详解:
字符集主要是控制用什么语言。比如utf8就可以使用中文。
检验规则可以影响:数据库内的字符是否区分大小写等。
- 查看系统默认字符集以及校验规则
show variables like ' character _ set _ database';
show variables like ' collation _ database';
- 查看数据库支持的字符集和校验规则
show charset;
show collation;
建立数据库后要先 use 进入数据库后,再进行操作:
use 数据库名;
修改数据库
语法:
ALTER DATABASE db_name [alter_specification]
alter_specification:
[DEFAULT] CHARACTER SET character_name
[DEFAULT] COLLATE collation_name
简洁版:alter database db_name […];
功能: 对数据库的修改主要是修改数据库的字符集、校验规则。
删除数据库
语法:
DROP DATABASE [IF EXISTS] db_name;
简洁版:drop database db_name;
数据库被删除后,对应的数据库文件夹和内部的数据也会被级联删除,所以不要随意删除数据库。
备份和恢复
备份:
语法:mysqldump
mysqldump -P端口号 -u 用户名 -p -B 数据库名 > 备份存储的文件路径
示例:
将 mytest库备份到文件D盘根目录
mysqldump -P3306 -u root -p -B mytest > D:/ mytest. sq1
恢复:
语法:source
source 备份路径
示例:
在当前账户中恢复数据库备份文件mytest.sql
source /home/cxt/MySQL/mytest.sql
注意事项:
- 不是备份整个数据库,而是其中的一张表:
mysqldump -u 用户名 -p 数据库名 表名1 表名2 > 数据库存放路径
- 同时备份多个数据库
mysqldump -u 用户名 -p -B 数据库名1 数据库名2 … > 数据库存放路径
- 如果备份一个数据库时,没有带上-B参数,在恢复数据库时,需要先创建空数据库,然后 use数据库, 再使用 source来还原。