MySQL 学习笔记(借鉴黑马程序员MySQL)

news/2024/4/20 20:07:43/文章来源:https://blog.csdn.net/haobowen/article/details/128668767

MySQL视频课链接

MySQL概述

数据库相关概念

数据库是存储数据的仓库,数据是有组织的进行存储(DataBase)

数据库管理系统是操纵和管理数据库的大型软件(DataBase Management System)

SQL是操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准 (Structured Query Language)

MySQL数据库

关系型数据库(RDBMS)

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

特点:

1. 使用表存储数据,格式统一,便于维护

2. 使用SQL语言操作,标准统一,使用方便

SQL

SQL通用语法

1. SQL语句可以单行或多行书写,以分号结尾。

2. SQL语句可以使用空格/缩进来增强语句的可读性。

3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。

4. 注释:

  • 单行注释:-- 注释内容 或 # 注释内容(MySQL特有)
  • 多行注释:/*注释内容*/

SQL分类

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

DML(Data Manipulation Language)数据操作语言,用来对数据库表中的数据进行增删改

DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录

DCL(Data Control Language)数据控制语言,用来创建数据库用户,控制数据库的访问权限

DDL

  • 查询

查询所有数据库

SHOW DATABASES;

查询当前数据库

SELECT DATABASE0;
  • 创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];
  • 删除
DROP DATABASE [IF EXISTS] 数据库名;
  • 使用
USE 数据库名;

DDL-表操作-查询

  • 查询当前数据库所有表
SHOW TABLES;
  • 查询表结构
DESC 表名;
  • 查询指定表的建表语句
SHOW CREATE TABLE 表名;

DDL-表操作-创建

CREATE TABLE 表名(字段1 字段1类型[COMMENT 学校1注释],字段2 字段2类型[COMMENT 学校2注释],...字段n 字段n类型[COMMENT 学校n注释])[COMMENT 表注释];

DDL-表操作-数据类型

MySQL 中的数据主要分为三类:数值类型、字符串类型、日期时间类型。

  • 数值类型

  • 字符串类型

  • 日期时间类型

DDL-表操作-修改

  • 添加字段
ALTER TABLE 表名 ADD 字段名 类型(长度)[COMMENT 注释] [约束];
  • 修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度);
  • 修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度) [COMMENT 注释] [约束];
  • 删除字段
ALTER TABLE 表名 DROP 字段名;
  • 修改表名
ALTER TABLE 表名 RENAME TO 新表名;
  • 删除表
DROP TABLE [IF EXISTS] 表名;
  • 删除指定表,并重新创建该表
TRUNCATE TABLE 表名;

注意:在删除表时,表中的全部数据也会被删除。

DML

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

DML-添加数据

1. 给指定字段添加数据

INSERT INTO 表名(字段名1, 字段名2, ...) VALUES(值1, 值2, ...);

2. 给全部字段添加数据

INSERT INTO 表名 VALUES (值1, 值2, ...)

3. 批量添加数据

INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...), (值1, 值2, ...);
INSERT INTO 表名 VALUES (值1, 值2, ...), (值1, 值2, ...), (值1, 值2, ...);

注意:

  • 插入数据时,指定的字段顺序需要与值的顺序是一一对应的。
  • 字符串和日期型数据应该包含在引导中。
  • 插入的数据大小,应该在字段的规定范围内。

DML-修改数据

UPDATE 表名 SET 字段名1 = 值1, 字段名2 = 值2, ...[WHERE 条件];

注意:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据。

DML-删除数据

DELETE FROM 表名 [WHERE 条件]

注意:

  • DELET 语句的条件可以有,也可以没有,如果没有条件,则会删除整张表的所有数据。
  • DELET 语句不能删除某一个字段的值(可以使用UPDATE)。

持续更新中~

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

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

_Linux (HTTP协议)

文章目录1. 认识URL2. urlencode和urldecode3. HTTP协议格式3-1. HTTP请求3-1. HTTP响应4. HTTP的方法5. HTTP的状态码6. TTP常见Header7. 最简单的HTTP服务器虽然我们说, 应用层协议是我们程序猿自己定的但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我…

Android问题笔记 - 打开Android Studio先弹出项目选择框

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例 👉关于作者 众所周知,人生是一个漫长的流程,不断克服困难,不断…

【JavaWeb】Servlet基础

文章目录1.Tomcat服务器安装注意事项2.编写WebApp3.BS系统角色和协议4.模拟Servlet4.1模拟sun公司4.2模拟Tomcat服务器4.3模拟WebApp开发者5.开发一个带有Servlet的WebApp5.1创建一个名为crm的项目5.2 在项目中创建一个名为WEB-INF的文件(必须)5.3在WEB-…

MATLAB常用函数-gcf / gca / gco

MATLAB R2019a gcf: 返回当前图像对象的句柄值 语法: h gcf % 返回当前图像的句柄,如果没有图像,则会自动创建一个,然后返回其句柄 gca: 返回当前坐标轴对象的句柄值 语法: h gca % 返回当前图像中的当前坐标…

21_FreeRTOS内存管理

目录 FreeRTOS内存管理 FreeRTOS内存管理算法 内存管理相关API函数介绍 实验源码 FreeRTOS内存管理 在使用FreeRTOS创建任务、队列、信号量等对象的时,一般都提供了两种方法: 动态方法创建 自动地从 FreeRTOS 管理的内存堆中申请创建对象所需的内存,并且在对…

