当前位置: 首页 > news >正文

MySQL学习(DDL,DML,DQL)基本语法总结

DDL

  • 使用某个数据库
use world;
  • 展示表
show tables;
  • 创建表
 create table student(id int,name varchar(10),age int,gender varchar(10));
  • 删除表
drop table student; 
  • 修改表结构
  1. 查看表结构
  desc student;
  1. 添加列
  alter table student add dept varchar(10);
  1. 修改列名和类型
  alter table student change name st_name varchar(10);
  1. 删除列
  alter table student drop dept;
  1. 修改表名
  rename table student to st;

DML

  • 数据操作
  1. 插入数据
insert into student values(1, '鲁思豪', 21, '男'), (2, '撒刀锋战士', 18, '男'), (3, '发送端', 17, '女'), (4, '问啊发大水', 38, '男'), (5, '雨课堂', 27, '女'), (6, '当然土豪', 5, '女'), (7, '首都儿', 25, '女'), (8, '饿死认同感', 24, '男'), (9, '散热通过', 31, '女'), (10, '色让他', 22, '男'); 
  1. 删除数据(id小于4的数据)
  delete from student where id < 4;
  1. 更新数据
  update student set name = '谢谢小星星' where id = 4;
  • 约束
  1. 主键约束(primary key) PK: 唯一加非空
    创建时加上:[constraint pk1] primary key(字段1,字段2)
    创建好后,使用
ALTER TABLE student ADD PRIMARY KEY (id);

删除主键约束:

ALTER TABLE student DROP PRIMARY KEY;
  1. 自增长约束(auto_increment): 实现主键的自增长
    在创建表时在primary key后加auto_increment
    设置开始值:在create的括号后加auto_increment = min, 或在创建表结束后使用ALTER TABLE student auto_increment = min
    delete删除数据后,自增长从最后一个值基础上增长,turncate删除数据后,自增长从默认开始值增长
  2. 非空约束(not null)
    – 创建表时加not null,或
 ALTER TABLE student MODIFY name VARCHAR(10) NOT NULL;

删除约束

ALTER TABLE student MODIFY name VARCHAR(10);
  1. 唯一性约束(unique)
    创建表时加unique, 或
ALTER TABLE student ADD CONSTRAINT unique_pn unique(id); 

删除唯一约束

ALTER TABLE student DROP INDEX unique_pn;
  1. 默认约束(default)
    创建表时加default ‘默认值’,或
ALTER TABLE student MODIFY dept VARCHAR(10) DEFAULT 'sdas';

删除默认约束

 ALTER TABLE student MODIFY dept VARCHAR(10) DEFAULT NULL;
  1. 零填充约束(zerofill): 插入数据是,当该字段的长度小于定义长度时,会在该值前面补0,zerofill默认为int(10)
    创建表时加zerofill
    删除零填充约束:ALTER TABLE student MODIFY ‘字段’

DQL

  • 查询数据
select id, name from student;
  • 别名
	-- 表别名SELECT * FROM student AS p;-- 列别名SELECT id AS '编号', name AS '名字' FROM student;
  • 去掉重复值
    SELECT DISTINCT age FROM student;SELECT DISTINCT * FROM student;
  • 运算查询
    SELECT name, age +10 FROM student;
  • 过滤
    select * from student where age > 20;
  • 模糊匹配
    SELECT * FROM student where name LIKE '%发%'; -- %匹配任意字符SELECT * FROM student where name LIKE '_思%'; -- _匹配任意字符
  • least和greatest
    SELECT LEAST(10, 5, 20) AS min_number;  -- 最小值SELECT GREATEST(10,20,30) AS max_number;  -- 最大值
  • 分组聚合
