数据库第一章:库的操作

一、铺垫

1.mysql是数据库服务的客户端;

2.mysqld是数据库服务的服务端;

3.mysql本质:是基于CS模式的一种网络服务;

4.数据库的本质:对数据内容存储的一套解决方案,你给我字段或要求,我直接给你结果就行;

5.Linux下的建立数据库,本质就是在LInux下建立一个目录

6.在数据库内创建表,本质就是在Linux下创建对应的文件即可;

7.创建数据库时,有两个编码集:1.数据库编码集------数据库未来存储数据用的编码;2.数据库校验集------支持数据库,进行字段比较使用的编码;本质上也是一种读取数据库中数据的采用的编码格式;

8.综上数据库无论对数据任何操作,都必须保证操作和编码必须是编码一致的

二、命令

1.登录mysql;

mysql -h 127.0.0.1 -P 3306 -u root -p

-h 代表需要连接的IP地址

-P 代表需要链接的端口号

-u 代表需要登陆的用户名

-p 指明需要输入密码

mysql -u root -p //一般使用这条语句登陆mysql

2.创建数据库

create database helloworld; //建立数据库helloworld

3.删除数据库

drop database helloworld; //删除数据库helloworld

本质就是Linux下删除一个目录;执行删除动作后,数据库文件夹,级联都会被删除,里面所有的数据都会被删除;不要随意删除数据库;

4.查看数据库

show databases; //使用这条语句,来查看已存在的数据库文件

cd /var/lib/mysql //同时可以进入mysql数据库查看命名相同的文件

本质就是在Linux下 root/var/lib/mysql下创建一个目录;

5.使用并打开数据库

use helloworld; //打开数据库helloworld;进入数据库

//也可以在helloworld数据库中,使用这条语句,跳到其他数据库中;

mysql数据库的行为,和Linux文件系统的操作行为是完全对的上的;

5.1当处于数据库中,想知道自己处于哪个数据库里

select database(); //查看自己处于哪个数据库文件中;

6.改变数据库某些属性

alter database helloworld charset=gbk collate gbk_chinese_ci;

//只能改变数据库的编码集,校验集

show create database helloworld; //显示创建数据库helloworld的属性;

7.备份和恢复数据库

mysqldump -P3306 -uroot -p 密码 -B helloworld(数据库名) > helloworld.sql(数据库备份路径+文件名) //备份

//此操作是在Linux,shell语句中跑的;

打开helloworld.sql文件,可以看到里面是以前操作mysql数据库的语句,都备份起来了;

source /home/qk/(路径名+要恢复的文件名); //在mysql中使用此语句,恢复数据库文件

//恢复的时候,他会把曾经操作过的语句都再一次跑一遍;

mysqldump -u root -p 密码 -B 数据库名1 数据库名2 > 数据库存放路径 //备份多个数据库
mysqldump -u root -p 密码 数据库名 表名1 表名2 > 数据库存放路径 //备份其中一张表

如果备份一个数据库时,没有带-B参数,在恢复数据库时,需要先创建空数据库,然后使用数据库,在使用source还原;

8.查看数据库被谁使用

show processlist; //查看数据库正在被谁使用;

9.编码集

9.1查看系统默认字符集以及校验规则

show variables like 'character_set_database'; //查看数据库编码集

show variables like 'collation_database'; //查看数据库校验集

9.2查看数据库支持的字符集

show charset;

9.3查看数据库支持的字符集校验规则

show collation;

mysql数据库编码校验规则;采用了就近原则;因为我们在配置文件中已经写了采用哪种编码格式,哪种校验格式;如果在sql语句中有体现的话那就采用语句中的标准,如果没有体现,就采用配置文件中的标准;

9.4创建数据库指明编码集

create database d1 charset=utf8; //创建数据库d1,并指明使用utf8编码;

create database d1 character set utf8; //第二种方法;

create database d1 charset=utf8 collate utf8_general_ci; 创建数据库d1,并指明使用utf8编码;使用utf8_general_ci校验集;

相关推荐
刚入门的大一新生11 分钟前
Linux-简单设计libc库
linux·c++
irislinAmelia12 分钟前
Day11文章_多路视频流加权公平调度与令牌桶QoS
c语言·人工智能
ss27313 分钟前
Java全栈实战 | 1.3-03 索引原理:联合索引 (a,b,c) 只查 b 走不了索引?B+ 树一图讲透所有索引玄学
java·数据库
聚美智数1 小时前
车辆合格证OCR识别-机动车合格证识别-车辆合格证OCR‑机动车出厂证解析‑整车参数提取 API 接口介绍
数据库·经验分享
DBA_G1 小时前
南大通用技术分享:GBase 8a数据库执行计划架构原理解析
数据库
6Hzlia1 小时前
【Classic 150 刷题计划】 LeetCode 14. 最长公共前缀 | C++ 纵向扫描法与防越界细节
c++·算法·leetcode
QQ_21696290961 小时前
基于SpringBoot+Vue的小生活平台的设计与实现
java·数据库·vue.js·spring boot·spring·微信小程序·生活
考虑考虑9 小时前
数据库中的EXISTS
运维·数据库·后端
Wang's Blog9 小时前
Java框架快速入门: Spring Security+OAuth2之数据库和实体类的RBAC改造
java·数据库·spring
讳疾忌医丶9 小时前
深度拆解 RocksDB 内核:基于 C++17 的 FIFO 调度状态机与温度阶梯自愈设计
java·c++·算法·架构