MySQL基础(介绍与SQL增删改查)

一、MySQL概述

  1. 数据库相关概念
名字全称简称
数据库存储数据的仓库,数据是有组织的进行存储DaraBase(DB)
数据库管理系统操纵和管理数据库的大型软件DataBase Management System(DBMS)
SQL操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准Structured Query Language
  1. MySQL启动
    • 在终端中输入指令
    net start mysql80
    net stop mysql80
    //mysql80是安装时注册的服务的名字
    
  2. MySQL客户端连接:
    • 方式一:找到MySQL自带的客户端命令行:MySQL 8.0 Command Line Client,输入密码

    • 方式二:使用Windows的命令行工具执行指令在这里插入图片描述

      • 注意:这个方式需要添加Path环境变量
      mysql [-h 127.0.0.1] [-p 3306] -u root -p
      
  3. 关系型数据库(RDBMS)
    • 概念:建立在关系模型基础上,由多张相互连接的二维表组成的数据库在这里插入图片描述

    • 特点:

      1. 使用表存储数据,格式统一,便于维护
      2. 使用SQL语言操作,标准统一,使用方便
  4. 数据模型在这里插入图片描述

MySQL图形化界面DataGrip

在这里插入图片描述

SQL

  1. SQL通用语法
    1. SQL语句可以单行或多行书写,以分号结尾
    2. SQL语句可以使用空格/缩进来增强语句的可读性
    3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写
    4. 注释:
      单行注释:--注释内容  或  #注释内容(MySQL特有)
      
      
      多行注释:/* 注释内容 */
      
  2. SQL分类
分类全称说明
DDLData Defintion Language数据定义语言,用来定义数据库对象(数据库,表,字段)
DMLData Manipulation Language数据操作语言,用来对数据库表中的数据进行增删改
DQLData Query Language数据查询语言,用来查询数据库中表的记录
DCLData Control Language数据控制语言,用来创建数据库用户、控制数据库的访问权限

  1. DDL——数据库操作
    • 查询
      1. 查询所有数据库
      SHOW DATABASES;
      
      1. 查询当前数据库
      SELECT DATABASE();
      
    • 创建
    CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
    
    • 删除
    DROP DATABASE [IF EXISTS]数据库名;
    
    • 使用
    USE 数据库名;
    
  2. DDL——表操作——查询(需要先使用USE指令进入该数据库
    1. 查询当前数据库所有表
    SHOW TABLES;
    
    1. 查询表结构
    DESC 表名;
    
    1. 查询指定表的建表语句
    SHOW CREATE TABLE 表名;
    
  3. DDL——表操作——创建
    • 注意:[……]为可选参数,最后一个字段后面没有逗号
    CREATE TABLE 表名(
        字段1 字段1类型[COMMENT 字段1注释],
        字段2 字段2类型[COMMENT 字段2注释],
        字段3 字段3注释[COMMENT 字段3注释],
        ……
        字段n 字段n注释[COMMENT 字段n注释]
    )[COMMENT 表注释];
    
  4. DDL——表操作——数据类型
  • 主要分为三个类型:数值类型,字符串类型,日期时间类型

    1. 数值类型在这里插入图片描述

      • DECIMAL的精度与标度:例如数字123.45,精度是5,标度是2
    eg.
    age TINYINT UNSIGNED; #无符号小整型,范围是0~255
    score DOUBLE(4,1) #4代表整体长度,1代表小数的位数
    
    1. 字符串类型
      在这里插入图片描述
    #在使用char和varchar时都需要在其后的()中,写明这个字符串能够存储的最大长度是多长
    
    #char在指定了长度之后,不管你记录了多长的数据,所占用的内存大小都是规定的字节,但是如果存储的内容大于规定的能够存储的最大长度,就会报错
    
    #char中,如果输入的字符的长度小于规定的长度,剩余的部分自动用空格补齐
    
    #varchar不同于char的是它所占的内存的大小是根据其实际内容的长度变化的,但是也不能超过规定的最大长度
    
    #但是这也导致了varchar的性能相对于char来说更差
    
    1. 日期类型在这里插入图片描述
    birthday DATE; #显示时间
    
  1. DDL——表操作——修改
    1. 添加字段
    ALTER TABLE 表名 ADD 字段名 类型(长度) [COMMENT 注释] [约束];
    
    1. 修改数据类型
    ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度)
    
    1. 修改字段名和字段类型
    ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
    
    1. 删除字段
    ALTER TABLE 表名 DROP 字段名;
    
    1. 修改表名
    ALTER TABLE 表名 RENAME TO 新表名;
    
  2. DDL——表操作——删除
    1. 删除表
    DROP TABLE [IF EXISTS] 表名
    
    1. 删除指定表,并重新创建该表
    #表中的数据会被删除,重新创建时按照之前的结构创建
    TRUNCATE TABLE 表名;
    

  1. DML——添加数据
    1. 给指定字段添加数据
    INSERT INTO 表名(字段名1,字段名2,……) VALUES(1,2,……);
    
    1. 给全部字段添加数据
    INSERT INTO 表名 VALUES(1,2,……)
    
    1. 批量添加数据
    #为当前表中指定字段进行赋值
    INSERT INTO 表名(字段名1,字段名2,……) VALUES(1,2,……),(1,2,……),(1,2,……);
    
    #为当前表中所有的字段进行赋值
    INSERT INTO 表名 VALUES(1,2,……),(1,2,……),(1,2,……);
    
    • 注意:
      • 插入数据时,指定的字段顺序需要与值的顺序是一一对应的
      • 字符串和日期型数据应该包含在引号中
      • 插入数据的大小,应该在字段的规定范围内
  2. DML——修改数据
    • 注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据
    UPDATE 表名 SET 字段名1=1,字段名2=2,…… [WHERE 条件];
    
  3. DML——删除数据
    • 注意:
      • DELETE语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据
      • DELETE语句不能删除某一个字段的值(可以用UPDATE)
    DELETE FROM 表名 [WHERE 条件];
    

  1. DQL——语法
SELECT 字段列表
FROM 表明列表
WHERE 条件列表
GROUP BY 分组字段列表
HAVING 分组后条件列表
ORDER BY 排序字段列表
LIMIT 分页参数
  1. DQL——基本查询
    1. 查询多个字段
    SELECT 字段1,字段2,字段3FROM 表名;
    
    SELECT * FROM 表名; #使用了通配符*,查询所有字段
    
    1. 设置别名
    SELECT 字段1 [AS 别名1],字段2 [AS 别名2]FROM 表名;
    
    1. 去除重复记录
    SELECT DISTINCT 字段列表 FROM 表名;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

默示MoS

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

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

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

打赏作者

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

抵扣说明:

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

余额充值