目录
一:MySQL的卸载
二:MYSQL的登录
三:MySQL演示使用
四:MySQL的编码设置
2.1 服务的启动与停止
MYSQL安装完毕之后,需要启动服务器进程,不然客户端无法连接数据库
在前面的配置过程中,已经将MYSQL安装为Windows服务,并且勾选当Windows启动、停止时MySQL也自动启动、停止。
#启动 MYSQL 服务命令:
net start MySQL服务名
#停止 MySQL 服务命令:
net stop MySQL服务名
说明:
1. start和stop后面的服务名应与之前配置时指定的服务名一致。
2.如果当年输入命令后,提示“拒绝服务”,请以系统管理员身份打开命令提示符界面重新尝试。
2.2 自带客户端的登录与退出
当MYSQL服务启动完成后,便可以通过客户端来登录MySQL数据库。注意:确认服务是开启的。
登入方式1:MySQL自带客户端
开始菜单---所有程序---MySQL---MySQL 8.0 Command Line Client
说明:仅限root用户。
格式:
mysql -h 主机名 -P 端口名 -u 用户名 -p密码
举例:
mysql -h localhost -P 3306 -u root -pabc123
# 这里我设置的root用户的密码是abc123
注意:
(1)-p与密码之间不能有空额,其他参数名与参数值之间可以有空格也可以没有空格。
(2) 密码建议在下一行输入,保证安全
(3)客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1.同时,因为是链接本机: -hloaclhost就可以省略,如果端口号没有修改:-P3306也可以省略。
简写成:
mysql -u root -p
Enter password:****
连接成功后,有关于MySQL Server服务版本的信息,还有第几次连接的id标识。
也可以在命令行通过以下方式获取MySQL Server服务版本的信息:
c:\>mysql -v
c: \>mysql --version
或登录后,通过以下方式查看当前版本信息:
mysql> select version();
exit
或
quit
3.1 查看所有数据库:
show databases;
为什么Workbench里面我们只能看到“demo”和“sys”这两个数据库呢?
因为,Workbench是图形化的管理工具,主要面向开发人员,“demo”和“sys”这两个数据库已经够用了。如果有特殊需求,比如,需要监控mysql数据库各项性能指标、直接操作mysql数据库系统文件等,可以由DBA通过SQL语句,查看其他的系统数据库。
3.2 创建自己的数据库:
create database 数据库名;
#创建atguigudb数据库,该名称不能与已经存在的数据库重名。
create database atguigudb;
3.3 使用自己的数据库:
use 数据库名;
#使用atguigudb数据库
use atguigudb;
说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046(3D000):No database selected”(没有选择数据库)
使用玩use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。
3.4 查看某个库的所有表格:
show tables from 数据库名;
3.5 创建新的表格:
create table 表名称(
字段名 数据类型,
字段名 数据类型
);
#创建学生表
create table student(
id int,name varchar(20) #说明名字最长不超过20个字符
)
说明:如果是最后一个字段,后面就用加逗号因为逗号的作用是分割每个字段。
3.6 查看一个表的数据:
select * from 数据库表名称;
#查看学生表的数据
select * from student;
3.7 添加一条记录:
insert into 表名称 values(值列表);
#添加两条记录到student表中
insert into student values(1,'张三');
insert into student values(2,'李四');
3.8 查看表的创建信息:
show create table 表名称\G
#查看student表的详细创建信息
show create table student\G
Table:student
Create Table:CREATE TABLE 'student'(
'id' int(11) DEFAULT NULL,
'name' varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row inset(0.00 sec)
说明:上面的结果显示student的表格的默认字符集是“latin1”不支持中文。
3.9 查看数据库的创建信息
show create database 数据库名\G
#查看atguigudb数据库的详细创建信息
show create database atguigudb\G
#结果如下
*********************1. row*************************
Database:atguigudb
Create Database:CREATE DATABASE 'atguigudb' /*!40100 DEFAULT CHARACTER SET1 latin1 */
1 row in set(0.00 sec)
说明:上面的结果显示atguigudb数据库也不支持中文,字符集默认是lation1.
3.10 删除表格
drop table 表名称;
#删除学生表
drop table student;
3.11 删除数据库
drop database 数据库名;
#删除atguigudb数据库
drop database atguigudb;
MySQL中
问题再现:命令行操作sql乱码问题
mysql > INSERT INTO t_stu VALUES(1,'张三',‘男’);
ERROR 1366(HY000):Incorrect string value:'\xD5\xC5\xC8\xFD' for column 'sname' at row 1
问题解决
步骤1:查看编码命令
show variables like 'character_%';
show variables like 'collaion_%';
步骤2: 修改mysql的数据目录下的my.ini配置文件
【mysql】
default-character--set=utf8 #默认字符集
【mysqld】#大概在76行左右,在其下添加
character-set-server=utf8
collation-server=utf8_general_ci
注意:建议修改配置文件使用notepad++等高级文本编辑器,使用记事本等软件打开修改后可能会导致文件编码修改为“含BOM头”的编码,从而服务重启失败。
步骤3:重启服务
步骤4:查看编码命令
show variables like 'character_%';
show variables like 'collaion_%';
如果是以上配置就说明对了。接着我们就可以创建数据库、新创建数据表,接着添加包含中文的数据了。
MySQL8.0中
在MySQL8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3.网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集,如果以往修改默认的编码,就会出现乱码问题。从Mysql8.0开始,数据库的默认便改为utf8mb4,从而避免了上述的乱码问题。