select gender, avg(age), sum(age), max(age), min(age), count(*) from student group by gender; -- 分组后的结果筛选  havingSELECT gender, avg(age), sum(age), max(age), min(age), count(*) FROM student GROUP BY gender HAVING AVG(age) > 22;
  • 排序
    select * from student where age > 20 order by age asc;select * from student where age > 20 order by age desc;
  • 分页
    select * from student limit 5; # 限制取5条数据select * from student limit 9, 5; # 跳过10条取5条数据
  • INSERT INTO SELECT语句
    INSERT INTO student SELECT * FROM stu;INSERT INTO student(id, name, age) SELECT id, name, age FROM stu;
  • 正则表达式
    -- ^ 在开头进行匹配SELECT 'abcdefg' REGEXP '^a'; -- 1-- $ 在结尾匹配SELECT 'grfdgsrte' REGEXP 'e$'; -- 1-- . 匹配任意单个字符(除了换行符)SELECT 'asdasf' REGEXP '.s';  -- 1SELECT 'asdasf' REGEXP 'a.';  -- 1SELECT 'asdasf' REGEXP '.f';  -- 1-- [...] 匹配括号内任意单个字符SELECT 'zsfrsdfr' REGEXP '[abc]'; -- 0SELECT 'faredfarews' REGEXP '[ared]'; -- 1-- [^...] 匹配括号内任意字符之外的字符SELECT 'a' REGEXP '[^abc]'; -- 0SELECT 'x' REGEXP '[^abc]'; -- 1SELECT 'abc' REGEXP '[^a]'; -- 1-- a* 匹配0个或多个a,包括空字符串,可以作为占位符用,有没有指定字符都可以匹配到数据SELECT 'stab' REGEXP '.ta*b'; -- 1SELECT 'stb' REGEXP '.ta*b';  -- 1SELECT '' REGEXP 'a*'; -- 1-- a+ 匹配1个或多个a,不包括空字符串SELECT 'stab' REGEXP '.ta+b'; -- 1SELECT 'stb' REGEXP '.ta+b';  -- 0SELECT '' REGEXP 'a+'; -- 0-- a? 匹配0个或1个aSELECT 'stab' REGEXP '.ta?b'; -- 1SELECT 'stb' REGEXP '.ta?b';  -- 1SELECT 'staab' REGEXP '.ta?b'; -- 0-- a1|a2 匹配a1或a2SELECT 'a' REGEXP 'a|b';  -- 1SELECT 'bc' REGEXP 'a|b';  -- 1SELECT 'c' REGEXP 'a|b';  -- 0-- a{m} 匹配m个aSELECT 'abbba' REGEXP 'ab{3}a'; -- 1SELECT 'abbba' REGEXP 'ab{4}a'; -- 0-- a{m,} 匹配m个或更多aSELECT 'abbbbbbba' REGEXP 'ab{2,}a'; -- 1-- a{m, n} 匹配m到n个aSELECT 'abbbbba' REGEXP 'ab{2,7}a'; -- 1SELECT 'aba' REGEXP 'ab{2,7}a';  -- 0 

相关文章:

MySQL学习(DDL,DML,DQL)基本语法总结

DDL 使用某个数据库 use world;展示表 show tables;创建表 create table student(id int,name varchar(10),age int,gender varchar(10));删除表 drop table student; 修改表结构 查看表结构 desc student;添加列 alter table student add dept varchar(10);修改列名和类型…...

JAVA学习-练习试用Java实现“单词反转”

问题&#xff1a; 随便输出一个字符串 String str "45abc,defg"; 里面含有 abc&#xff0c;de&#xff0c;fg 三个单词 怎么处理能让单词反转&#xff0c;其他顺序不变呢 输出 “45cba,edgf”; 解答思路&#xff1a; 以下是使用 Java 实现的单词反转程序&#xff1a…...

【MySQL】深圳大学数据库实验一

目录 一、实验目的 二、实验要求 三、实验设备 四、建议的实验步骤 4.1 使用SQL语句创建如上两张关系表 4.2 EXERCISES. 1 SIMPLE COMMANDS 4.3 EXERCISES 2 JOINS 4.4 EXERCISES 3 FUNCTIONS 4.5 EXERCISES 4 DATES 五、实验总结 5.1 数据库定义语言&#xff08;DDL…...

