NoteOfMySQL-01-初学数据库

一、MySQL简介

  1. MySQL是一款单进程多线程、支持多用户、基于CS的关系数据库管理系统,属于开源软件(GPL协议)。
  2. MySQL分为社区版(Community Edition)和企业版(Enterprise)。
  3. MySQL命令以分号;gG结尾。
  4. 数据库包括表、视图、索引、存储过程、函数、触发器。
  5. MySQL提供了插件式的存储引擎,存储引擎是基于表的,因此也称为表类型。
  6. 一张表围绕一个主图,表中不包含重复信息(即:‘学生’表中包含学号、姓名、性别,则‘成绩’表中不再保存这些信息)。
  7. 数据库例子下载:Other MySQL Documentation

二、存储引擎

1. InnoDB

  具有事务支持,提交、回滚和崩溃恢复,可处理巨大数据量,行级锁定与高并发控制,每张表按照主键顺序存储。

2. MyISAM

  不需要事务支持,以读为主(高速度查询、插入),每个字符列可以有不同的字符集。

3. MEMORY

  适用于存储临时数据,默认使用哈希(Hash)索引。

4. MERGE

  MERGE存储引擎是一组MyISAM表的组合。

5. BLACKHOLE

  写入的信息有去无回,适用于验证存储文件的准确性等。

6. CSV

  不支持索引。

7. ARCHIVE

  不支持索引,不支持删除、修改,只有插入和查询功能,锁定机制为行级锁定。

三、字符集

  1. MySQL默认使用的字符集为latin1(单字符编码)。同时,MySQL服务器可支持多种字符集。
  2. MySQL字符集包括字符集和校对规则两个概念。
  3. 校验规则:_ci大小写不敏感、_cs大小写敏感、_bin按照二进制编码值进行比较
  4. 连接字符集和校对规则

  MySQL提供了3个不同的参数:character_set_client、character_set_connection、character_set_result,分别代表客户端、链接、返回结果的字符集。通常情况下,三种字符集应该相同,才能保证用户写入与读取的数据相同。

四、MySQL使用

1. 启动MySQL

启动MySQL服务需要在cmd命令行下,且需要以管理员身份运行。

net start mysql

启动MySQL

2. 停止MySQL

停止MySQL服务需要在cmd命令行下,且需要以管理员身份运行。

net stop mysql

3. 连接MySQL

连接MySQL需要在cmd命令行下。

mysql -h localhost -u root -p [-P 端口号] [-D 指定数据库]
[输入密码]

连接MySQL

4. 退出MySQL

登录MySQL后,退出的方式有一下三种:exitquitq

5. 查看当前MySQL数据库支持的存储引擎

-- 法一
show engines;
-- 法二
show variables like 'have%';

6. 查看所有可使用的字符集

-- 法一
show character set;
-- 法二
informtion_schema.character_sets;

7. 查看相关字符集的校对规则

-- 法一
show collation like '***';
-- 法二
information_schema.collations;

8. 查看当前服务器的字符集

show variables like 'character_set_server';

9. 修改服务器字符集

# 在mysql安装路径下的my.ini文件中
[mysql]
character-set-server=gbk;

10. 查看当前服务器的校对规则

show variables like 'collation_server';

11. 查看当前数据库的字符集

show variables like 'character_set_database';

12. 查看当前数据库的校对规则

show variables like 'collation_database';

13. 查看当前表的字符集、校对规则

show create table 表名;

14. 修改连接字符集和校验规则

# 在mysql安装路径下的my.ini文件中
[mysql]
default-character-set=gbk;
原文地址:https://www.cnblogs.com/bpf-1024/p/14052036.html