4

【必知必会的MySQL知识】②使用MySQL - xiezhr

 1 year ago
source link: https://www.cnblogs.com/xiezhr/p/17343310.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

根据上一篇文章【必知必会的MySQL知识】①初探MySQL的内容,想必您对MySQL数据库有了一个整体的了解了,并且应该在自己电脑上已经安装上了MySQL。
这一篇呢我们来说一说这么连接上数据库并且使用它。

启动MySQL服务

前面MySQL安装的文章手把手教你安装MySQL中我们已经说过怎么启动服务了。这里呢再简单说一下。
启动MySQL服务有以下两种方式

1、 使用命令启动

进入到MySQL安装目录的bin目录下,并输入命令启动、停止服务

# 启动MySQL服务
net start mysql
# 停止MySQL服务
net stop mysql

2、进入服务页面进行启动

右键选中此电脑-->管理-->服务与应用程序-->服务-->找到MySQL服务-->右键服务即可启动、关闭、重启MySQL服务

在这里插入图片描述
在这里插入图片描述

当然了,我们还可以设置MySQL服务 开机自启动,这样每次电脑开机MySQL服务就会自动启动了

在这里插入图片描述
在这里插入图片描述

连接MySQL

MySQL服务启动后,我们就可以通过各种工具来连接我们的MySQL数据库了。下面我们将通过最原始的命令行及各种第三方工具演示连接MySQL数据库

1、通过命令行连接

# 命令格式
mysql [-h 127.0.0.1] [-P 3306] -u root -p
-h : MySQL服务所在的主机IP,本地数据库IP为127.0.0.1
-P : MySQL服务端口号,默认为3306
-u : MySQL数据库用户名
-p : MySQL数据库用户名对应的密码
[]内为可选参数,如果需要连接远程的MySQL,需要加上这两个参数来指定远程主机IP、端口,如果
连接本地的MySQL,则无需指定这两个参数
在这里插入图片描述

注: 有时候我们会遇到如下错误

在这里插入图片描述

遇到这样的错误呢,我们也不要慌。上面报错是因为找不到mysql命令报的,所以呢解决办法就是将路径切换到MySQL的安装路径的bin目录下再执行如下命令即可

myslq -u root -p 

2、通过各种第三方工具连接

当然了,日常开发中,我们一般不会使用命令行的方式连接数据库的。而是通过第三方工具去连。
这里呢推荐几个小编认为不错的工具供大家参考。① sqlyog ② Navicat ③ DataGrip
① sqlyog 和② Navicat两个工具体积不大,占用内存也比较小,个人使用起来,各种常用功能都有了。
如果你的电脑配置比较好也可以使用③ DataGrip
不管使用哪个工具都是可以的

下载地址:
① sqlyog 链接:https://pan.baidu.com/s/1yDooGbVxqAfwrrsEJ2_Tug 提取码:mbd0
② Navicat 链接:https://pan.baidu.com/s/1yDooGbVxqAfwrrsEJ2_Tug 提取码:9yoe
③ DataGrip 链接:https://pan.baidu.com/s/11PyoGQKAyX-pX2NroapqpQ 提取码:1ei2

在这里插入图片描述

各个第三方工具连接MySQL配置
①sqlyog

在这里插入图片描述

② Navicat

在这里插入图片描述

③ DataGrip

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不管使用哪种工具,连接配置都还是比较简单的。

MySQL数据库基本命令

1、基本命令

# 基本命令
SHOW DATABASES;  --查看当前用户下所有数据库
CREATE DATABASE [IF NOT EXISTS] 数据库名;   --创建一个数据库
SHOW CREATE DATABASE 数据库名;-- 查看创建数据库的语句
DROP DATABASE [if EXISTS] 数据库名;   --删除数据库
show databases;	--查看当前所有的数据库
use 数据库名;	--打开指定的数据库
SHOW CREATE TABLE 表名;-- 查看表的定义语句
DROP TABLE 表名; --删除表
show tables;	--查看所有的表
desc 表名;	--显示表的信息
exit	--退出连接
--		--单行注释
#		--单行注释
/*...*/		--多行注释

