MySQL库的操作

文章目录

  • 一、创建数据库
    • 1.语法
    • 2.使用案例
  • 二、字符集和校验规则
    • 1.查看系统默认字符集以及校验规则
    • 2.查看数据库支持的字符集
    • 3.查看数据库支持的字符集校验规则
    • 4.校验规则对数据库的影响
  • 三、操纵数据库
    • 1.查看数据库
    • 2.显示创建语句
    • 3.修改数据库
    • 4.删除数据库
    • 5.查看连接情况

一、创建数据库

1.语法

create database [if not exists] db_name 
[[DEFAULT] CHARSET=charset_name] 
[[DEFAULT] COLLATE=collation_name];

注:
 ① [ ] 是可选项。
 ② CHARSET:指定数据库采用的字符集。
 ③ COLLATE:指定数据库字符集的校验规则。

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

2.使用案例

// 创建一个名为db1的数据库
create database db1;

// 创建一个使用utf8字符集的db2数据库
create database db2 charset=utf8;

// 创建一个使用utf8字符集,并带校对规则的db3数据库
create database db3 charset=utf8 collate utf8_general_ci;

MySQL库的操作_第1张图片

二、字符集和校验规则

存的时候看的是编码格式,取的时候看的是校验规则。
所以,一般存的时候采用的编码格式和校对规则必须是一一对应的。

不对应也不一定出问题,但是采用对应的编码格式和校验规则就不会因为不一致而出现乱码等问题。

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

系统默认的字符集以及校验规则,是系统全局的。

① 系统默认的字符集:

show variables like 'character_set_database';

MySQL库的操作_第2张图片
因为当时在/etc/my.cnf配置文件中写了服务端的编码格式是 utf8 。
在这里插入图片描述

② 系统默认的校验规则:

show variables like 'collation_database';

MySQL库的操作_第3张图片

2.查看数据库支持的字符集

show charset;

MySQL库的操作_第4张图片

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

show collation;

MySQL库的操作_第5张图片

4.校验规则对数据库的影响

看看不同的校验规则对数据库表中的数据有什么影响。

utf8_general_ci 校验规则不区分大小写,而 utf8_bin 校验规则区分大小写。
进行同样的查询,查询出来的结果是不一样的,这说明不同的校验规则会给我们不同的查询结果。

MySQL库的操作_第6张图片
① utf8_general_ci 校验规则:MySQL库的操作_第7张图片
MySQL库的操作_第8张图片
② utf8_bin 校验规则:MySQL库的操作_第9张图片
MySQL库的操作_第10张图片

三、操纵数据库

1.查看数据库

show databases;

MySQL库的操作_第11张图片

2.显示创建语句

show create database db_name;

MySQL库的操作_第12张图片
在这里插入图片描述
注:
 ① MySQL 建议 SQL 中的关键字使用大写,但不是必须的。
 ② 数据库的名字加上反引号(``),是为了防止使用的数据库名与关键字冲突。
 ③ /*! */不是注释,它表示如果当前的 MySQL 版本大于 4.01,就执行后面的 SQL 语句。

3.修改数据库

alter database db_name
[[DEFAULT] CHARSET=charset_name]
[[DEFAULT] COLLATE=collation_name];

说明:修改数据库,主要指的是修改数据库的字符集或校验规则。

比如,将数据库的字符集改成 gbk 。MySQL库的操作_第13张图片

当然也可以修改数据库的名称或其它东西。

当数据库创建好之后,最好不要对它进行修改,因为修改数据库造成的影响太大了。

4.删除数据库

drop database [if exists] db_name;

MySQL库的操作_第14张图片

删除之后,数据库内部看不到对应的数据库;对应的数据库文件夹被删除,级联删除,里面的数据表全部被删。

说明:不要随意删除数据库。

5.查看连接情况

show processlist;

MySQL库的操作_第15张图片

通过这条指令,可以知道当前有哪些用户连接到我们的 MySQL ,如果查出某个用户不是你正常登陆的,你的数据库很有可能被别人入侵了。

以后如果发现自己的数据库比较慢时,可以用这条指令来查看数据库的连接情况。

你可能感兴趣的:(MySQL,mysql,数据库,sql)