【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只返回小写;


相关推荐
forestsea9 分钟前
全解:Redis RDB持久化和AOF持久化
数据库·redis·缓存
叫我DPT10 分钟前
分享一个python启动文件脚本(django示例)
数据库·python·django
XXYBMOOO1 小时前
基于 Qt 的 BMP 图像数据存取至 SQLite 数据库的实现
数据库·c++·qt
Sunlight_7771 小时前
第五章 SQLite数据库:1、SQLite 基础语法及使用案例
java·linux·服务器·jvm·数据库·tcp/ip·sqlite
嘉嘉king1 小时前
Mysql联表查询
数据库
镜舟科技2 小时前
NoSQL 与 NewSQL 全面对比:如何选择适合你的数据库方案?
数据库·starrocks·nosql·newsql·技术架构·实时数据分析
TDengine (老段)2 小时前
TDengine 语言连接器(Node.js)
大数据·c语言·数据库·物联网·node.js·时序数据库·tdengine
Sunlight_7773 小时前
第五章 SQLite数据库:3、SQLite 常用语法及使用案例
jvm·数据库·sqlite
数据库砖家3 小时前
YashanDB|虚拟内存高出实际内存十几G?原因不只是“占用大”这么简单
数据库