MySQL学习记录——삼 库的操作

文章目录

  • 1、创建数据库
  • 2、字符集和校验集
  • 3、基本操作
  • 4、备份与恢复
  • 5、连接情况


mysql命令中,system clear和Linux的clear命令作用相同

1、创建数据库

开两个窗口,一个用来访问数据目录/var/lib/mysql,一个用来打开mysql:mysql -u root -p。

创建用的命令

create databse d1;

d1是名字,可以自定义。创建后在数据目录内能够查看到创建的d1目录,以及用以下命令可以查看数据库

show databases;

在数据目录内删除创建的数据库目录,show一下就看不到它了。

创建还可以这样写

create databse if not exists d1;

如果不存在d1就创建,存在就会有1个1 warning,然后返回,不做什么。

2、字符集和校验集

数据库有两个编码集,是数据库编码集和数据库校验集。编码集用来存储数据,统一编码形式,校验集支持数据库进行字段比较使用的编码,本质是一种读取数据库中数据的编码格式。数据库无论对数据做什么操作,都必须保证编码一致。

查看默认的字符集和校验规则

show variables like ‘character_database_set’;
show variables like ‘collation_database’;(数据库的校验规则)
show variables like ‘collation_%’;(连接,数据库,服务的校验规则)

查看全部的字符集和校验规则

show charset;
show collation;

可以创建指定编码的数据库,默认字符集是utf8,校验规则是utf8_general_ci,这个可以在创建的数据库目录内的db.opt文件中看到。

create databse d charset=utf8 collate utf8_general_ci;
create databse d character set utf8 collate utf8_general_ci;

上面的查看全部的命令中,能够看到字符集和校验规则是对应的,不对应会出错。

数据库中的表会使用所在数据库相同的编码和校验规则。

utf8字符集对应的校验规则除了utf8_general_ci,还可以是utf8_bin,前者不区分大小写,后者区分大小写。

3、基本操作

进入一个数据库,创建一个person表,插入一些数据,再查看表结构

MySQL学习记录——삼 库的操作_第1张图片

查看表结构desc后跟表名,select 指定 from 表名来查看这个表指定的元素,插入insert into 表名如图。

MySQL学习记录——삼 库的操作_第2张图片

utf8_bin区分大小写,如果是utf8_general_ci,不区分大小写,那就会打印出b和B。

以上在比较,插入时就用到校验集和字符集。


删除数据库

drop databse 数据库名;

数据库是把整个目录都被删了,所有数据都删除,也就是rm -rf。


查看自己当前数据库

select database();


修改数据库两个集

alter database 数据库名 charset=gbk collate gbk_chinese_ci;

上面是改成了gbk编码。


查看当前数据库的两个集

show create database 数据库名;

如果mysql版本大于4.01版本,就会在后面打印!40100 DEFAULT。

MySQL学习记录——삼 库的操作_第3张图片

改了集后再查看也能看到。

4、备份与恢复

建议用Linux的命令去备份。

mysqldump -P3306 -u root -p -B 库名 > 文件名.sql

当前目录就会生成一个.sql文件,把历史上所有的操作都备份起来了。这时候再drop也不影响数据库的文件丢失了。

备份好的sql文件可以用mysql命令来还原

source 路径

此时就把整个数据库都恢复过来了,可以正常用了。

如果是备份数据库中的表

mysqldump -u root -p 库名 表名1 表名2 > 路径

备份多个表

mysqldump -u root -p -B 库名1 库名2 > 路径

还原都是source。如果没有-B,那么就得创建空数据库,才能恢复。

没有重命名的mysql命令,之前有,后来取消了,因为这个并不好,有多人使用同一个数据库的情况存在,所以重命名并不好。可以在备份时不带-B,恢复时创建一个指定名字的数据库,再恢复,也相当于重命名。

5、连接情况

查看都有谁在用哪些数据库

show processlist;

结束。

你可能感兴趣的:(MySQL学习,mysql,学习)