【MySQL--->数据库操作】

### 文章目录

  • [@[TOC](文章目录)](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)
  • [一、操作语句](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)
  • [1.增](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)
  • [2.删](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)
  • [3.改](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)
  • [4.查](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)
  • [5.备份](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)
  • [二、字符集与校验规则](#文章目录 @TOC 一、操作语句 1.增 2.删 3.改 4.查 5.备份 二、字符集与校验规则)

一、操作语句

1.增

语句格式:create database [if no exists]数据库名[create_specification [,create_specification] ...];

中括号内是可选项,if no exists是指如果数据库不存在就创建,存在就不创建,相当于自动查重. create_specification 可以指定数据库的编码格式和校验规则.

2.删

drop database 数据库名;

3.改

alter database 数据库名 指定项;可以更改数据库指定的字符集

4.查

show databases;可查看所有数据库

use 数据库名;选定要使用的数据库

select database();查看当前在那个数据库中.

show processlist;可以查看当前谁在使用mysql;

5.备份

创建一个数据库,然后退出mysql,用命令mysqldump -P3306 -uroot -B 数据库名 > 备份文件路径.将数据备份至指定的路径下的文件中.数据库后面跟多个数据库名,可以同时备份多个数据库.如果备份的是表,则在数据库后面跟上表名即可,不过恢复的时候首先要自己创建一个数据库.-B的选项其实就是备份数据中有创建数据库的命令.

恢复时,进入mysql程序,用语句:source 备份文件路径;即可将数据恢复.数据库备份的数据其实是创建数据库时的命令,恢复数据就是将数据库的命令在当前程序中再执行一次.

二、字符集与校验规则

创建数据库时有指定字符集和校验规则的选项;字符集就是数据存储时的编码格式,校验规则就是提取数据时校验编码格式的方法;在/etc/my.cnf配置文件中有character-set-server=utf8的配置信息,就是在配置数据库模式使用的字符集.

使用show charset;可以查看支持的字符集

使用show collation;可以查看支持的校验规则.

相同的字符集,不同的校验规则,提取的数据也会不同.例如字符集utf8,校验规则utf8_general_ci;索引提取数据时不区分大写,utf8_bin;则区分大小写;

首先用相同字符集,不同的校验规则创建两个数据库,分别在两个数据库中创建两个person表

分别在两个表中插入相同的数据'a','A','B','b'

将两个表都排序,所得到的结果是不一样的,db1不区分大小写,所以A和a都排在前面,db2区分大小写,按照ascll码值比较小写全部排在大写的后面.

按照名字小写查询db1不管大小写都返回,db2只返回小写;


相关推荐
Hacker_LaoYi13 分钟前
【渗透技术总结】SQL手工注入总结
数据库·sql
岁月变迁呀14 分钟前
Redis梳理
数据库·redis·缓存
独行soc15 分钟前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍06-基于子查询的SQL注入(Subquery-Based SQL Injection)
数据库·sql·安全·web安全·漏洞挖掘·hw
你的微笑,乱了夏天1 小时前
linux centos 7 安装 mongodb7
数据库·mongodb
工业甲酰苯胺1 小时前
分布式系统架构:服务容错
数据库·架构
独行soc2 小时前
#渗透测试#漏洞挖掘#红蓝攻防#护网#sql注入介绍08-基于时间延迟的SQL注入(Time-Based SQL Injection)
数据库·sql·安全·渗透测试·漏洞挖掘
White_Mountain2 小时前
在Ubuntu中配置mysql,并允许外部访问数据库
数据库·mysql·ubuntu
Code apprenticeship2 小时前
怎么利用Redis实现延时队列?
数据库·redis·缓存
百度智能云技术站2 小时前
广告投放系统成本降低 70%+,基于 Redis 容量型数据库 PegaDB 的方案设计和业务实践
数据库·redis·oracle
老王笔记2 小时前
GTID下复制问题和解决
mysql