接口测试 —— 如何设计高效的测试用例!

摘要&#xff1a; 随着互联网应用的日益复杂化&#xff0c;接口测试已成为保证软件质量不可或缺的一部分。本文将探讨如何有效地设计接口测试用例&#xff0c;并提供实用的建议和示例。 一、引言 接口测试&#xff08;API测试&#xff09;是确保系统各部分之间交互正确性的关键…...

linux top命令介绍以及使用

文章目录 介绍 top 命令1. top 的基本功能2. 如何启动 top3. top 的输出解释系统概况任务和 CPU 使用情况内存和交换空间进程信息 4. 常用操作 总结查看逻辑CPU的个数查看系统运行时间 介绍 top 命令 top 是一个在类 Unix 系统中广泛使用的命令行工具&#xff0c;用于实时显示…...

必备资源!精选大模型领域100篇必读论文,赶紧加入收藏夹!

本文主要为当前大模型领域热门研究方向&#xff08;如文生图、文生视频、文生音乐等&#xff09;的热门论文。希望能够为大家提供较为全面的大模型最新研究进展。当然&#xff0c;目前还无法涵盖所有热门论文以及研究方向&#xff0c;望请见谅。 以下&#xff0c;为2024年2月份…...

基于STM32设计的防盗书包(华为云IOT)(216)

文章目录 一、前言1.1 项目介绍【1】开发背景【2】项目实现的功能【3】项目硬件模块组成1.2 设计思路【1】整体设计思路【2】整体构架【3】上位机开发思路1.3 项目开发背景【1】选题的意义【2】可行性分析【3】参考文献【4】摘要【5】项目背景1.4 开发工具的选择【1】设备端开发…...

2024高教社杯全国大学生数学建模竞赛C题原创python代码

2024高教社杯全国大学生数学建模竞赛C题原创python代码 C题题目&#xff1a;农作物的种植策略 思路可以参考我主页之前的文章 以下均为python代码&#xff0c;推荐用anaconda中的notebook当作编译环境 from gurobipy import Model import pandas as pd import gurobipy as g…...

Java基础 - 14 - Java高级技术

一.单元测试 就是针对最小的功能单元&#xff08;方法&#xff09;&#xff0c;编写测试代码对其进行正确性测试 1.1 Junit单元测试框架 可以用来对方法进行测试&#xff0c;它是第三方公司开源出来的&#xff08;很多开发工具已经集成了Junit框架&#xff0c;如IDEA&#xff…...

glsl着色器学习(六)

准备工作已经做完&#xff0c;下面开始渲染 gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);gl.clearColor(0.5, 0.7, 1.0, 1.0); gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);gl.enable(gl.DEPTH_TEST); gl.enable(gl.CULL_FACE);设置视口 gl.viewport(0,…...

毒枸杞事件启示录:EasyCVR视频AI智能监管方案如何重塑食品卫生安全防线

一、方案背景 近年来&#xff0c;食品安全问题频发&#xff0c;引发了社会各界的广泛关注。其中&#xff0c;毒枸杞事件尤为引人关注。新闻报道&#xff0c;在青海格尔木、甘肃靖远等地&#xff0c;部分商户为了提升枸杞的品相&#xff0c;违规使用焦亚硫酸钠和工业硫磺进行“…...

git进阶·团队开发的时候为何要创建临时分支来修复bug

若在团队开发中&#xff0c;突然遇到一个功能性bug&#xff0c;你会怎么使用git来管理分支呢&#xff1f; 在近些年来&#xff0c;团队工作的经验中&#xff0c;我总结出来的是&#xff0c;最好是先创建一个临时分支来修复bug&#xff0c;修复好后&#xff0c;再合并到主分支或…...

Unity 性能优化工具收集

