Mysql学习笔记(未完待续...)

1.介绍和安装

1.1 MySQL简介

MySQL是一款流行的开源关系型数据库管理系统(RDBMS),广泛用于存储和管理结构化数据。它提供了强大的数据管理功能,包括创建、查询、更新和删除数据,适用于各种应用领域,从Web应用到企业级系统,以其高性能、可靠性和开源性质而备受欢迎。

1.2 数据库基础概念

  1. 数据库服务器:运行数据库管理软件的计算机
  2. 数据库管理软件:Mysql、Oracle、SqlServer、db2等
  3. 库:可以把库理解为一个文件夹
  4. 表:可以把表理解为文件夹中的一个文件比如excel文件
  5. 记录:一组数据构成一条记录,相当于文件中的一行内容
  6. 数据:表述事物特征的符号

1.3 MySQL的优势和应用领域

MySQL是一种开源的关系型数据库管理系统(RDBMS),它具有许多优势,使其在各种应用领域中被广泛使用。

1.3.1 MySQL的优势:

  1. 开源性: MySQL是开源软件,允许用户自由获取、使用和修改源代码,降低了成本,并促进了社区的合作和发展。

  2. 跨平台性: MySQL可在多个操作系统上运行,包括Windows、Linux、macOS等,使其在不同环境中都能轻松部署和使用。

  3. 性能优化: MySQL经过多年的发展和优化,具有良好的性能,支持高并发、大规模数据处理,并提供了多种优化策略。

  4. 事务支持: MySQL支持事务,遵循ACID(原子性、一致性、隔离性、持久性)属性,确保数据的完整性和一致性。

  5. 灵活性: MySQL支持多种存储引擎,如InnoDB、MyISAM等,用户可以根据具体需求选择合适的引擎,从而灵活应对不同场景的要求。

  6. 高度可定制性: MySQL允许用户通过存储过程、触发器等方式进行高度定制,满足复杂业务逻辑的需求。

  7. 安全性: MySQL提供了强大的安全功能,包括访问控制、用户权限管理、SSL支持等,确保数据库中的数据得到有效保护。

  8. 社区支持: 由于其开源性质,MySQL拥有庞大的用户社区,用户可以通过社区获取支持、分享经验,解决问题。

1.3.2 MySQL的应用领域:

  1. Web应用程序: MySQL常用于支持各类Web应用程序的后端数据库,包括电子商务平台、博客、社交媒体等。

  2. 企业应用: MySQL适用于企业级应用,如客户关系管理(CRM)、企业资源规划(ERP)等系统。

  3. 移动应用: MySQL作为后端数据库,广泛用于移动应用的数据存储,支持移动应用的后台服务。

  4. 大数据环境: MySQL可与大数据平台集成,用于存储和管理大规模数据,与Hadoop、Spark等配合使用。

  5. 嵌入式系统: MySQL可以被嵌入到各种设备和嵌入式系统中,提供可靠的数据存储支持。

  6. 云计算环境: MySQL在云计算平台上得到广泛应用,如Amazon RDS、Google Cloud SQL等。

  7. 开发和测试: 由于其轻量级和易于部署的特性,MySQL常用于开发和测试环境,以便开发人员在本地快速搭建数据库。

总体而言,MySQL由于其稳定性、灵活性和开源特性,适用于各种规模和类型的应用场景。

2.MySQL客户端工具的使用

2.1 常用的MySQL客户端工具

常见的MySQL客户端工具包括MySQL Workbench、Navicat for MySQL、HeidiSQL等。选择适合你需求和操作系统的工具,并按照相应的安装步骤进行安装。

2.2 MySQL连接

1.本机使用mysql自带客户端连接

[root@test-mysql ~]# docker exec -it test-mysql /bin/bash
root@55233fab64ce:/# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 182
Server version: 8.0.27 MySQL Community Server - GPL

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

-P # 指定远程数据库端口
-h # 指定远程数据库地址
-u # 指定远程数据库账户
-p # 指定远程数据库密码

2.使用mysql客户端工具连接,这里使用的是Navicat
在这里插入图片描述
在这里插入图片描述

3.基本语法和数据类型

3.1 命名规范

3.1.1 数据库命名规范

采用26个英文字母(区分大小写)和0-9的自然数(一般不需要)加上下划线’‘组成,命名简洁明确,多个单词用下划线’'分隔,一个项目一个数据库,多个项目慎用同一个数据库

