MySQL 笔记

news2024/12/23 9:40:11

文章目录

  • 安装
  • MySQL 语法格式
  • MySQL数据类型
  • 命令
    • 操作数据库
    • CRUD
      • 查询
      • 创建表
      • 删除表
      • 修改表
    • 操作数据
        • 基础查询
        • 条件查询
        • 模糊查询
        • 排序查询
        • 分组查询
        • 分页查询
    • 聚合函数
  • 约束
    • 约束分类

安装

软件安装|macOS下超详细的MySQL安装

MySQL 语法格式

  1. 每条语句以分号;结尾,可以占多行
  2. 不区分大小写,建议关键字大写

MySQL数据类型

在这里插入图片描述

命令

操作数据库

  • 登录:mysql -uroot -p,回车再输入密码即可
    在这里插入图片描述

  • 显示完整数据库:show databases
    在这里插入图片描述

  • 创建数据库:create database 名字;

  • 不可以重复创建,可以用判断:create database if not exists 名字;
    在这里插入图片描述在这里插入图片描述

  • 删除数据库:drop database 名字,同理,可以加if exists判断
    在这里插入图片描述

  • 使用数据库:use 数据库名字;

  • 查看正在使用的数据库:select database();
    在这里插入图片描述

  • 注释:多行注释/* 注释 */;单行注释:-- 注释(必须有空格)或#注释
    在这里插入图片描述

CRUD

查询

  • 查询数据表:show tables必须先进入数据库,才能查询数据库里面的表use 数据库名字
    当前在mysql数据库
  • 查询数据表结构信息desc 数据表名
    在这里插入图片描述

创建表

create table 表名(
	字段名1 数据类型1,
	字段名2 数据类型2,
	字段名3 数据类型3,
	字段名4 数据类型4,
	...	// 最后一行后面没有 ,
);

在这里插入图片描述

删除表

  • drop table 表名,同样可以用if exists避免报错
    在这里插入图片描述

修改表

  • 修改表名:alter table 表名 rename to 新表名;
    在这里插入图片描述
  • 添加一列:alter table 表名 add 列名 数据类型;
    在这里插入图片描述
  • 修改某一列数据类型:alter table 表名 modify 列名 新数据类型
    在这里插入图片描述
  • 修改列名和数据类型:alter table 表名 change 列名 新列名 新数据类型;
    在这里插入图片描述
  • 删除列:alter table 表名 drop 列名;
    在这里插入图片描述

操作数据

  • 查询表的所有数据:select * from 表名;
    在这里插入图片描述

  • 向表中指定列插入一行数据:insert into 表名(列名1, 列名2, ....) values(值1, 值2, ...);
    在这里插入图片描述
  • 向表中所有列添加一行数据,列名可以省略:insert into 表名 values(...);
    在这里插入图片描述
  • 批量添加
    在这里插入图片描述

  • 修改表中某一行数据:UPDATE 表名 SET 列名1=值1, 列名2=值2,... WHERE 条件;(不加条件的话所有行都会被修改)
    在这里插入图片描述

  • 删除某一行数据:delete from 表名 where 条件;(不加条件,全部删除!)
    在这里插入图片描述

基础查询

  • 查询某些列的数据:select 列名1,列名2,... from 表名;;查询所有列,则可以用通配符*代替列名表
    在这里插入图片描述
  • 去除重复的记录查询:select distinct 列名1,... from 表名;
    在这里插入图片描述
  • 将列名打上注释显示出来,查询:select 列名1 as 注释1, ... from 表名;as可以省略)
    在这里插入图片描述

条件查询

  • 大于符号:>
    在这里插入图片描述

  • 表示并且关系:&&或者and
    在这里插入图片描述

  • 表示范围:between ... and ...
    在这里插入图片描述

  • 相等:=(注意不是==!)

  • 不相等:!=<>
    在这里插入图片描述

  • 表示或者关系:||orin ()
    在这里插入图片描述

  • null的比较不可以用=!=,必须使用isis not
    在这里插入图片描述

模糊查询

  • like 条件

条件包括:

  • _匹配单个字符
  • %匹配任意个字符

在这里插入图片描述

排序查询

select 字段列表 from 表名 order by 排序字段名1 排序方式1, ....

ASC:升序,默认
DESC:降序

如果有多个排序条件,那么会依次按照顺序排序,当前面条件相同时,才会根据后面的条件排序

在这里插入图片描述

分组查询

select 字段列表 from 表名 where 分组前条件限定 GROUP BY 分组字段名 having 分组后条件限定
在这里插入图片描述

  • having可以对聚合函数判断,where不可以
  • 执行顺序:where>聚合函数>having

分页查询

select 字段列表 from 表名 LIMIT 起始索引, 查询条数

在这里插入图片描述

聚合函数

概念:将一列数据作为一个整体,进行纵向计算

