MySQL基础快速入门知识总结(附思维导图)

作者:不二灵灭 时间:2024-01-18 01:33:06 

目录
  • 前言

  • 一.数据库基础知识

    • 1.什么是数据库

    • 2.数据库的分类

    • 3.数据库的常用语言

    • 4.数据库的常用操作方式

    • 5.MySQL的架构

  • 二.数据库的增删改查

    • 1.创建数据库

    • 2.查询数据库

    • 3.修改数据库

    • 4.删除数据库

  • 三.表的增删改查

    • 1.创建表

    • 2.查询表

    • 3.修改表

    • 4.删除表

  • 四.记录的增删改查

    • 1.插入记录

    • 2.查询记录(最常用)

    • 3.修改记录

    • 4.删除记录

  • 五.字段类型

    • 1.数字型

      • 1.1整数型

      • 1.2小数型

    • 2.文本型

      • 3.日期时间

      • 六.字段属性

        • 总结

          前言

          本文是我这段时间自学MySQL之后,自己总结的一些MySQL的入门基础知识.我自己用的是MySQL 5.7.

          MySQL基础快速入门知识总结(附思维导图)

          一.数据库基础知识

          1.什么是数据库

          数据库是按照一定数据结构,进行组织,存储,管理数据的仓库数据的仓库,是一种对大量信息进行管理的高效解决方案.

          数据库系统DBS=数据库DB+数据库管理系统DBMS.

          2.数据库的分类

          数据库的分为关系型数据库和分关系型数据库.

          关系型:是建立在关系模型上的数据库,关系模型顾名思义就是二维表模型,用来记录实体和实体与实体信息之间的关系信息.常见的关系型数据库有Oracle ,MySQL ,SQL Server.

          非关系型数据库:不建立在关系模型上的数据库.主要有MongoDB Redis

          3.数据库的常用语言

          数据库系统DBS

          结构化查询语言SQL

          数据库DB

          数据库管理系统DBMS

          表table
          行row   => 记录record
          列column  => 字段field

          4.数据库的常用操作方式

          DOS命令:

          连接远程主机:mysql -h 主机名/IP地址 -P端口号 -u 用户名 -p 密码
          连接本机主机:mysql -u用户名 -p密码

          客户端(可视化软件):Navicat

          代码:

          Web网页:PHPMyAdmin

          5.MySQL的架构

          C/S架构:
           服务端管理和存储数据
           客户端发送操作请求

          二.数据库的增删改查

          1.创建数据库


          #创建数据库的语法
          create database `库名` charset=utf8/gbk;

          创建数据库前,需要先连接进数据库,可以用自己的本地数据库练习.

          2.查询数据库


          #查询所有数据库
          show databases;
          #按条件查询like ,其中%表示任意多个字符,-表示任意一个字符.
          create databases like '%-';
          #查询建库语句
          show create database;

          3.修改数据库


          #修改数据库(仅能修改选项,也就是字符集这些)
          alter database `库名` [新选项];

          4.删除数据库


          #删除数据库(语法很简单,但后果很严重.一般你也没有权限,哈哈.)
          drop database `库名`;

          三.表的增删改查

          1.创建表


          #创建表前,先指定数据库
          use `指定库名`;
          #创建表的
          create table `表名`(
          `字段1` 字段1类型 字段1属性,
          ...
          `字段N` 字段N类型 字段N属性);[选项]

          其中的选项主要包括三大类:

          1. 字符集 charset=utf8 / GBK …

          2. 数据引擎 engine=innodb / mysiam

          3. 备注 comment='‘备注内容''

          其它的字段类型和字段属性,后面有详细写到.

          2.查询表


          #查询所有表
          show tables;
          #条件查询
          show tables like '%-';
          #查询表结构
          desc `表名`;
          #查询建表语句
          show create table `表名`;

          3.修改表


          #修改表选项
          alter table `表名` [新选项];
          #修改表名
          rename table `旧表命` to `新表名`;
          #修改表内的字段
          alter table `表名` change `旧字段名` `新字段名` 新字段类型;
          #添加新字段到字段末尾
          alter table `表名` add `新字段名` 类型 属性;
          #添加字段到对应字段后
          alter table `表名` add `新字段名` 类型 属性 after `对应字段`
          #添加字段到最前面
          alter table `表名` add `新字段名` 类型 属性 first;

          4.删除表


          #如果表存在,则删除表,否则报错
          drop table [if exists] `表名`;

          四.记录的增删改查

          1.插入记录


          #插入记录
          insert into `表名`(`字段1`,...`字段`) values('值1',...,'值N');
          #当一次传入所有值时,可以省不写字段
          insert into `表名` values('值1',...,'值N');
          #当需一次传入多条记录时
          insert into `表名`(`字段1`,...`字段`) values
          ('值1',...,'值N'),
          ('值1',...,'值N'),
          ...,
          ('值1',...,'值N');
          #当需一次传入多条记录,且字段全传入时
          insert into `student` values(值列表1),(值列表2),(值列表n);

          2.查询记录(最常用)


          #查询语法
          select [选型] 字段列表 as 别名 from `表名` where 条件表达式;

          1、条件表达式:

          逻辑运算符:and or not

          比较运算符:+ - * / < > = !=

          2、选项:

          all:查询所有,不写默认就是所有

          distinct:去重.重复指查询后的数据里,记录的所有字段全部相同,才认定为重复.

          as:别名.给查询后的字段设置一个别名,方便查阅.

          常见的聚合函数:count(),Max(),Min(),Sum(),avg()

          3、连表查询 join


          1.内连接 inner join
          #将参与连接的两个表中符合连接条件的记录查询出来,不符合的过滤掉.
          select * form `表1` inner join `表2` on 连接条件;
          2.左外连接 left Join
          #将参与连接的左表中即使不能匹配连接条件的记录也会查询出来,右表不符合的过滤掉
          select * from `表1` left join `表2` on 连接条件;
          3.右外连接 right join
          #将参与连接的右表中即使不能匹配连接条件的记录也会查询出来,左表不符合的过滤掉
          select * from `表1` right join `表2` on 连接条件;

          3.修改记录


          #语法
          update `表名` set `字段`='新值' where 条件表达式;

          4.删除记录


          #语法
          delete from `表名` where 条件表达式;

          五.字段类型

          1.数字型

          1.1整数型

          tinyint:占用一个字节,一共能表示256个数

          有符号:-128~127
          无符号:0~255

          int:占用4个字节

          有符号:-21亿~21亿
          无字符:0~42亿

          1.2小数型

          浮点数:

          float(M,D):单精度浮点数
          double(M,D):双精度浮点数

          定点数:

          decimal(M,D):数据不会丢失的小数类型,常用于记录货币

          2.文本型

          1. char(M):定长字符,M表示最大的字符数.优势为运算速度快.常用在255个字符内的固定长度的字符.如:身份证,电话号码等.

          2. varchar(M):变长字符,M表示最大的字符数.优势为节省空间.常用在255个字符以内,长度不确定的字符.

          3. text:常用在256个字符以上的文本中

          3.日期时间

          1. datetime:固定的日期时间

          2. timestamp:时间戳:当新增记录或更新记录时自动更新为当前系统时间,用于记录最后一次修改的时间或新插入记录的时间

          六.字段属性

          1. not null:设置该字段的值不能为空,不写就是默认可以为空

          2. default 默认值:设置一个默认值,没有数据传入就是使用默认值.有数据传入则使用传入的值

          3. comment:备注用汉字备注字段,方便后期维护

          4. unique key:唯一值该字段的值不能重复,但可以为空

          5. primary key 主键:
               用于唯一标识一条记录
               一个表最能只能有一个主键
               不能为空
               不能重复

          6. auto_increment 自动增长:在新插入记录时,自动在本字段最大值的基础上加1,条件本字段的类型必须为整数型.常与主键一起使用,但不是必须与主键一起使用.

          来源:https://blog.csdn.net/m0_56232078/article/details/119428368

          标签:mysql,基础,入门
          0
          投稿

          猜你喜欢

        • PyCharm在新窗口打开项目的方法

          2023-06-14 23:00:29
        • Python实现统计单词出现的个数

          2022-11-01 12:19:30
        • 屏蔽Flash 右键菜单的方法

          2008-05-24 07:21:00
        • Vue使用Echarts画柱状图详解

          2024-05-29 22:22:29
        • python自动查询12306余票并发送邮箱提醒脚本

          2023-08-26 09:34:37
        • Python类中的装饰器在当前类中的声明与调用详解

          2021-03-07 10:29:35
        • MySql 8.0及对应驱动包匹配的注意点说明

          2024-01-24 02:57:11
        • Python爬虫中urllib库的进阶学习

          2023-12-13 19:31:53
        • Python全局变量global关键字详解

          2023-01-29 22:32:50
        • asp.net中调用winrar实现压缩解压缩的代码

          2023-07-18 14:30:30
        • Python 树表查找(二叉排序树、平衡二叉树)

          2021-01-27 03:06:20
        • vue3+vite使用环境变量.env的一些配置情况详细说明

          2024-04-26 17:38:40
        • mysql 5.5 开启慢日志slow log的方法(log_slow_queries)

          2024-01-15 15:05:36
        • 用isapi rewrite 实现asp的HTML静态化

          2007-11-25 12:28:00
        • 编写数据库asp程序需注意的问题

          2007-12-29 12:57:00
        • 用python实现读取xlsx表格操作

          2022-11-26 17:08:19
        • vue3获取当前路由地址

          2024-05-09 15:13:36
        • Mysql WorkBench安装配置图文教程

          2024-01-20 00:53:14
        • pycharm导入第三方库的两种方法(永不报错)

          2022-08-28 14:21:57
        • 使用python生成大量数据写入es数据库并查询操作(2)

          2024-01-14 02:10:27
        • asp之家 网络编程 m.aspxhome.com