博客
关于我
mysql系列一
阅读量:789 次
发布时间:2023-02-13

本文共 2423 字,大约阅读时间需要 8 分钟。

MySQL入门基础教程

1. 环境配置与MySQL安装

安装MySQL客户端是学习MySQL必不可少的工具。在此不详细说明MySQL安装教程,假设您已完成了基本的安装配置。接下来将从基础的SQL语法入手,逐步深入学习。

2. SQL语法基础

2.1 SQL语句的书写规范

  • 一行或多行:SQL语句可以在单行书写,也可以分成多行,最后都以分号结尾。
  • 可读性:MySQL不区分大小写,建议在编写SQL语句时使用大写字母。
  • 格式化:可以通过空格和缩进使代码更加美观易读。

2.2 SQL语法分类

SQL语言主要分为以下几类:

  • DDL(Data Definition Language):定义数据库对象,如表、列等。
    • 创建表:CREATE TABLE
    • 删除表:DROP TABLE
    • 修改表结构:ALTER TABLE
  • DML(Data Manipulation Language):操作数据库记录,如增、删、改。
    • 插入数据:INSERT INTO
    • 更新数据:UPDATE
    • 删除记录:DELETE
  • DCL(Data Control Language):管理数据库访问权限。
    • 创建用户:CREATE USER
    • 授权权限:GRANT
    • 撤销权限:REVOKE
  • DQL(Data Query Language):查询数据。
    • 查询数据:SELECT

3. 数据操作与管理

3.1 数据类型

MySQL支持多种数据类型,常用的包括:

  • 数值类型intdoubledecimal(用于精度较高的场景,如金额计算)。
  • 字符串类型char(固定长度)、varchar(可变长度)、text(大文本)。
  • 日期时间类型datetimetimestamp
  • 二进制类型blobtinyblob(用于存储二进制数据)。

3.2 数据操作

  • 插入数据
    INSERT INTO table_name (column1, column2, ...) VALUES(value1, value2, ...);
    • 可选列名或省略,省略时默认插入NULL值。
  • 更新数据
    UPDATE table_name SET column1=value1, column2=value2 WHERE condition;
    • 条件可选,支持多种逻辑运算符。

4. 数据库权限管理

4.1 用户管理

  • 创建用户
    CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
    • localhost 可替换为其他IP地址或%表示所有IP。
  • 授权权限
    GRANT select, insert, update, delete ON *.* TO 'username'@'localhost';
    • 可单独授权或授予所有权限。
  • 删除用户
    DROP USER 'username'@'localhost';

4.2 查看权限

  • 查看用户权限:
    SHOW GRANTS FOR 'username'@'localhost';

5. 查询与优化

5.1 基本查询

  • 查询所有列:
    SELECT * FROM table_name;
  • 查询指定列:
    SELECT column1, column2 FROM table_name;
  • 去重查询:
    SELECT DISTINCT column FROM table_name;

5.2 查询优化

  • 排序
    SELECT column1, column2 FROM table_name ORDER BY column1 ASC, column2 DESC;
  • 聚合函数
    SELECT COUNT(*) FROM table_name;SELECT MAX(column) FROM table_name;
  • 分组查询
    SELECT column, COUNT(*) FROM table_name GROUP BY column;
  • 限制结果行数
    SELECT column1, column2 FROM table_name LIMIT 5 OFFSET 10;

6. 数据约束与关系模型

6.1 约束类型

  • 主键约束:确保列值唯一且不为空。
  • 外键约束:确保列值在关联表中存在。
  • 自增长约束:用于自动分配唯一值。
  • 非空约束:确保列值不为空。
  • 唯一约束:确保列值在表内唯一。

6.2 关系模型

  • 一对一关系:通常由一个表的主键同时作为外键存在。
  • 多对多关系:通过中间表实现,需要建立两个外键。

7. 多表查询

7.1 连接查询

  • 内连接
    SELECT * FROM table1 INNER JOIN table2 ON table1.id=table2.id;
  • 左外连接
    SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.id=table2.id;
  • 右外连接
    SELECT * FROM table1 RIGHT OUTER JOIN table2 ON table1.id=table2.id;

7.2 子查询

  • 单行子查询
    SELECT * FROM table WHERE column IN (SELECT column FROM table_sub);
  • 多行子查询
    SELECT * FROM table WHERE (column1, column2) IN (SELECT column1, column2 FROM table_sub);

8. 数据库设计与优化

  • 概念模型:将系统实体转化为数据库表。
  • 关系模型:设计表之间的关系,通常使用主键-外键机制。
  • 索引优化:在需要频繁查询的列上创建索引,提升查询效率。

通过以上内容,您应该能够对MySQL有一定的理解和操作能力。如果需要更深入的学习,可以参考相关教程或文档,逐步掌握更多专业技能。

转载地址:http://bxdfk.baihongyu.com/

你可能感兴趣的文章
MySQL的操作:
查看>>
mysql的数据类型有哪些?
查看>>
MYSQL的最左匹配原则的原理讲解
查看>>
mysql的语法规范
查看>>
MySql的连接查询
查看>>
mysql的配置文件参数
查看>>
MySQL的错误:No query specified
查看>>
mysql监控工具-PMM,让你更上一层楼(上)
查看>>
mysql监控工具-PMM,让你更上一层楼(下)
查看>>
MySQL相关命令
查看>>
mysql社工库搭建教程_社工库的搭建思路与代码实现
查看>>
Warning: Can't perform a React state update on an unmounted component. This is a no-
查看>>
mysql笔记 (早前的,很乱)
查看>>
MySQL笔记:InnoDB的锁机制
查看>>
mysql第一天~mysql基础【主要是DDL、DML、DQL语句,以及重点掌握存存引擎、查询(模糊查询)】
查看>>
mysql第二天~mysql基础【查询排序、分页查询、多表查询、数据备份与恢复等】
查看>>
MySQL简介和安装
查看>>
MySQL简单查询
查看>>
MySQL管理利器 MySQL Utilities 安装
查看>>
MySQL篇(管理工具)
查看>>