聚合函数分类:

  1. count(列名):统计数量,不统计null
  2. max(列名)
  3. min(列名)
  4. sum(列名):计算和
  5. avg(列名):平均

聚合函数语法:select 聚合函数名 from 表名

约束

  • 作用于表中列的数据的规则,用于限制表中加入的数据
  • 保证数据的正确性、完整性、有效性

约束分类

  1. NOT NULL:非空约束,保证列中所有数据不是null
  2. UNIQUE:唯一约束,保证列中所有数据不可重复
  3. PRIMARY KEY:主键约束,主键是一行数据的唯一标识,要求非空、唯一
  4. CHECK:检查约束,保证每一列数据都满足一定条件。MySQL不支持检查约束
  5. DEFAULT:默认约束,没有指定值时,采用默认值
  6. FOREIGN KEY:外键约束,让两个表的数据之间建立联系,保证数据一致性和完整性
  • 建表时添加约束
    在这里插入图片描述在这里插入图片描述

  • 建表之后添加默认约束:alter table 表名 alter 列名 set default

  • 删除默认约束:alter table 表名 alyer 列名 drop default

  • 外键约束(创建表时添加,得先有主表):CONSTRAINT 外键名 FOREIGN KEY(从表列表名) REFERENCES 主表名(主表列表名)
    在这里插入图片描述

  • 创建表后添加外键:alter 从表名 add CONSTRAINT 外键名 FOREIGN KEY(从表列表名)REFERENCE 主表名(主表列表名)

  • 创建表后删除外键:alter 从表名 drop 外键名

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/157901.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LeetCode150.逆波兰表达式

LeetCode刷题记录 文章目录&#x1f4dc;题目描述&#x1f4a1;解题思路⌨C代码&#x1f4dc;题目描述 给你一个字符串数组 tokens &#xff0c;表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意 有效的算符为 、-、* 和/。…

如何mock当前类的私有方法

背景 基础知识 mockito单元测试&#xff1a;它的做法是mock掉当前类的所有外部依赖&#xff0c;保障自己的代码没有问题。举个例子&#xff0c;如果数据库查询的语句出了问题&#xff0c;单元测试不会测试出来。因为它直接mock掉了&#xff0c;不会去真的去查数据库。从这点来…

电压放大器在大功率脉冲电能源研究中的应用

实验名称&#xff1a;大功率脉冲电能源高精度测试技术研究 研究方向&#xff1a;仪器仪表测试 测试目的&#xff1a; 传统的测量精度校准的方法是对传感器单一频率下的刻度因子进行校准&#xff0c;校准方法通常选用同轴分流器串联于放电回路中&#xff0c;通过测量同轴分流器两…

Ubuntu18.04下安装mysql并使用QT成功编译驱动方法

开发环境&#xff1a;Ubuntu18.04QT5.14.2MySQL5.7.240 编译步骤&#xff1a; 1、安装mysql软件和驱动&#xff1a; 打开终端命令&#xff0c;执行安装语句如下&#xff1a; sudo apt-get install mysql-server sudo apt-get install mysql-client sudo apt-get install lib…

MyBatisPlus(MP)学习记录(分页查询的开启+日志打印配置)

MP介绍&#xff08;官网链接&#xff09; MyBatis-Plus&#xff08;简称 MP&#xff09;是一个 MyBatis 的增强工具&#xff0c;在 MyBatis 的基础上只做增强不做改变&#xff0c;为简化开发、提高效率而生。 前言 本篇文章展示的MP教学中涉及到的版本如下&#xff1a; IDE…

使用Xshell 将Linux文件下载到本地或者将本地的文件上传到Linux

第一步&#xff1a;在Linux中安装上传下载功能的软件 sudo apt install lrzsz第二步&#xff1a;将Linux文件下载到本地&#xff1a;此时我的Linux桌面上有一个叫test.c的文件&#xff0c;我要将它下载到windows桌面上。 在Linux终端输入&#xff1a; sz test.c这里使用的是…

座舱显示的未来到底是什么?宝马供应商给出了答案

“显示器是汽车的核心人机界面&#xff0c;”业内人士表示&#xff0c;与此同时更智能化、体验更好的显示解决方案在驾驶舱的设计中起着核心作用。 屏幕及其增强驾驶体验的巨大潜力正迅速成为未来智能网联汽车DNA的一部分。高分辨率、大尺寸以及曲面屏、OLED屏等等新元素&…

【手写 Vue2.x 源码】第十九篇 - 根据 vnode 创建真实节点

一&#xff0c;前言 上篇&#xff0c;根据 render 函数&#xff0c;生成 vnode&#xff0c;主要涉及以下几点&#xff1a; 封装 vm._render 返回虚拟节点_s&#xff0c;_v&#xff0c;_c的实现 本篇&#xff0c;根据 vnode 虚拟节点渲染真实节点 二&#xff0c;根据 vnode 创…

