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);
- 修改列名和类型
alter table student change name st_name varchar(10);
- 删除列
alter table student drop dept;
- 修改表名
rename table student to st;
DML
- 数据操作
- 插入数据
insert into student values(1, '鲁思豪', 21, '男'), (2, '撒刀锋战士', 18, '男'), (3, '发送端', 17, '女'), (4, '问啊发大水', 38, '男'), (5, '雨课堂', 27, '女'), (6, '当然土豪', 5, '女'), (7, '首都儿', 25, '女'), (8, '饿死认同感', 24, '男'), (9, '散热通过', 31, '女'), (10, '色让他', 22, '男');
- 删除数据(id小于4的数据)
delete from student where id < 4;
- 更新数据
update student set name = '谢谢小星星' where id = 4;
- 约束
- 主键约束(primary key) PK: 唯一加非空
创建时加上:[constraint pk1] primary key(字段1,字段2)
创建好后,使用
ALTER TABLE student ADD PRIMARY KEY (id);
删除主键约束:
ALTER TABLE student DROP PRIMARY KEY;
- 自增长约束(auto_increment): 实现主键的自增长
在创建表时在primary key后加auto_increment
设置开始值:在create的括号后加auto_increment = min, 或在创建表结束后使用ALTER TABLE student auto_increment = min
delete删除数据后,自增长从最后一个值基础上增长,turncate删除数据后,自增长从默认开始值增长 - 非空约束(not null)
– 创建表时加not null,或
ALTER TABLE student MODIFY name VARCHAR(10) NOT NULL;
删除约束
ALTER TABLE student MODIFY name VARCHAR(10);
- 唯一性约束(unique)
创建表时加unique, 或
ALTER TABLE student ADD CONSTRAINT unique_pn unique(id);
删除唯一约束
ALTER TABLE student DROP INDEX unique_pn;
- 默认约束(default)
创建表时加default ‘默认值’,或
ALTER TABLE student MODIFY dept VARCHAR(10) DEFAULT 'sdas';
删除默认约束
ALTER TABLE student MODIFY dept VARCHAR(10) DEFAULT NULL;
- 零填充约束(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实现“单词反转”
问题: 随便输出一个字符串 String str "45abc,defg"; 里面含有 abc,de,fg 三个单词 怎么处理能让单词反转,其他顺序不变呢 输出 “45cba,edgf”; 解答思路: 以下是使用 Java 实现的单词反转程序:…...
【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 数据库定义语言(DDL…...
接口测试 —— 如何设计高效的测试用例!
摘要: 随着互联网应用的日益复杂化,接口测试已成为保证软件质量不可或缺的一部分。本文将探讨如何有效地设计接口测试用例,并提供实用的建议和示例。 一、引言 接口测试(API测试)是确保系统各部分之间交互正确性的关键…...
linux top命令介绍以及使用
文章目录 介绍 top 命令1. top 的基本功能2. 如何启动 top3. top 的输出解释系统概况任务和 CPU 使用情况内存和交换空间进程信息 4. 常用操作 总结查看逻辑CPU的个数查看系统运行时间 介绍 top 命令 top 是一个在类 Unix 系统中广泛使用的命令行工具,用于实时显示…...
必备资源!精选大模型领域100篇必读论文,赶紧加入收藏夹!
本文主要为当前大模型领域热门研究方向(如文生图、文生视频、文生音乐等)的热门论文。希望能够为大家提供较为全面的大模型最新研究进展。当然,目前还无法涵盖所有热门论文以及研究方向,望请见谅。 以下,为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题题目:农作物的种植策略 思路可以参考我主页之前的文章 以下均为python代码,推荐用anaconda中的notebook当作编译环境 from gurobipy import Model import pandas as pd import gurobipy as g…...
Java基础 - 14 - Java高级技术
一.单元测试 就是针对最小的功能单元(方法),编写测试代码对其进行正确性测试 1.1 Junit单元测试框架 可以用来对方法进行测试,它是第三方公司开源出来的(很多开发工具已经集成了Junit框架,如IDEAÿ…...
glsl着色器学习(六)
准备工作已经做完,下面开始渲染 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智能监管方案如何重塑食品卫生安全防线
一、方案背景 近年来,食品安全问题频发,引发了社会各界的广泛关注。其中,毒枸杞事件尤为引人关注。新闻报道,在青海格尔木、甘肃靖远等地,部分商户为了提升枸杞的品相,违规使用焦亚硫酸钠和工业硫磺进行“…...
git进阶·团队开发的时候为何要创建临时分支来修复bug
若在团队开发中,突然遇到一个功能性bug,你会怎么使用git来管理分支呢? 在近些年来,团队工作的经验中,我总结出来的是,最好是先创建一个临时分支来修复bug,修复好后,再合并到主分支或…...
Unity 性能优化工具收集
本文地址:https://blog.csdn.net/t163361/article/details/141809415 Unity原始工具 UPR 官方 UPR UPR桌面端解决方案,减轻测试设备性能压力,使测试过程更加顺畅。提供CLI用于自动化测试系统对接。 PerformanceBenchmarkReporter Unity 性…...
linux下的Socket网络编程教程
套接字概念 Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作…...
华为人工智能重要服务总结
一,视觉智能服务 一,图像识别服务 1.媒资图像标签服务 媒资素材管理,内容推荐广告营销等 2.图像描述服务 融合计算机视觉,自然语言处理和多模态技术,对输入图像进行画面内容描述 3.主体识别服务 像主体识别能检测出…...
涉嫌欺诈者利用机器人通过播放AI创作的音乐赚取1000万美元版税
北卡罗莱纳州的一名男子因涉嫌上传数十万首由AI生成的歌曲到流媒体服务平台,并使用机器人播放数十亿次而面临诈骗指控。自2017年以来,Michael Smith据称通过这一方式获得了超过1000万美元的版税收入。更多详情 现年52岁的Smith于周三被逮捕。同一天公布…...
k8s helm
k8s Helm 是Kubernetes的包管理工具,类似于Linux系统中常用的apt、yum等包管理工具。Helm通过定义、安装和升级Kubernetes应用程序来简化Kubernetes应用部署的复杂性。以下是对k8s Helm的详细解析: 一、Helm的基本概念 Chart:Chart是Helm的…...
KMP 详解
KMP数组存的是什么 对于一个字符串 b,下标从1开始。 则kmp[i]表示 以i结尾的连续子串 s的前缀的最大值(等价于前缀最大结尾处) 如何求KMP 假设 i 以前的KMP都被求出来了。 j 表示上一个字符可以成功匹配的长度(等价于下标) …...
go语言并发编程-超详细mutex解析
文章目录 1 go语言并发编程学习-mutex1.1 学习过程1.2 如何解决资源并发访问的问题?【基本用法】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 自动安装脚本
概览 相较于原脚本(安装目录/UnattendedTemplates/debian_pressed.cfg)更新如下内容: 配置清华镜像源配置仅主机网卡(后续只需添加仅主机网卡即可)配置Root用户远程登录配置用户sudo组 脚本 debian_pressed.cfg ##…...
【OSG学习笔记】Day 18: 碰撞检测与物理交互
物理引擎(Physics Engine) 物理引擎 是一种通过计算机模拟物理规律(如力学、碰撞、重力、流体动力学等)的软件工具或库。 它的核心目标是在虚拟环境中逼真地模拟物体的运动和交互,广泛应用于 游戏开发、动画制作、虚…...
智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制
在数字化浪潮席卷全球的今天,数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具,在大规模数据获取中发挥着关键作用。然而,传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时,常出现数据质…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
CSS3相关知识点
CSS3相关知识点 CSS3私有前缀私有前缀私有前缀存在的意义常见浏览器的私有前缀 CSS3基本语法CSS3 新增长度单位CSS3 新增颜色设置方式CSS3 新增选择器CSS3 新增盒模型相关属性box-sizing 怪异盒模型resize调整盒子大小box-shadow 盒子阴影opacity 不透明度 CSS3 新增背景属性ba…...
链式法则中 复合函数的推导路径 多变量“信息传递路径”
非常好,我们将之前关于偏导数链式法则中不能“约掉”偏导符号的问题,统一使用 二重复合函数: z f ( u ( x , y ) , v ( x , y ) ) \boxed{z f(u(x,y),\ v(x,y))} zf(u(x,y), v(x,y)) 来全面说明。我们会展示其全微分形式(偏导…...
统计学(第8版)——统计抽样学习笔记(考试用)
一、统计抽样的核心内容与问题 研究内容 从总体中科学抽取样本的方法利用样本数据推断总体特征(均值、比率、总量)控制抽样误差与非抽样误差 解决的核心问题 在成本约束下,用少量样本准确推断总体特征量化估计结果的可靠性(置…...
Springboot 高校报修与互助平台小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,高校报修与互助平台小程序被用户普遍使用,为…...
STL 2迭代器
文章目录 1.迭代器2.输入迭代器3.输出迭代器1.插入迭代器 4.前向迭代器5.双向迭代器6.随机访问迭代器7.不同容器返回的迭代器类型1.输入 / 输出迭代器2.前向迭代器3.双向迭代器4.随机访问迭代器5.特殊迭代器适配器6.为什么 unordered_set 只提供前向迭代器? 1.迭代器…...
多模态学习路线(2)——DL基础系列
目录 前言 一、归一化 1. Layer Normalization (LN) 2. Batch Normalization (BN) 3. Instance Normalization (IN) 4. Group Normalization (GN) 5. Root Mean Square Normalization(RMSNorm) 二、激活函数 1. Sigmoid激活函数(二分类&…...
旋量理论:刚体运动的几何描述与机器人应用
旋量理论为描述刚体在三维空间中的运动提供了强大而优雅的数学框架。与传统的欧拉角或方向余弦矩阵相比,旋量理论通过螺旋运动的概念统一了旋转和平移,在机器人学、计算机图形学和多体动力学领域具有显著优势。这种描述不仅几何直观,而且计算…...