Git学习(1)pro git阅读

目录 目录: 1. 起步 2. Git 基础 3. Git 分支 4. 服务器上的 Git 5. 分布式 Git 第一章 1.3 Git是什么 1.6运行git前的配置 该开源图书网站 Git - Book (git-scm.com) 目录: 1. 起步 1.1 关于版本控制1.2 Git 简史1.3 Git 是什么?1…

卡方检验

一、卡方检验假设检验的一种,以实际观测值与期望值之间的偏离程度,解决是服从某个构成比率和是否具有相关性的问题。其偏离程度决定卡方值的大小,卡方值越小,偏差越小,实际值越趋于符合期望值。二、步骤在显著性为α0.…

Malware Dev 01 - 免杀之 PPID Spoofing 原理解析

写在最前 如果你是信息安全爱好者,如果你想考一些证书来提升自己的能力,那么欢迎大家来我的 Discord 频道 Northern Bay。邀请链接在这里: https://discord.gg/9XvvuFq9Wb我会提供备考过程中尽可能多的帮助,并分享学习和实践过程…

Active Directory管理帮助台

随着组织规模扩大,需要大幅增加Active Directory帮助台指派。随着组织开始在新地点开设办事处,管理员管理所有地点的用户变得极为繁琐。在这样的情况下,帮助台指派需要横跨不同的域以方便多域管理。尝试使用本机AD工具或PowerShell执行帮助台…

守护进程与TCP通讯

目录 一.守护进程 1.1进程组与会画 1.2守护进程 二.创建守护进程 setsid函数: 三. TCP通讯流程 3.1三次握手: 3.2 数据传输的过程 3.3四次挥手 一.守护进程 1.1进程组与会画 进程组:进程组由一个进程或者多个进程组成,每…

springcloud3 Nacos中namespace和group,dataId的联系

一 Namespance和group和dataId的联系 1.1 3者之间的联系 话不多说,上答案,如下图: namespance用于区分部署环境,group和dataId用于逻辑上区分两个目标对象。 二 案例:实现读取注册中心的不同环境下的配置文件 …

如何顺利渡过三月“大考”?ScanV为您献上“通关秘籍”

随着网络安全形势日益复杂、严峻,在重大安全保障事件期间,重要业务系统,尤其是党政机关、国企央企、能源、金融等重要的关基单位更应重视网站及业务系统安全。 临近三月重保季,知道创宇推出“御黑行动-典型案例篇”,以…

王道计算机网络课代表 - 考研计算机 第一章 计算机网络体系结构 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机网络 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!! 关于对 “计算机网络体系结构” 章节知识点总结的十分全面,涵括了《计算机网络…

【大话面试】- Redis 篇-第一篇

【大话面试】- Redis 篇-第一篇 认识 NoSQL SQL VS NoSQL 1️⃣ 结构化(Structured) SQL 的存储格式 NoSQL 从其存储的结构上来看,对于 SQL 数据库而言,我们可以给每一个表的属性添加不同的约束(主键唯一&#xff…

分布式任务处理

分布式任务处理 1. 什么是分布式任务调度 视频上传成功需要对视频的格式进行处理,如何用Java程序对视频进行处理呢?这里有一个关键的需求就是当视频比较多的时候我们如何可以高效处理。 如何去高效处理一批任务呢? 1、多线程 多线程是充…

java易错题锦集系列五

接口中不能有构造方法,抽象类中可以有。抽象类中构造方法作用:初始化抽象类的成员;为继承它的子类使用 定义在同一个包(package)内的类是可以不经过import而直接相互使用 final修饰的方法可以被重载 但不能被重写 从…

线性插值基本原理推导

线性插值基本原理1. 为什么使用线性插值?2. 单线性插值2.1 单线性插值推导3.多线性插值3.1 多线性插值推导注意事项3.2 多线性插值推导3.3 插入坐标越远权重越大1. 为什么使用线性插值? 在深度学习对图片进行上采样和下采样的时候会应用到线性插值 对图…

TypeScript 使用 ES6 解构骚操作

TypeScript 使用 ES6 解构骚操作 文章目录TypeScript 使用 ES6 解构骚操作一、TypeScript 对象解构二、TypeScript 函数参数解构四、参考资料💘五、推荐博文🍗一、TypeScript 对象解构 我们都知道 ES6 的数据解构功能很强大,一行命令就能够声…

TypeScript 常用知识

「 推荐一个学习 ts 基础的专栏,满满的干货:typeScript 」 1、为什么推荐使用 TypeScript 【】ts 是 js 的超集,包含 js 的所有元素 【】ts 通过对代码进行类型检查,可以帮助我们避免在编写 js 时经常遇到令人痛苦的错误 【】强…

云端IDE系列教程7:解决 WeTTY 在 Ubuntu 非 root 用户不能运行的问题

原文作者:行云创新技术总监 邓冰寒 概述 上一期在使用官方容器镜像快速成功地在 TitanIDE 运行起来了 WeTTY,但是不适合开发人员使用,而我自己编译构建出来的容器镜像无法直接运行指定的应用(/bin/bash 或 /bin/zsh)&…