Mysql快速上手一(基础知识、数据模型、数据类型、SQL语句)

article/2023/6/4 14:29:00

文章目录

  • MySQL基础知识
    • 基本概念
    • 本地mysql服务启动与停止
    • 客户端连接mysql
  • 数据模型
    • 关系型数据库
    • 数据模型
  • 数据类型
  • SQL语句
    • DDL
      • 表操作
      • 库操作
    • DML
    • DQL
    • DCL
  • 参考资料
  • 作为笔记,后面会持续更新该方面

在这里插入图片描述

MySQL基础知识

基本概念

本地mysql服务启动与停止

这里的mysq对应的是windows下的服务名称,可能会有所出入

net start mysql 
net stop mysql

也可以直接在服务中,点击选择开启与关闭

客户端连接mysql

windows可以直接使用cmd进行连接本地的mysql,(别忘了配置mysql的全局环境变量)

mysql [-h 127.0.0.1]  [-p 3306] -u root -p 

连接本地的时候直接使用

mysql -u 用户名 -p 

然后输入你的密码即可

数据模型

关系型数据库

概念:建立在关系模型基础上,由多张项目连接的二维表组成的数据库

数据模型

数据类型

  • 数值类型
    在这里插入图片描述
  • 字符串类型
    在这里插入图片描述
  • 日期类型
    在这里插入图片描述

SQL语句

DDL

数据定义语言,用来定义数据库对象(数据库,表,字段)

表操作

  • 添加字段
    ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMIT 注释] [约束];
    
  • 修改字段
    ALTER TABLE 表名 MODIFY 字段名 新数据长度;
    
  • 修改表名
    ALTER TABLE 表名 RENAME TO 新表名
    
    示例:将 person表改为student表
    alter table person rename to student;
    
    • 删除表
    DROP TABLE [ IF EXISTS ] 表名;
    
    示例:
    drop table if exists teachers;
    

库操作

  • 查询所有数据库

    SHOW DATABASE
  • 查询当前数据库

    SELECT DATABASE();
    
  • 创建

    CREATE DATABASE [ IF NOT EXISTS ] 数据库名 [ DEFAUT CHARST 字符集 ] [ COLLATE 排序规则 ] ;
    
  • 删除

    DROP DATABASE[ IF EXISTS ] 数据库名;
    
  • 使用

    USE 数据库名;
    
  • 查询当前数据库所有表

    SHOW TABLES
    
  • 查询表结构

    DESC 表名
    
  • 查询指定表的建表语句

    SHOW CREATE TABLE 表名;
    
  • 创建表

    CREATE TABLE 表名 {字段1 类型 1[ COMMIT 字段1注释 ],字段2 类型 2[ COMMIT 字段2注释 ],
    }
    

    示例:我们创建一个十分简单的教师表teacher

    CREATE TABLE teacher ( id INT COMMENT '唯一编号', NAME VARCHAR ( 50 ) COMMENT '名字', gender VARCHAR ( 10 ) COMMENT '性别' 
    );
    
  • 删除表

    drop table if exists teachers;
    

    删除并重新创建表

    truncate teachers;
    

DML

数据库操作语言,用来对数据库表中的数据进行增删改

  • 表中插入数据
    注意:键值位置要一一对应
    INSERT INTO student ( NAME, age, gender, address )
    VALUES
    ( '测试', 22, '男', '数据库' );
    
    也可以这样写,但是得与表中得顺序一一对应
    INSERT INTO student
    VALUES
    ( 18,'测试', 22, '男', '数据库' );
    
    也可以一次插入多个数据
    INSERT INTO student
    VALUES
    ( 19, '测试', 22, '男', '数据库' ),
    ( 20, '测试', 22, '男', '数据库' ),
    ( 21, '测试', 22, '男', '数据库' );
    
  • 更新数据
    UPDATE student 
    SET NAME = 'uuuuuuu' 
    WHERE
    gender = '男';
    
  • 删除数据
    DELETE 
    FROMstudent 
    WHEREaddress = '数据库';
    

DQL