3、 关键字

上面基本命令中,我们使用的show、databases、create、use、desc 等词都是MySQL关键字。顾名思义,
关键字 就是一些用于执行MySQL操作的特殊词汇,时MySQL自带的。所以,在命名数据库、表、列和其他对象时,一定不要使用这些关键字

具体关键字可以参考 【必知必会的MySQL知识】附录Ⅰ 5.7版本

4、实践操作
注: 虽然上面我们介绍了三种图形化连接MySQL工具,这一节我们还是使用命令行进行演示。

① 查看root用户下可用数据库

# 我们可以看到,root 用户下一共有5个可用数据库,前四个时MySQL自带的数据库,
#最后一个test数据库时我们后来创建的,我们这里暂时还不用知道这些数据库具体时干嘛的
# 只需要知道有这么个东西就可以了,后面会具体说
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)

② 创建一个自己的数据库

# 创建了一个名叫db_xiezhr的数据库
mysql> create database if not exists db_xiezhr;
Query OK, 1 row affected (0.02 sec)
# 通过命令show databases; 我们可以看到,上面的创建脚本生效了,可用数据库多了db_xiezhr
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| db_xiezhr          |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
6 rows in set (0.00 sec)

③ 查看创建数据库脚本

# 根据如下脚本,我们可以看到上面创建db_xiezhr数据库时的脚本
mysql> show create database db_xiezhr;
+-----------+----------------------------------------------------------------------+
| Database  | Create Database                                                      |
+-----------+----------------------------------------------------------------------+
| db_xiezhr | CREATE DATABASE `db_xiezhr` /*!40100 DEFAULT CHARACTER SET latin1 */ |
+-----------+----------------------------------------------------------------------+
1 row in set (0.02 sec)

④ 选择数据库

上面根据show dabatases命令已经列出了root用户下的所有数据库,我们要选择其中的一个,才能操作它

# 选择我们创建的数据库db_xiezhr
mysql> use db_xiezhr
Database changed

⑤在db_xiezhr 数据库下创建一张表
格式

