一.MySQL的安装
MySQL的安装之后会编辑,这里先说MySQL的启动
提示:mysql5.7 的端口号是13306 默认密码是abc123
mysql8.0的端口号是3306 默认密码是abc123
二.MySQL的启动
在完成上述操作之后,我们开始启动mysql
#启动 MySQL 服务命令:
net start MySQL 服务名
#停止 MySQL 服务命令:
net stop MySQL 服务名
说明:
1.start 和 stop 后面的服务名应与之前配置时指定的服务名一致
2.如果当你输入命令后,提示”拒绝服务“,请以系统管理员的身份打开命令提示符界面重新尝试
3.2自带客户端的登录与退出
当MySQL服务启动完成之后,便可以通过客户端来登录MySQL数据库,注意:确认服务是开启的。
登录方式1:MySQL自带客户端
开始菜单 ----> 所有程序 ------> MySQL -------> MySQL 8.0 Command Line Client
这里和康师傅的密码一致,都是abc123
说明:仅限于root用户
这里直接输入密码就可以进入MySQL服务器
登录方式2:通过命令提示符(cmd)进入
格式:
mysql -h 主机名 -P 端口号 -u 用户名 -p密码
举例:
mysql -h localhost -P 3306 -u root -pabc123
注意:(1): -p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有空格
mysql -hlocalhost -P3306 -uroot -pabc123
(2):警告的意思是:在命令行中使用密码是不安全的,所以我门要把密码输入到下一行,以保证安全。
所有我们可以这样写:mysql -h localhost -P 3306 -u root -p
Enter passwrod:******
(3):客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1.同时,因为是连接本机,-hlocalhost就可以省略,如果端口号没有修改,-P3306 也可以省略
简写成:
mysql -u root -p
Enter password:******
连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。
也可以在命令行通过以下方式后去MySQL Server服务版本信息。
连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。
也可以在命令行通过以下方式后去MySQL Server服务版本信息:
c:\> mysql -V
c:\> mysql -----version
或登录后,通过以下方式查看当前版本信息:
myssql > select version();
退出
exit 或 quit
注意:如果想要登录mysql5.7的话,只要把端口号设置为13306即可,其他不变
三.MySQL的使用演示
1.查看所有数据库
show databases;
information_schema是MySQL自带的数据库,主要保存MySQL数据库服务器的系统信息,比如数据库的名称,数据表的名称,字段名称,存取权限,数据文件所在的文件夹和系统使用的文件夹等等。
performance_schema是MySQL系统自带的数据库,可以用来监控MySQL的各类性能指标。
sys数据库是MySQL系统自带的数据库,主要作用是以一种更容易被理解的方式展示MySQL数据库服务器的各类性能指标,帮助系统管理员和开发人员监控MySQL的技术性能。
mysql数据库保存了MySQL数据库服务器运行时需要的系统信息,比如数据文件夹,当前使用的字符集,约束检查信息等。
2.创建自己的数据库
create database 数据库名;
#创建atguigudb数据库,该名称不能与已经存在的数据库重名。
create database school;
3.使用自己的数据库
use 数据库名;
#使用atguigudb数据库
use atguigudb;
说明:如果跟没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报ERROR 1046(3D000):No database selected (没有选择数据库)
使用完use语句之后,那么接下来的SQL都是针对一个数据库操作做的,那就不用重复use了,如果要针对另外一个数据库操作,那么要重新use。
4.创建新的表格
create table 表名称(
字段名 数据类型,
字段名 数据类型
);
#创建学生表
create table student(
id int,
name varchar(20) #说名字最长不超过20个字符
)
说明:如果是最后一个字段,后面就用逗号,因为逗号的作用是分割每个字段。
5.查看某个库的表格
show tables from 数据库名;
注:如果使用了这个数据库,直接show tables即可查看数据库下所有的表名。
6.在表中添加一条记录
insert into 表名称 values(值列表);
#添加两条记录到student表中
insert into student values(1,'jack');
insert into student values(2,'mike');
insert into student values(3,'王五');
如果使用的是mysql5.7添加的数据有中文会报错(我们这里使用的是mysql8.0,不会报错)
mysql> insert into student values(3,'王五'); ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5\xC8\xFD' for column 'name' at row 1 mysql> insert into student values(2,'李四'); ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'name' at row 1 mysql> show create table student;
这里只有mysql5.7会出现这个问题,mysql5.7的默认字符集是latin1,字符集是latin1不支持中文我们需要手动配置my.ini文件,将它的字符集改为utf-8,字符集的问题我们在后面会说。mysql8.0的默认字符集是utf-8,则不会出现这个问题。
7.查看一个表的数据
select * from 数据库表名称。
#查看学生表的数据
select * from student;
8.查看表的创建信息
show create table 表名称\G
#查看student表的详细创建信息
show create table student\G
补充一个查看表的字段结构
desc 表名;
desc employees;
9.查看数据库的创建信息
show create database 数据库名\G
#查看atguigudb数据库的详细创建信息
show create database atguigudb\G
#结果如下
10.查看编码命令
show variables like 'character_%';
show variables like 'collation_%';
11.删除表格
drop table 表名称;
#删除学生表
drop table student;
12.删除数据库
drop database 数据库名;
#删除atguigudb数据库
drop database atguigudb;
这里,我们就成功的完成了简单的数据库的一套操作。
MySQL的编码设置
MySQL5.7中
问题在现:命令行操作sql乱码问题
mysql > insert into t_stu values(1, '张三', '男');
ERROR 1336(HY000):Incorrect String value : \xD5\xC5\xC8\xFD' for column 'sname' at row 1
问题解决
步骤一:查看编码命令
show variables like 'character_%';
show variables like 'collation_%';
步骤二:修改mysql的数据目录下的my.ini配置文件
show variables like 'character_%';
show variables like 'collation_%';
MySQL8.0中
在MySQL8.0之前的版本,默认字符集为latin1,utf8字符集只想的是utf8mb3.网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果以往修改默认的编码,就会出现乱码问题。从MySQL8.0开始,数据库的默认编码改为utf8mb4,从而避免了上述的乱码问题。
5.MySQL图形化管理工具
MySQL图形化管理工具极大的方便了数据库的操作与管理,常用的图形化管理工具有:MySQL,workbench,phpMyAdmin,Navicat Preminum,MySQLDumper,SQLyog,的beaver,MySQL ODBC Connetor.
这里我们主要用的是SQLyog
四.MySQL目录结构与源码
4.1主要目录结构