SpringCloud项目实例3--Nacos整合

然后新建一个Module&#xff0c;命名为nacos-provider-demo&#xff0c;Java代码的包名为ltd.newbee.cloud。在该Module的pom.xml配置文件中增加parent标签&#xff0c;与上层Maven建立好关系。之后&#xff0c;在这个子模块的 pom.xml 文件中加入Nacos的依赖项 spring-cloud-s…

谈一谈暴露偏差

文章由参考文章重新组合而来。 暴露偏差又叫Exposure Bias&#xff0c;是由Teacher Forcing 导致的。 Teacher Forcing Teacher Forcing 是一种用于序列生成任务的训练技巧&#xff0c;与Autoregressive模式相对应&#xff0c;这里阐述下两者的区别&#xff1a; Autoregres…

【Flink系列】部署篇(一):Flink集群部署

主要回答以下问题&#xff1a; Flink集群是由哪些组件组成的&#xff1f;它们彼此之间如何协调工作的&#xff1f;在Flink中job, task, slots,parallelism是什么意思&#xff1f;集群中的资源是如何调度和分配的&#xff1f;如何搭建一个Flink集群&#xff1f;如何配置高可用服…

目标检测再升级!YOLOv8模型训练和部署

一个不知名大学生&#xff0c;江湖人称菜狗 original author: jacky Li Email : 3435673055qq.com Time of completion&#xff1a;2023.1.12 Last edited: 2023.1.12 目录 目标检测再升级&#xff01;YOLOv8模型训练和部署 简介 YOLOv8创新改进点 区别 1、C2f模块是什么&…

探索与创新:低代码助力金融数字化转型发展

“十四五”规划和 2035 年远景目标纲要提出“加快数字化发展&#xff0c;建设数字中国”&#xff0c;并就打造数字经济新优势、加快数字社会建设步伐、提高数字政府建设水平、营造良好数字生态作出战略部署。这为数字中国的下一步发展指明了方向&#xff0c;提供了指引。可以说…

CentOS环境下Rabbit集群部署

前言本次Rabbit集群部署所使用的的软件版本erlang&#xff1a;erlang-23.3.3-1.el7.x86_64.rpm &#xff0c;rabbitmq&#xff1a;rabbitmq-server-3.8.23-1.el7.noarch.rpm本次Rabbit集群部署需要安装在两台CentOS服务器分别为svr-app-rabbitmq01、svr-app-rabbitmq02&#xf…

Trime同文输入法JNI加载过程

Trime同文输入法JNI加载过程JNI初始化顺序第一步、加载librime_jni.so库第二步、自动注册机制第三步、正式加载librime_jni.so库插入一个话题、简化打印记录第四步、执行Rime.java中的init()方法LoadModules()LoadModule()rime_core_initialize()调用顺序Class不是class关键字&…

3D应用无需下载即点即用,云应用带来更轻量的元宇宙

最近一个程序员朋友告诉我&#xff0c;公司市场部想做一个元宇宙相关的互动游戏&#xff0c;于是给技术团队提了一个带用户线上沉浸式环游园区的H5开发需求。他摸着所剩无几的头发据理力争&#xff1a;这个需求真的做不了&#xff01;我听了很疑惑&#xff0c;现在许多品牌都在…

工作流引擎架构设计

原文链接&#xff1a; 工作流引擎架构设计 最近开发的安全管理平台新增了很多工单申请流程需求&#xff0c;比如加白申请&#xff0c;开通申请等等。最开始的两个需求&#xff0c;为了方便&#xff0c;也没多想&#xff0c;就直接开发了对应的业务代码。 但随着同类需求不断增…

深度学习PyTorch 之 网络结构可视化

深度学习&PyTorch 之 DNN-回归 深度学习&PyTorch 之 DNN-回归&#xff08;多变量&#xff09; 分别介绍了DNN回归的方法和代码&#xff0c;但是模型建立好了&#xff0c;他到底是个什么样子呢&#xff1f; 我们这节给大家介绍一个查看模型结构的方法 可视化介绍 我们…

【信管8.1】项目人力资源管理概念及过程

项目人力资源管理概念及过程不管你做什么事&#xff0c;要成就什么事业&#xff0c;要做什么项目&#xff0c;这一切&#xff0c;都是由人来完成的。因此&#xff0c;人力资源对于项目管理来说&#xff0c;是非常重要的一个管理过程。同时&#xff0c;人力资源管理也是整个管理…

2023/1/11 Web前端Promise从入门到精通

ES6引入的进行异步编程的解决方案&#xff0c;从语法上说它是一个构造函数。 异步编程包括但不限于&#xff1a;文件操作、数据库操作、AJAX、定时器 为什么要用Promise&#xff1f; 之前进行异步编程直接通过回调函数的方式进行&#xff0c;会导致回调地狱。 回调函数&#…