自学内容网 自学内容网

MySQL 库的操作

温馨提示:非特殊情况不要删除和随意修改数据库


清除MySQL历史命令:system clear


增删数据库

增删数据库

  • 登录MySQL:mysql -u root -p
  • MySQL数据目录:/var/lib/mysql
  • 查看当前数据库列表:show databases;
  • 创建数据库:create database db_name;
  • 再次使用show databases;就可以看到新建的数据库
  • 当然,数据库的数据目录/var/lib/mysql中也可以看到新建的数据库
  • 删除数据库:drop database db_name;
  • 增删的本质就是在/var/lib/mysql新建和删除目录

认识系统编码

创建数据库的时候,有两个编码集:

  • 数据库字符集:数据库未来存储数据
  • 数据库校验集:一种读取数据库中的数据采用的编码格式

数据库无论对数据做任何操作,都必须保证所有的操作保持编码一致

查看系统默认的字符集,如下图所示

show variables like 'character_set_database';

查看系统默认的校验集,如下图所示

show variables like 'collation_database';

查看数据库支持的字符集,如下图所示

show charset;

查看数据库支持的字符集校验规则,如下图所示

show collation;


指定编码创建数据库

创建名为db1的数据库

create database db1;

说明:当我们创建数据库的时候没有指定字符集和校验规则的时候,系统使用默认的字符集和校验集····:utf8、utf8_general_ci

创建一个使用utf8字符集的db2数据库

create database db2 charset=utf8;

创建一个使用utf字符集,并带有校对规则的db3数据库

create database db3 charset=utf8 collate utf8_general_ci;


验证不同校验集对数据库的影响

创建使用检验集 utf8_general_ci 的数据库(不区分大小写):

  • create database test1 collate utf8_general_ci;
  • use test1;
  • create table person(name varchar(20));
  • insert into person values('a');
  • insert into person values('A');
  • insert into person values('b');
  • insert into person values('B');

查询表的内容:

  • use test1;
  • select * from person where name='a';

将表中的内容排序: 

  • use test1;
  • select * from person order by name;


创建使用检验集 utf8_bin 的数据库(区分大小写):

  • create database test2 collate utf8_bin;
  • use test2;
  • create table person(name varchar(20));
  • insert into person values('a');
  • insert into person values('A');
  • insert into person values('b');
  • insert into person values('B');

查询表的内容:

  • use test2;
  • select * from person where name='a';

将表中的内容排序: 

  • use test2;
  • select * from person order by name;


操纵数据库

查看数据库:

  • show databases;

显示创建数据库的细节:

  • show create database db_name;

修改数据库(主要是修改数据库的字符集和校验集)

实例:将数据库test1的字符集修改为gbk

  • alter database test1 charset=gbk;
  • alter database test1 charset=gbk collate=gbk_bin;

数据库的删除:

  • drop database db_name;

结果:

  • 数据库内部看不到对应的数据库
  • 对应的数据库文件夹被级联删除,数据表全部被删除

注意:不要随意删除数据库


数据库的备份和恢复

备份:

  • # mysqldump -P3306 -u root -p 密码 -B 数据库名 > 数据库备份存储的文件路径
  • # mysqldump -P3306 -u root -p -B test1 > /root/MySQL/test.sql

查看test1.sql的内容

还原:

  • mysql> source /root/MySQL/test1.sql;

只是备份数据库中的表:

  • # mysqldump -P3306 -u root -p 密码 -B 数据库名 表名1 表名2 > 数据库备份存储的文件路径

同时备份多个数据库:

  • # mysqldump -P3306 -u root -p 密码 -B 数据库名1 数据库名2 > 数据库备份存储的文件路径

查看数据库的连接情况:

  • show processlist;
  • 查询当前连接了我们的MySQL的用户


原文地址:https://blog.csdn.net/2402_86320900/article/details/142555960

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!