3.1.2 数据库表命名规范

  1. 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’‘组成,命名简洁明确,多个单词用下划线’'分隔
  2. 全部小写命名,禁止出现大写
  3. 禁止使用数据库关键字,如:name,time ,datetime,password等
  4. 表名称不应该取得太长(一般不超过三个英文单词)
  5. 表的名称一般使用名词或者动宾短语
  6. 用单数形式表示名称,例如,使用employee,而不是 employees 明细表的名称为:主表的名称+字符dtl(detail缩写)例如:采购定单的名称为:po_order,则采购定单的明细表为:po_orderdtl
  7. 表必须填写描述信息(使用SQL语句建表时)

3.1.3 数据库字段命名规范

(1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线’‘组成,命名简洁明确,多个单词用下划线’'分隔
(2)全部小写命名,禁止出现大写
(3)字段必须填写描述信息
(4)禁止使用数据库关键字,如:name,time ,datetime password 等
(5)字段名称一般采用名词或动宾短语
(6)采用字段的名称必须是易于理解,一般不超过三个英文单词
(7)在命名表的列时,不要重复表的名称 例如,在名employe的表中避免使用名为employee_lastname的字段
(8)不要在列的名称中包含数据类型
(9)字段命名使用完整名称,禁止缩写## 3.2 初始SQL
SQL语句就是数据库管理软件针对操作数据库、表、字段而提供的专门的脚本语言。主要涉及到对数据库、表、字段的曾山改查等操作。

SQL 语句及其种类

  • DDL(数据定义语言)
    • create ==> 创建数据库或者表等对象
    • drop ==> 删除数据库或者表等对象
    • alter ==> 修改数据库或者表等对象的结构
  • DML(数据操作语言)
    • select ==> 查询表中数据
    • insert ==> 向表中插入数据
    • update ==> 更新表中数据
    • delete ==> 删除表中数据
  • DCL(数据控制语言)
    • commit ==> 决定对数据库中的数据进行变更
    • rollback ==> 取消对数据库中的数据进行变更
    • grant ==> 赋予用户操作权限
    • revoke ==> 取消用户的操作权限

3.1.4 SQL语言编码规范

4.1大小写规范
(1)所有关键字必须大写,如:INSERT、UPDATE、DELETE、SELECT及其子句,IF……ELSE、CASE、DECLARE等
(2)所有函数及其参数中除用户变量以外的部分必须大写
(3)在定义变量时用到的数据类型必须小写
4.2注释
注释可以包含在批处理中,在触发器、存储过程中包含描述性注释将大大增加文本的可读性和可维护性,本规范建议:
(1)注释以英文为主,实际应用中,发现以中文注释的SQL语句版本在英文环境中不可用,为避免后续版本执行过程中发生某些异常错误,建议使用英文注释
(2)注释尽可能详细、全面创建每一数据对象前,应具体描述该对象的功能和用途,传入参数的含义应该有所说明,如果取值范围确定,也应该一并说明,取值有特定含义的变量(如boolean类型变量),应给出每个值的含义
(3)注释语法:单行注释、多行注释
单行注释:注释前有两个连字符(–)对变量、条件子句可以采用该类注释
多行注释:符号之间的内容为注释内容,对某项完整的操作建议使用该类注释
(4)注释简洁,同时应描述清晰
(5)函数注释:
编写函数文本–如触发器、存储过程以及其他数据对象–时,必须为每个函数增加适当注释,该注释以多行注释为主,主要结构如下:
CREATE PROCEDURE sp_xxx

3.3 常用数据类型

3.3.1 数值类型

类型字节
  • 浮点型
  • 字符串类型
  • 日期和时间类型
  • 符合类型

4.数据库基本操作

4.1 库操作

4.2 表操作

4.3 表字段操作

  1. 库名、表名、字段名必须使用小写字母并采用下划线分割

  2. 库名、表名、字段名禁止超过32个字符,须见名知意;

  3. 库名、表名、字段名支持最多64个字符,统一规范、易于辨识以及减少传输量不要超过32;

  4. 库名、表名、字段名禁止使用MySQL保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来);

  5. 临时库、临时表名必须以tmp_为前缀并以日期为后缀;

  6. 备份库、备份表名必须以bak为前缀并以日期为后缀;

  7. 所有存储相同数据的列名和列类型必须一致(一般作为关联列,如果查询时关联列类型不一致会自动进行数据类型隐式转换,会造成列上的索引失效,导致查询效率降低)。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不爱吃肉@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值