CREATE TABLE IF NOT EXISTS `student`(
	'字段名' 列类型 [属性] [索引] [注释],
    '字段名' 列类型 [属性] [索引] [注释],
    ......
    '字段名' 列类型 [属性] [索引] [注释]
)[表的类型][字符集设置][注释]
# 在数据库db_xiezhr 中创建一张用户表
--表名和字段尽量使用``括起来
--AUTO_INCREMENT 代表自增
--所有的语句后面加逗号,最后一个不加
--字符串使用单引号括起来
--主键的声明一般放在最后,便于查看
--不设置字符集编码的话,会使用MySQL默认的字符集编码Latin1,不支持中文,可以在my.ini里修改
mysql> CREATE TABLE IF NOT EXISTS `t_account`(
    -> `id` INT(4)NOT NULL AUTO_INCREMENT COMMENT '学号',
    -> `username` VARCHAR(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
    -> `psw` VARCHAR(20) NOT NULL DEFAULT '123456' COMMENT '密码',
    -> `sexcode` VARCHAR(1) NOT NULL DEFAULT '1' COMMENT '性别 1男 2女',
    -> `birthday` DATETIME DEFAULT NULL COMMENT '出生日期',
    -> `address` VARCHAR(100) DEFAULT NULL COMMENT '家庭住址',
    -> `email` VARCHAR(50) DEFAULT NULL COMMENT '邮箱',
    -> PRIMARY KEY (`id`)
    -> )ENGINE=INNODB DEFAULT CHARSET=utf8
    -> ;
Query OK, 0 rows affected (0.03 sec)

⑥ 查看建表语句

# 查看上面建t_account表的语句
mysql> show create table t_account;
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table     | Create Table                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| t_account | CREATE TABLE `t_account` (
  `id` int(4) NOT NULL AUTO_INCREMENT COMMENT '学号',
  `username` varchar(30) NOT NULL DEFAULT '匿名' COMMENT '姓名',
  `psw` varchar(20) NOT NULL DEFAULT '123456' COMMENT '密码',
  `sexcode` varchar(1) NOT NULL DEFAULT '1' COMMENT '性别 1男 2女',
  `birthday` datetime DEFAULT NULL COMMENT '出生日期',
  `address` varchar(100) DEFAULT NULL COMMENT '家庭住址',
  `email` varchar(50) DEFAULT NULL COMMENT '邮箱',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.02 sec)

⑦ 查看表“t_account” 的结构

# 查看我们上面所建的表t_account 
mysql> desc t_account;
+----------+--------------+------+-----+---------+----------------+
| Field    | Type         | Null | Key | Default | Extra          |
+----------+--------------+------+-----+---------+----------------+
| id       | int(4)       | NO   | PRI | NULL    | auto_increment |
| username | varchar(30)  | NO   |     | 匿名    |                |
| psw      | varchar(20)  | NO   |     | 123456  |                |
| sexcode  | varchar(1)   | NO   |     | 1       |                |
| birthday | datetime     | YES  |     | NULL    |                |
| address  | varchar(100) | YES  |     | NULL    |                |
| email    | varchar(50)  | YES  |     | NULL    |                |
+----------+--------------+------+-----+---------+----------------+
7 rows in set (0.01 sec)

⑧ 查看数据库中所有表

# 查看db_xiezhr 数据库中所有表(数据库中只有我们刚刚建的t_account表)
mysql> show tables;
+---------------------+
| Tables_in_db_xiezhr |
+---------------------+
| t_account           |
+---------------------+
1 row in set (0.00 sec)
# 删除我们创建的t_account表,如果是在生产环境,删除数据库一定一定一定要慎重。要不然就只能跑路了

#删除表t_account
mysql> drop table t_account;
Query OK, 0 rows affected (0.01 sec)
# 执行上面语句后,再查看数据库表,发现t_account 表已经不在了
mysql> show tables;
Empty set (0.00 sec)

⑩ 删除数据库

# 删除我们创建的db_xiezhr数据库,如果是在生产环境,删除数据库一定一定一定要慎重。要不然就只能跑路了
# 删除db_xiezhr数据库
mysql> drop database db_xiezhr;
Query OK, 0 rows affected (0.01 sec)
# 再用show databases;查所有数据库时,我们发现db_xiezhr数据库已经不在了
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| test               |
+--------------------+
5 rows in set (0.00 sec)

⑪ 退出MySQL

# 这期文章我们就说到这里了,该休息了。我们将连接的MySQL退出
# 退出MySQL连接,MySQL还跟我们说了一声Bye (●'◡'●)
mysql> exit;
Bye

D:\DeveSoftware\mysql-5.7.37-winx64\bin>

这一篇文章主要是说了怎么连接MySQL数据库、推荐了三款比较好用图形化工具Sqlyog、Navicat、Datagrip。
参照上面文章,相信你可以成功连接自己本地数据库或者远程服务器上的MySQL了 以及对MySQL数据库进行一些基本操作了。
其实,我们本文章用到的基本操作都属于数据库定义语言(DDL)

SQL语句根据其功能可以分为:DDL、DML、DQL、DCL 四类

  • DDL 数据定义语言: 用来定义数据库对象(数据库,表, 字段)
  • DQL数据查询语言: 用来查询数据库中表的记录
  • DML 数据操作语言: 用来对数据库表中的数据进行增删改
  • DCL数据控制语言: 用来创建数据库用户、控制数据库的 访问权限

后续文章中,我们会依次对剩下的SQL进行讲解,并且会通过刷题网站进行实战操作。敬请期待哦 (●'◡'●)

如果觉得内容不错,防止以后找不到,可以点赞、收藏、关注哦。 (●'◡'●)

在这里插入图片描述


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK