MySQL基础一

1.1 MySQL特点
MySQL是一个单进程多线程、支持多用户、基于客户机/服务器(Client/Server简称C/S)的关系数据库管理系统 。
性能高效
跨平台支持
简单易用
开源
支持多用户

1.2 使用流程
在这里插入图片描述

1.3 MySQL服务的安装
MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装;zip格式是自己解压,解压缩之后其实MySQL就可以使用了,但是要进行配置。配置文件参数参考:
https://www.cnblogs.com/wyy123/p/6092976.html

1.4 MySQL客户机

1 MySQL5.6命令行窗口 (5.7版本无)
2 CMD命令提示符窗口
3 WEB浏览器(例如phpMyAdmin)
4 第三方客户机程序(例如MySQL-Front、MySQL Manager for MySQL等)

1.5 连接MySQL服务器
当MySQL客户机与MySQL服务器是同一台主机时,打开命令提示符窗口,输入

mysql -h 127.0.0.1 -P 3306 -u root –proot

或者

mysql -h localhost -P 3306 -u root –proot

然后回车(注意-p后面紧跟密码root),即可实现本地MySQL客户机与本地MySQL服务器之间的成功连接。
注: 若配置文件my-default.ini中未指定端口号,不要端口选项。

1.6 MySQL服务配置
1 MySQL超级管理员root账户自动生成的;
2 设置root的密码:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');

1.7 存储引擎
就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

常用的存储引擎:MyISAM和InnoDB

MyISAM: 拥有较高的插入,查询速度,但不支持事务,主要应用于OLAP
InnoDB :5.5版本后Mysql的默认数据库,事务型数据库的首选引擎,支持行级锁定,主要应用于OLTP

1.8 引擎相关
看mysql现在已提供什么存储引擎:

mysql> show engines;

看mysql当前默认的存储引擎:

mysql> show variables like '%storage_engine%';

看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎):

mysql> show create table 表名;

1.9 环境变量sql_mode
mysql数据库中有一个环境变量sql_mode,定义了mysql应该支持的sql语法,数据校验等!
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
no_engine_subtitution的作用:mysql 在create table 时可以指定engine子句;
STRICT_TRANS_TABLES模式:严格模式,进行数据的严格校验,错误数据不能插入,报error错误。

1.10 配置文件
my.ini配置文件包含了多种参数选项组,每个参数选项组通过“[ ]”指定,每个参数选项组可以配置多个参数信息。通常情况下,每个参数遵循“参数名=参数值”这种配置格式,参数名一般是小写字母,参数名大小写敏感。常用的参数选项组有“[client]”、“[mysql]”以及“[mysqld]”参数选项组。
[client]参数选项组:
配置了MySQL自带的MySQL5.6 命令行窗口可以读取的参数信息。
常用的参数是port(默认值是3306)。
[mysql]参数选项组:
配置了MySQL客户机程序mysql.exe可以读取的参数信息。
常用的参数“default-character-set=gbk”。
[mysqld]参数选项组:
配置了MySQL服务程序mysqld.exe可以读取的参数信息,mysqld.exe启动时,将[mysqld]参数选项组的参数信息加载到服务器内存,继而生成MySQL服务实例。

2.1 字符集与字符序概念
字符(Character)是人类语言最小的表义符号,例如‘A’、‘B’等。给定一系列字符,对每个字符赋予一个数值,用数值来代表对应的字符,这个数值就是字符的编码(Character Encoding)。

给定一系列字符并赋予对应的编码后,所有这些“字符和编码对”组成的集合就是字符集(Character Set)。

字符序(Collation)是指在同一字符集内字符之间的比较规则。一个字符集包含多种字符序,每个字符序唯一对应一种字符集。

MySQL字符序命名规则是:以字符序对应的字符集名称开头,以国家名居中(或以general居中),以ci、cs或bin结尾。ci表示大小写不敏感,cs表示大小写敏感,bin表示按二进制编码值比较。

2.2 命令

使用MySQL命令
show variables like ‘character%’;
即可查看当前MySQL服务实例使用的字符集.

使用MySQL命令“show collation;”即可查看当前MySQL服务实例支持的字符序。

使用MySQL命令
show variables like ‘collation%’;
即可查看当前MySQL会话使用的字符序。

2.3 字符集种类
character_set_client:MySQL客户机字符集。
character_set_connection:数据通信链路字符集,当MySQL客户机向服务器发送请求时,请求数据以该字符集进行编码。
character_set_database:数据库字符集。
character_set_filesystem:MySQL服务器文件系统字符集,该值是固定的binary。
character_set_results:结果集的字符集,MySQL服务器向MySQL客户机返回执行结果时,执行结果以该字符集进行编码。
character_set_server:MySQL服务实例字符集。
character_set_system:元数据(字段名、表名、数据库名等) 的字符集,默认值为utf8。

2.4 MySQL字符集的设置
方法1:修改my.ini配置文件,可修改MySQL默认的字符集(5.7版本没有)。

方法2:MySQL提供下列MySQL命令可以“临时地”修改MySQL“当前会话的”字符集以及字符序。
在这里插入图片描述
方法3:使用MySQL命令 “set names gbk;”可以“临时一次性地”设置character_set_client、character_set_connection以及character_set_results的字符集为gbk
方法4:连接MySQL服务器时指定字符集
mysql --default-character-set=字符集 -h 服务器IP地址 -u 账户名 –p密码

2.5 SQL脚本
执行SQL脚本文件方法:

source C:/mysql/init.sql
注意:路径中的分隔符用/,不要用\(会当成转义字符)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值