MySQL(2) 客户端工具和建库

MySQL(2) 客户端工具和建库


文章目录

  • [MySQL(2) 客户端工具和建库](#MySQL(2) 客户端工具和建库)
    • 1.前言
    • 2.正文
      • [2.1 常见的客户端工具:](#2.1 常见的客户端工具:)
      • 2.2服务器与客户端
      • [2.3 SQL语言分类与数据库建表](#2.3 SQL语言分类与数据库建表)
        • [2.3.1 SQL语言分类](#2.3.1 SQL语言分类)
        • [2.3.2 数据库建表](#2.3.2 数据库建表)
    • [3. 小结](#3. 小结)

1.前言

数据库安装成功后会对外提供网络服务, mysqld.exe 在计算机上安装数据库服务, 它启动成功之后, MySQL服务成功启动.数据库服务 是字段-列-也可以理解成面向对象的属性. 所有列组成的一条记录叫做一个数据行.

依次包含关系:

一台计算机提供的数据库服务中

可以创建多个数据库

不同的数据库有很多张数据表

每个数据库表中有很多数据行(记录)

每个数据行由很多个列组成


2.正文

2.1 常见的客户端工具:

1.通过终端使用mysql.exe

ps:不带d的是客户端工具. 带d的是服务端工具

mysql -u 用户名默认是 root -p 这个如果没有配置就需要自己配置

密码错误提示:

下面是页面成功登录:

2.2服务器与客户端

对于客户端和服务器之间的交互模型. 称之为c/s架构.

客户端发送请求到服务器时, 明确的指定要操作的目标.

数据库对外提供数据库服务, 服务器收到客户端的请求之后就会响应, 把处理后的结果发送给客户端

整个过程中请求和响应是成对出现的.

Q: 客户端于服务器之间都是通过网络交互的, 本机的客户端访问本机的数据库是不是cs架构?

虽然访问的是本机的服务, 但是还是通过网络访问. 之不够客户端与服务器在同一台电脑上而已.

每台电脑上都有一个回环网卡, 本地有一个固定的ip, 127.0.0.1 这个ip代表的就是本机ip 无论本机是否有网络, 最后访问的都是本机的地址.

在工作中,可以通过指定的ip地址区连结相应的服务器, 可以是内网的也可以是外网的 但是有一个安全性问题. 如果把服务公开到公网, 会给黑客带来机会.

也可以通过防火墙 和 白名单 来限制连结服务器的机器.

在公司一般都是部署在内网中.通过外网是连结不上数据库服务的.

2.3 SQL语言分类与数据库建表

2.3.1 SQL语言分类

SQL是针对数据库操作的语言, 和数据库是两个概念.

SQL的分类 中文全称 作用 英文全称
DDL 数据定义语言 用来维护存储数据的结构 data definition language
DML 数据操纵语言 用来对数据(数据行进行操作) data manipulation language
DCL 数据控制语言 主要负责权限管理和事务 data control language

现在可以尝试使用MySQL服务自动下载的客户端面板, 但是在这之前记得在服务里面打开 MySQL 服务. 或者使用其他工具, 这里我就以 localhostSCmanager(点击查看详情) 为例来启动服务:

2.3.2 数据库建表

第一步要知道的是当前服务器所有的数据库.

按照以上的方法成功登录后就可以开始查看自己现在已经有的数据库, 这里还是以 MySQL 自带客户端为例:

输入指令: show databases;.

MySQL 和 Batch 脚本语言一样同样不区分大小写(大小写不敏感). 命令里的最后一个分号(英) 不能省略否则会报错.

然后要知道如何创建一个数据库, 创建数据库的语法:

在工作中, 执行 SQL语句 不是手动一条一条执行的, 而是批量一起进行, 为了不让某一条语句的错误影响整个执行流程, 都会加上类似于 if not exists 的校验, 防止因为某条 SQL语句 导致整个 SQL中断执行. 下面是没有加上此语句的效果:

但是加上之后就会有下面的效果, SQL 会有警告但是会继续执行不影响正常业务:

在编写 自动化部署脚本 或 数据迁移脚本 时,养成使用 IF NOT EXISTS 的习惯是高级开发者的标配,这能保证脚本的"幂等性"(即多次运行结果一致,且不会报错)。

  1. COLLATE --- 排序规则
    作用:定义字符串的比较和排序方式
    8.0 中默认的字符集是utf8mb4 , 5,7中默认的字符集是latin1 , 不能存储中文.
    排序规则8.0中默认是utf8mb4_0900_ai_ci , 8.0及以上才支持, 5.7中默认是utf8mb4_general_ci .

  2. ENCRYPTION --- 加密
    作用:是否对数据库的表空间文件加密

Q: 如何查看当前数据库服务的全局默认字符集?

在客户端输入命令: show variables like "%character%"

效果如下:

3. 小结

恭喜你!到这里,你已经掌握了 MySQL 客户端工具的使用和数据库创建,包括:

✅ 区分 mysql(客户端)和 mysqld(服务端)的角色

✅ 通过命令行 mysql -u root -p 登录数据库

✅ 理解 C/S 架构模型,以及 127.0.0.1 回环地址的作用

✅ 掌握 SQL 三大分类:DDL、DML、DCL

✅ 使用 SHOW DATABASES 查看已有数据库

✅ 使用 CREATE DATABASE 创建数据库,并配置字符集与排序规则

✅ 读懂 MySQL 官方语法格式:{ } 必选、[ ] 可选、|

如果这篇文章帮到了你,不妨:

👍 点赞 ------ 让更多人看到这篇教程

⭐ 收藏 ------ 下次写 SQL 时直接翻出来看

💬 评论 ------ 遇到任何问题,评论区交流,我会尽力解答

🔖 关注 ------ 下一篇《MySQL(3) 数据类型与建表》,带你从零设计表结构、插入数据、掌握常用字段类型

相关推荐
小李来了!2 小时前
Navicate/plsql连接Oracle数据库教程
数据库·oracle
苍煜3 小时前
慢SQL优化实战教学
java·数据库·sql
MATLAB代码顾问3 小时前
改进遗传算法(IGA)求解作业车间调度问题(JSSP)——附MATLAB代码
开发语言·matlab
syker3 小时前
AIFerric深度学习框架:自研全栈AI基础设施的技术全景
开发语言·c++
HSunR3 小时前
dify 搭建ai作业批改流
开发语言·前端·javascript
zhaoyong2223 小时前
MySQL 存储过程中字符集与排序规则不匹配导致查询性能下降的解决方案
jvm·数据库·python
sinat_383437363 小时前
golang如何从Python转型Go开发_golang从Python转型Go开发攻略
jvm·数据库·python
远洪3 小时前
claude code 国内安装使用
数据库·mysql
代码不加糖3 小时前
2026 跨境电商独立站实战:从 0 到 1 搭建高转化 SaaS 商城(附源码)
开发语言·前端·javascript