本文地址&#xff1a;https://blog.csdn.net/t163361/article/details/141809415 Unity原始工具 UPR 官方 UPR UPR桌面端解决方案&#xff0c;减轻测试设备性能压力&#xff0c;使测试过程更加顺畅。提供CLI用于自动化测试系统对接。 PerformanceBenchmarkReporter Unity 性…...

linux下的Socket网络编程教程

套接字概念 Socket本身有“插座”的意思&#xff0c;在Linux环境下&#xff0c;用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。与管道类似的&#xff0c;Linux系统将其封装成文件的目的是为了统一接口&#xff0c;使得读写套接字和读写文件的操作…...

华为人工智能重要服务总结

一&#xff0c;视觉智能服务 一&#xff0c;图像识别服务 1.媒资图像标签服务 媒资素材管理&#xff0c;内容推荐广告营销等 2.图像描述服务 融合计算机视觉&#xff0c;自然语言处理和多模态技术&#xff0c;对输入图像进行画面内容描述 3.主体识别服务 像主体识别能检测出…...

涉嫌欺诈者利用机器人通过播放AI创作的音乐赚取1000万美元版税

北卡罗莱纳州的一名男子因涉嫌上传数十万首由AI生成的歌曲到流媒体服务平台&#xff0c;并使用机器人播放数十亿次而面临诈骗指控。自2017年以来&#xff0c;Michael Smith据称通过这一方式获得了超过1000万美元的版税收入。更多详情 现年52岁的Smith于周三被逮捕。同一天公布…...

k8s helm

k8s Helm 是Kubernetes的包管理工具&#xff0c;类似于Linux系统中常用的apt、yum等包管理工具。Helm通过定义、安装和升级Kubernetes应用程序来简化Kubernetes应用部署的复杂性。以下是对k8s Helm的详细解析&#xff1a; 一、Helm的基本概念 Chart&#xff1a;Chart是Helm的…...

KMP 详解

KMP数组存的是什么 对于一个字符串 b,下标从1开始。 则kmp[i]表示 以i结尾的连续子串 s的前缀的最大值&#xff08;等价于前缀最大结尾处&#xff09; 如何求KMP 假设 i 以前的KMP都被求出来了。 j 表示上一个字符可以成功匹配的长度&#xff08;等价于下标&#xff09; …...

go语言并发编程-超详细mutex解析

文章目录 1 go语言并发编程学习-mutex1.1 学习过程1.2 如何解决资源并发访问的问题&#xff1f;【基本用法】1.2.1 并发访问带来的问题1.2.1.1 导致问题的原因 1.2.2 race detector检查data race1.2.3 mutex的基本实现机制以及使用方法1.2.3.1 具体使用-11.2.3.1 具体使用-2 1 …...

VirtualBox Debian 自动安装脚本

概览 相较于原脚本&#xff08;安装目录/UnattendedTemplates/debian_pressed.cfg&#xff09;更新如下内容&#xff1a; 配置清华镜像源配置仅主机网卡&#xff08;后续只需添加仅主机网卡即可&#xff09;配置Root用户远程登录配置用户sudo组 脚本 debian_pressed.cfg ##…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...

汇编常见指令

汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX&#xff08;不访问内存&#xff09;XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...

爬虫基础学习day2

# 爬虫设计领域 工商&#xff1a;企查查、天眼查短视频&#xff1a;抖音、快手、西瓜 ---> 飞瓜电商&#xff1a;京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空&#xff1a;抓取所有航空公司价格 ---> 去哪儿自媒体&#xff1a;采集自媒体数据进…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

算法:模拟

1.替换所有的问号 1576. 替换所有的问号 - 力扣&#xff08;LeetCode&#xff09; ​遍历字符串​&#xff1a;通过外层循环逐一检查每个字符。​遇到 ? 时处理​&#xff1a; 内层循环遍历小写字母&#xff08;a 到 z&#xff09;。对每个字母检查是否满足&#xff1a; ​与…...