MySQL使用

目录

1 MySQL的登录

1.1 服务的启动和终止

1.2 自带客户端的登录与退出

2 MySQL演示使用

2.1 MySQL的使用演示

2.2 MySQL的编码设置


1 MySQL的登录

1.1 服务的启动和终止

    MySQL安装完毕以后,需要启动服务器进程,不然客户端无法连接数据库。

    在前面的配置过程当中,已经将MySQL安装为Windows服务,并且勾选当Windows启动、停止时,MySQL也自动启动、停止。

方式1:使用图形界面工具

步骤1:打开Windows服务

    方式1:计算机(点击鼠标右键)→管理(点击)→服务和应用程序(点击)→服务(点击)

    方式2:控制面板(点击)→系统和安全(点击)→管理工具(点击)→服务(点击)

    方式3:任务栏(点击鼠标右键)→启动任务管理器(点击)→服务(点击)

    方式4:点击【开始】菜单,在搜索框中输入“services.msc”, 按Enter键确认

步骤2:找到MySQL8.0(点击鼠标右键)→启动或停止(点击)

MySQL使用_第1张图片

方式2:使用命令行工具

# 启动 MySQL 服务命令:
net start MySQL服务名

# 停止 MySQL 服务命令:
net stop MySQL服务名

MySQL使用_第2张图片

说明:

1、start和stop后面的服务名应与之前配置时指定的服务名一致。

2、如果当你输入命令后,提示“拒绝服务”,请以系统管理员身份打开命令提示符界面重新尝试。

1.2 自带客户端的登录与退出

当MySQL服务启动完成后,便可以通过客户端来登录MySQL数据库。注意:确认服务是开启的。

登录方式1:MySQL自带客户端

开始菜单→所有程序→MySQL→MySQL 8.0 Command Line Client

MySQL使用_第3张图片

说明:仅限于root用户

登录方式2: Windows命令行

格式:

mysql -h 主机名 -P 端口号 -u 用户名 -p密码

举例:

mysql -h localhost -P 3306 -u root -pabc123  # 这里我设置的root用户的密码是abc123

MySQL使用_第4张图片注意:

1、-p与密码之间不能有空格,其他参数名与参数值之间可以有空格也可以没有。例如:

mysql -hlocalhost -P3306 -uroot -pabc123

2、密码建议在下一行输入,保证安全。

mysql -h localhost -P 3306 -u root -p
Enter password:****

3、 客户端和服务器在同一台机器上,所以输入localhost或者IP地址127.0.0.1。同时,因为是连接本机:-hlocalhost就可以省略,如果端口号没有修改:-P3306也可以省略。

简写成:

mysql -u root -p
Enter password:****

连接成功后,有关与MySQL Server服务版本的信息,还有第几次连接的id标识。也可以在命令行通过以下方式获取MySQL Server服务版本的信息:

c:\> mysql -V
c:\> mysql --version

或者登录以后,通过以下方式查看当前版本信息:

mysql> select version();

退出登录:

exit
或
quit

2 MySQL演示使用

2.1 MySQL的使用演示

1、查看所有的数据库

show databases;

“information_schema”是MySQL系统自带的数据库,主要保存MySQL数据库服务器的系统信息,比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件所在的文件夹和系统使用的文件夹,等等。

“performance_schema” 是MySQL系统自带的数据库,可以用来监控MySQL的各类性能指标。

“sys”数据库是MySQL系统自带的数据库,主要作用是以一种更容易被理解的方式展示MySQL数据库服务器的各类性能指标,帮助系统管理人员和开发人员监控MySQL的技术性能。

“mysql”数据库保存了MySQL数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的字符集、约束检查信息,等等。

    为什么在Workbench里面我们只能看到“demo”和“sys”这两个数据库呢?

因为,Workbench是图形化的管理工具,主要面向开发任务,“demo”和“sys”这2个数据库已经够用了,如果有特殊需求,比如,需要监控MySQL数据库各项性能指标、直接操作MySQL数据库系统文件等,可以由DBA通过SQL语句,查看其它的系统数据库。

2、创建自己的数据库

create database 数据库名;

#创建liuyang数据库,注意新创建的数据库名称不能与已经存在的名称重名
create database liuyang;

3、使用自己的数据库

use 数据库名;

#使用liuyang数据库
use liuyang;

注意:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046 (3D000): No database selected”的错。原因是没有选择指定的数据库。

使用完use语句之后,如果接下来的SQL操作都是针对一个数据库操作的,那么就不用重复use操作,如果要针对另外一个数据库进行操作,那么要重新use。

4、查看某个数据库的所有表格

show tables;     #要求前面有use语句,否则不能指定

show tables from 数据库名;    #这样前面不需要使用use指定

5、创建新的表格

create table 表名称(字段名 数据类型, 字段名 数据类型);

注意:如果是最后一个字段,后面就不用加逗号,因为逗号的作用是分割每个字段。

#创建学生表
create table student(id int, name varchar(20));     #说明名字最长不超过20个字符

6、查看一个表的数据

select * from 数据库表名称;

#查看学生表的数据
select * from student;

7、添加一条记录

insert into 表名称 values(值列表);

#添加两条记录到student表中
insert into student values(1, '张三')
insert into student values(2, '李四')

#会报错
mysql> insert into student values(1,'张三');
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;

#是字符集的问题,老版本MySQL默认不支持中文的输入

8、查看表的创建信息

show create table 表名称\G

#查看student表的创建详细信息
show create table student\G

#结果如下
*************************** 1. row ***************************
       Table: student
Create Table: CREATE TABLE `student` (
  `id` int(11) DEFAULT NULL,
  `name` varchar(20) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

#上面的结果显示student的表格的默认字符集是"latin1"不支持中文

9、查看数据库的创建信息

show create database 数据库名\G

#查看liuyang数据库的详细创建信息
show create database liuyang\G

#结果如下
*************************** 1. row ***************************
       Database: atguigudb
Create Database: CREATE DATABASE `atguigudb` /*!40100 DEFAULT CHARACTER SET latin1 */
1 row in set (0.00 sec)

#同样的,结果显示liuyang数据库也不支持中文,默认是"latin1"

10、删除表格

drop table 表名称;

#删除学生表
drop table student;

11、删除数据库

drop database 数据库名;

#删除liuyang数据库
drop database liuyang;

2.2 MySQL的编码设置

在老版本的MySQL服务器中,由于默认不支持中文,会出现下面问题:

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 'collation_%';

步骤2:修改mysql的数据目录下的my.ini配置文件

[mysql]  #大概在63行左右,在其下添加
... 
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 'collation_%';

MySQL使用_第5张图片

MySQL使用_第6张图片MySQL使用_第7张图片MySQL使用_第8张图片

如果是以上配置就说明没有问题了,接着我们就可以创建新数据库,新数据表,接着添加包含中文的数据了。

在MySQL 8.0版本之前,默认字符集为latin1,utf8字符集指向的是utf8mb3。网站开发人员在数据库设计的时候往往会将编码修改为utf8字符集。如果遗忘修改默认的编码,就会出现乱码的问题。从MySQL 8.0开始,数据库的默认编码改为utf8mb4,从而避免了上述的乱码问题。

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