[MySQL从入门到精通]SQL语句

news2024/11/28 19:03:37

前言

本期主要的学习目标是SQl语句中的DDL和DML实现对数据库的操作和增删改功能,学习完本章节之后需要对SQL语句手到擒来。

1.SQL语句基本介绍 

SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。它允许用户在数据库中存储、修改和检索数据,并与关系型数据库进行交互。SQL最初是由IBM公司开发的,现在已成为一种国际标准,并被广泛应用于各种类型的数据库管理系统,如MySQL、Oracle、Microsoft SQL Server等。

简单来说就是用来通过写SQL语句来控数据库的相关操作 。

1.1SQL语法格式规则

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

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

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

1.2注释 

单行注释:--注释内容 或#注释内容(MySQL特有

多行注释:/* 注释内容*/

2.MySQL数据库数据类型

我们学习SQL语句之前需要了解MySQL的数据类型。

包括三大种类型:数值类型、字符串类型、日期类型

3.SQL分类 

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

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

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

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

 接下来我们对这四类SQL语句进行逐一讲解。

3.1 DDL 数据定义语句

数据库操作

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

查询

查询数据库

show databases;

查询当前数据库

select databases();

创建

Create database[if not exists] 数据库名[default charset字符集][collate 排序规则];

[]框中的内容不是不需要写的。

删除

Drop database[if exists]数据库名;

使用

use 数据库名;

数据表操作 

查询

查询数据库所有的表

show tables;

查询表结构

desc 表名;

查询指定表的建表语句

show create table 表名;

表结构的创建语法

Create table 表名(

字段1 字段1类型[comment 字段1 注释],

字段2 字段2类型[comment 字段2 注释],

字段n 字段n类型[comment 字段n 注释])[comment 表注释];

修改表 

添加字段

Alter table 表名 add 字段名 类型(长度) [comment 注释][约束];

修改数据类型

Alter table 表名 modify 字段名 新类型数据长度(长度);

修改字段名和字段类型

Alter table 表名 change 旧字段名 新字段名 类型(长度) [comment 注释] [约束];

删除字段

Alter table 表名 drop 字段名;

 修改表名

Alter table 表名 rename to 新表名;

删除表

Alter table 表名 rename to 新表名;

删除指定的表,并重新创建该表

不是正真的删除表,只是删除表中的数据。

Truncate table 表名;

3.2 DML 数据操作语句 完成增删改

增加数据 insert

修改数据 updata

删除数据 delete

给指定字段添加数据

Insert into 表名(字段名1,字段名2,字段名3) values(值1,值2);

给全部字段添加数据

Insert into 表名(字段名1,字段名2,…..) values (值1,值2),(值1,值2),(值1,值2);
Insert into 表名 values (值1,值2),(值1,值2);

插入数据时,指定的字段顺序需要与值的顺序一一对应

字符串和日期型数据应该包括在引号中

插入的数据大小,应该在字段的规定范围内

修改数据 update

Update 表名 set 字段名1=值1,字段名2=值2,…… [where=条件];

删除数据

Delete from 表名 [where 条件];

Delete 语句的条件可以有 ,也可以没有,如果没有则会删除整个表所有的数据。

delete语句不能删除某一个字段的值(可以使用update)。


下期我们主要讲解的是DQLDCL语句的学习,在数据库中使用最多的语句就是DOL即数据库查询语句。期待我们下期再见!

 

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

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

相关文章

弄清楚Node.js的功能特性、运行时、组成和发展趋势分析以及与JavaScript的区别

目录 Node.js介绍 Node.js的作用和功能特性 Node.js应用场景 运行时是什么 Node.js的组成 1. V8引擎 2. 本地(核心)模块 3. 标准库 Node.js的发展趋势 总结 Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,使JavaScript可以…

CAD配置绘图环境

绘图时拥有自己的设置是非常重要的 我们可以用不同的颜色区分线条、用特殊的注释格式使自己理解更方便 这些功能需要我们在绘图之前完成对设计环境的配置,主要体现在图层的设置上 首先新建一个窗口 在命令行输入LA 或者在菜单栏点击图层特性 就能打开图层特性管…

【一起啃书】《机器学习》第八章 集成学习

文章目录 第八章 集成学习8.1 个体与集成8.2 Boosting8.3 Bagging与随机森林8.4 结合策略8.5 多样性 第八章 集成学习 8.1 个体与集成 集成学习通过构建并结合多个学习器来完成学习任务,有时也被称为多分类器系统、基于委员会的学习等,下面是集成学习的…

网格搜索:Python遍历网格中每个点

遍历网格中每个点 1. 问题描述2. Python实现2.1 网格参数初始化2.2 遍历赋值2.3 矩阵赋值1. 问题描述 最近需要实现一个对矩阵赋值并对矩阵表示的网格参数进行测试的任务,假设网格的长宽均为k,待搜索的两个参数是Pitch 和 Yaw,存在两个列表中。现在需要将网格上不同参数设置…