数据查询语言,用来查询数据库中表的记录
在这里插入图片描述

  • 基本查询

    SELECT NAME 
    FROMstudent;
    

    别名

    SELECT NAME AS'姓名' 
    FROMstudent;
    
  • 条件查询(WHERE)
    在这里插入图片描述

  • 聚合查询 (count、max、min、avg、sum)
    NULL 值不参与计算
    在这里插入图片描述

  • 分组查询 (GROUP BY)
    WHRER和HAVING的区别
    执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
    判断条件不同:where不是对聚合函数进行判断,而having可以

  • 排序查询 (ORDER BY)

    SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
    

    排序方式

    • ASC 升序
    • DESC 降序

    示例:获取年龄相同升序,同龄的按照入职时间降序排列

     	SELECT* FROMemp ORDER BYage ASC,entrydata ASC;
    
  • 分页查询 (LIMIT)

    SELECT * FROM 表名 LIMIT 页数,查询记录数;
    

DCL

数据控制语言,用来创建数据库用户,控制数据库的访问权限

  • 创建用户(仅在本地)
    CREATE USER 'itecast' @localhost IDENTIFIED BY '123456';
    
    任意IP
    CREATE USER 'itecast' @'%' IDENTIFIED BY '123456'
    
    修改用户密码

参考资料

B站黑马视频

作为笔记,后面会持续更新该方面

http://www.ngui.cc/article/show-1007595.html

相关文章

Dubbo--笔记1

Dubbo–笔记1 该笔记为看尚桂谷的视频简单记下的笔记: RPC: [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6Ly611RY-1679724725006)(null)] 上面图中可以看出 影响RPC的因素主要有两个: 建立socket连接(也就是通讯效率)序…

简单linux 下 x64任意地址的inlinehook

背景最近工作需要hook函数,然后实现自己的逻辑,之前都是使用的frida来直接hook,但是这里发现,挂在frida之后对性能影响较大,可能是数十倍的影响,之前一直都没发现。所以这里必须自己实现一个hook参考这里参…

谈谈计算机的本质

依托于我现在浅显的认知,我觉得计算机其实就是在处理两大问题:输入输出(IO)和计算。 输入输出(IO)包括硬件的IO以及网络IO。 计算包括各种算法甚至是现在大火的人工智能。 操作系统是一个超大的基础软件…

@Transactional和synchronized同时使用时的一些问题以及解决

Transactional和synchronized同时使用并不能保证事务一致性背景任何事情都有一个发生背景有个需求【一个业务里面包含多个事务,而且还需要避免其他线程的影响,所幸的是该服务只需要启动单实例,不然还要考虑分布式的影响】我的思路就是用Transactional 和 synchronized来保证事务…

记一次前端cookie冲突,导致同一个浏览器其他系统被踢下线问题分享

背景: 首先我在是公司的一个职能部门,所做的软件主要是服务于公司内部员工使用,员工可以通过工号来进行登录,也可以通过其他方式登录,所以整个公司提供了一个统一身份管理平台来员工身份认证、权限进行集中式的管理,实…

三、Trino406系列 之 客户端

文章目录前言客户端命令行要求条件客户端安装Running the CLITLS/HTTPSJDBC驱动需求条件安装Registering and configuring the driverConnectingConnection parametersParameter reference前言 https://trino.io/docs/current/client/cli.html 客户端是向trino server提交sql查…

华为OD机试题【字符匹配】用 Java 解 | 含解题说明

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典本篇题目:字符匹配 题目 给你一个字符串…

Golang流媒体实战之一:体验开源项目lal

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 关于《Golang流媒体实战》 因为工作需要,开始了流媒体开发学习,于是打算选择一个Go版本的开源流媒体服务器作为学习方向lal是个不错的…

OpenWrt开启IPV6设置教程

OpenWrt配置OpenWrt->网络->接口->全局网络选项->清空!WAN 接口配置1.网络->接口->WAN->高级设置2.不勾选 “使用内置的 IPv6 管理”3.“Obtain IPv6-Address”设置为 自动。LAN 接口设置网络->接口->LAN->高级设置不勾选 “使用内置的 IPv6 管理…

TENER: Adapting Transformer Encoder for Named Entity Recognition 笔记

TENER: Adapting Transformer Encoder for Named Entity RecognitionAbstract(摘要)1 Introduction(介绍)2 Related Work(相关工作)2.1 Neural Architecture for NER(NER 的神经网络架构&#x…