什么情形下应该使用BFF?带你了解BFF的优势,即服务于前端的后端

BFF简介 BFF是一种Web架构,全名为Backends For Frontends,即为服务于前端的后端。这个词来源于Sam Newman的一篇文章:Pattern: Backends For Frontends。BFF一般指的是在前端与后端之间加增加一个中间层。为什么要在前端和后端之间增加一个B…

Python潮流周刊#5:并发一百万个任务要用多少内存?

△点击上方“Python猫”关注 ,回复“1”领取电子书 你好,我是猫哥。这里记录每周值得分享的 Python 及通用技术内容,部分为英文,已在小标题注明。(标题取自其中一则分享,不代表全部内容都是该主题&#xff…

oc 安装 demo 版本

版本 demo 版本用于学习;推荐订阅版本,个人商用,3.0 以下有破解,4.0 据说没有破解版本企业版,企业商用版本。 demo 版本用于学习 demo 安装需要 下载地址 oc安装 官方文档 https://docs.otoy.com/cinema4d/Instal…

Java并发体系-第四阶段-AQS源码解读(有时间就了解一下)

可重入锁 /*** 可重入锁:* 1、可重复可递归调用的锁,在外层使用锁之后,在内层仍然可以使用,并且不发生死锁,这样的锁就叫做可重入锁。* 2、是指在同一个线程在外层方法获取锁的时候,再进入该线程的内层方法会自动获取锁…

【Java多线程进阶】死锁

前言 死锁(Deadlock)是指两个或多个线程在执行过程中,因争夺资源而造成的一种互相等待的现象,如果不提前预防或外界干扰,这些线程将无法执行下去。因此,本篇博文讲解造成死锁的原因以及解决方案。 目录 1.…

7.条件渲染

目录 1 wx:if 2 wx:elif 3 wx:else 4 block标签配合条件渲染 5 hidden 1 wx:if wx:if 与 v-if 的运行方式相同,都是 删除与创建元素(不是display:none) 2 wx:elif 3 wx:else 4 block标签配合条件渲染 我们现在有一个view套view的页面 现在我不想有外…

Executor框架的两级调度模型

Executor框架的两级调度模型 在HotSpot VM的线程模型中Java线程(java.lang.Thread)被一对一映射为本地操作系统线程。Java线程启动时会创建一个本地操作系统线程;当该Java线程终止时,这个操作系统线程也会被回收。操作系统会调度…

网络io、io多路复用select/poll/epoll、基于事件驱动的reactor

一、网络IO请求 网络I/O请求是指在计算机网络中,向其他主机或服务器发送请求或接收响应的操作。这些请求可以包括获取网页、下载文件、发送电子邮件等。网络I/O请求需要使用合适的协议和通信方式来进行数据传输,例如HTTP、FTP、SMTP等。 要完成一个完整…

【SSH】在VScode远程开发 使用SSH远程连接服务器

文章目录 前言视频教程1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 转…

实训小总结

1. Web概述 1.1 Web和JavaWeb的概念 Web是全球广域网,也成为万维网,能够通过浏览器访问网站。 在我们日常的生活中,经常会使用浏览器去访问 百度 、 京东 、等这些网站,这些网站统称为Web网站。我们知道了什么是Web,…

超详细的HTML学习笔记:语法特点、骨架结构、基本标签及其属性(附代码示例)

作者想先说一点废话:这篇文章是作者通过学习动力节点、黑马程序员的两套不同的THML课程整理出的学习笔记,融合了两套课程的知识点,耗费了372行代码(加代码注释),希望能帮到大家。HTML只是前端学习的开端&am…

【Redis】聊一下Redis切片集群的原理

背景 在分布式领域中,为了提高系统的稳定性,一般会采用数据复制/镜像的方式,同时部署多个相同功能的节点提供服务,也就是A B C存储的相同的数据。有一个主节点提供读写服务,另外两个节点进行数据的复制,在…

chatgpt赋能python:Python去重-如何高效地处理重复数据

Python去重 - 如何高效地处理重复数据 在数据处理过程中,重复数据可能会导致很多问题,如降低计算效率、影响数据质量等。因此,数据去重是一个非常重要的任务,特别是在大数据处理中更是如此。Python作为一种流行的编程语言&#x…

make xxx_deconfig过程

在uboot中,所写的shell脚本:mx6ull_alientek_emmc.sh的内容如下: #!/bin/bash2 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- distclean3 make ARCHarm CROSS_COMPILEarm-linux-gnueabihf- mx6ull_14x14_ddr512_emmc_defconfig4 make V1…

[数据结构习题]队列——用栈实现队列

[数据结构习题]队列——用栈实现队列 👉知识点导航💎:【数据结构】栈和队列 👉[王道数据结构]习题导航💎: p a g e 85.3 page85.3 page85.3 本节为栈和队列的综合练习题 题目描述: &#x1f…